Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
待办大师
v1.0.0用于本地待办管理的技能,支持基于 Python CLI 和 SQLite 存储待办;首次必须由用户确认数据目录(默认使用当前 skill 目录下的 data,或指定一个已存在的绝对路径);支持添加待办、快速添加今日/明日待办、查看今日待办、按状态/优先级/关键字筛选查看全部待办、查看单条、更新、完成、重开、归档,...
⭐ 0· 65·0 current·0 all-time
byTQQ@asir-zhang
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
SKILL.md and scripts/todo.py consistently describe a Python CLI using SQLite for storage (config.json + todos.sqlite3). However, the included TECH_SPEC.md/INTRO.md repeatedly describe a JSON-monthly-file based storage/index.json design. This mismatch between the technical spec and the actual implementation is an incoherence: either the docs are stale or the implementation diverged. Also the default data directory is inside the skill directory (skill_root/data) which means the skill may write files next to its code unless the user explicitly chooses an external absolute path.
Instruction Scope
Runtime instructions are narrowly scoped to running the CLI and initializing a data directory; they explicitly require user confirmation of the data directory and instruct agents to use the CLI (not to edit DB directly). No instructions ask the agent to access unrelated files, env vars, or network endpoints. The only scope issue is the guidance to default to a data directory under the skill folder — agents or users should be careful which path they confirm.
Install Mechanism
No install spec or external downloads are present; the package is instruction/code-only and relies on the Python standard library. This is low-risk from an install/remote-code-fetch perspective.
Credentials
The skill requests no environment variables, no credentials, and no config paths beyond writing/reading its own config.json and a data directory chosen by the user. That is proportionate to a local todo manager.
Persistence & Privilege
always:false and normal autonomous invocation are used. The skill will write config.json into its skill_root and create the chosen data directory (default is skill_root/data) and a SQLite DB there. This level of persistence is normal for a local storage skill, but users should confirm and control the data directory path before initialization.
What to consider before installing
This skill appears to be a local Python CLI that stores todos in a SQLite DB and does not attempt network access or request secrets — that's good. However:
- The included TECH_SPEC/INTRO docs describe a JSON-monthly-file storage model while the script implements SQLite; ask the publisher which storage format is authoritative or assume the implementation (todo.py) is the source of truth. Stale or mismatched docs are a sign to be cautious.
- During first run you must explicitly confirm the data directory. Do NOT accept the default unless you want data written inside the skill's installation directory. Prefer specifying an absolute path under your home directory (e.g., /home/you/.local/share/todo-skill or C:\Users\You\todo-data) to avoid permission surprises and accidental writes to system locations.
- Inspect scripts/todo.py yourself (or run it in an isolated environment/container) before giving it persistent access. The code included appears to only read/write local files and use SQLite, but you should verify no unexpected network or shell execution calls exist in the full file.
- Make backups of any existing data you care about before running init or migrations (the script can migrate legacy JSON data into SQLite and could change file formats).
If you need absolute confidence, ask the publisher to clarify the storage design (JSON files vs SQLite) and provide a signed release or more detailed changelog; otherwise run in a sandboxed environment and point the tool at a safe absolute data directory.Like a lobster shell, security has layers — review code before you run it.
latestvk970mzgszrh64j172hwhp1sv9x83ced8
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
