T01 · Skill Instruction Hijacking
- Location
docs/auto-send-guide.md:45- Finding
Generated Reports May Be Sent to a Hard-Coded OpenIM Group
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly matches a public news/intelligence collector, but it also documents sending reports to a fixed external group and optional browser-session cookie use that are not adequately scoped or disclosed.
Review before installing. Keep it in manual mode first, inspect the source URLs, do not enable browser-cookie social integrations unless you understand the account risk, replace the hard-coded message recipient with your own confirmed destination, and avoid unattended cron runs until dependencies are pinned and URL boundaries are enforced.
docs/auto-send-guide.md:45Generated Reports May Be Sent to a Hard-Coded OpenIM Group
docs/social-media-setup.md:31Optional Social-Media Setup Requests Browser Cookies and Authenticated Session Tokens
tools/check_dependencies.py:101Headless Execution Automatically Installs Unpinned Python Dependencies
tools/sources_manager.py:342Unvalidated Source URLs Permit Requests to Internal or Local Services
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
# 重新初始化
rm data/intelligence_sources.db
python3 data/import_sources.py
The skill's declared purpose omits dependency inspection, environment validation, and especially automatic package installation via pip. Undisclosed package installation materially increases attack surface because execution can modify the environment and pull code from package registries, which is a significant capability beyond passive intelligence collection.
The skill's declared purpose omits dependency inspection, environment validation, and especially automatic package installation via pip. Undisclosed package installation materially increases attack surface because execution can modify the environment and pull code from package registries, which is a significant capability beyond passive intelligence collection.
The skill's declared purpose omits dependency inspection, environment validation, and especially automatic package installation via pip. Undisclosed package installation materially increases attack surface because execution can modify the environment and pull code from package registries, which is a significant capability beyond passive intelligence collection.
The skill's declared purpose omits dependency inspection, environment validation, and especially automatic package installation via pip. Undisclosed package installation materially increases attack surface because execution can modify the environment and pull code from package registries, which is a significant capability beyond passive intelligence collection.
The skill's declared purpose omits dependency inspection, environment validation, and especially automatic package installation via pip. Undisclosed package installation materially increases attack surface because execution can modify the environment and pull code from package registries, which is a significant capability beyond passive intelligence collection.
The skill's declared purpose omits dependency inspection, environment validation, and especially automatic package installation via pip. Undisclosed package installation materially increases attack surface because execution can modify the environment and pull code from package registries, which is a significant capability beyond passive intelligence collection.
The skill's declared purpose omits dependency inspection, environment validation, and especially automatic package installation via pip. Undisclosed package installation materially increases attack surface because execution can modify the environment and pull code from package registries, which is a significant capability beyond passive intelligence collection.
The skill's declared purpose omits dependency inspection, environment validation, and especially automatic package installation via pip. Undisclosed package installation materially increases attack surface because execution can modify the environment and pull code from package registries, which is a significant capability beyond passive intelligence collection.
The troubleshooting guidance includes a destructive shell command that deletes the SQLite database file. In an agent or copy-paste execution context, destructive commands in documentation are dangerous because they can cause irreversible local data loss and may be executed automatically or without sufficient user understanding.
rm data/intelligence_sources.db
python3 data/import_sources.py
The README includes a directly executable destructive shell command, rm data/intelligence_sources.db, as a troubleshooting step. Even though it is not dynamically injected input, this is still dangerous operational guidance: users may copy-paste it and irreversibly delete the primary local database, causing denial of service and potential permanent data loss if backups are missing or stale.
ls -la data/intelligence_sources.db
rm data/intelligence_sources.db python data/import_sources.py
This markdown file consistently presents the skill interface, prompts, examples, and usage guidance only in Chinese. Under the policy rule for natural-language violations, forcing a specific language without user opt-in or documented justification is a reportable issue.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
# 配置 cron(每日早上 8 点)
crontab -e
# 添加以下行
0 8 * * * cd ~/.clawhub/skills/designer-intelligence-station && ./execute_daily.sh
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
# 监控出站连接(Linux)
sudo netstat -tnp | grep python
# 或使用更详细的工具
sudo tcpdump -i any -n port 80 or port 443
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
# 监控出站连接(Linux)
sudo netstat -tnp | grep python
# 或使用更详细的工具
sudo tcpdump -i any -n port 80 or port 443
The skill documents shell execution, local file reads/writes, and live network fetching, but does not declare an explicit tool scope such as permissions or allowed-tools. That makes the operational boundary ambiguous and can lead an agent runtime to grant broader capabilities than users expect, especially given the auto-install and scheduled execution features.
The manifest declares only zh under languages, and the rest of the skill instructions are presented exclusively in Chinese. This appears to impose a language/locale constraint without an explicit user opt-in or a documented region-specific justification, which matches the policy-violation criteria for language restrictions.
The skill instructs users to install a cron job for unattended recurring execution. Persistent scheduled execution increases risk because any future compromise, dependency issue, or source-side malicious content can be repeatedly fetched and processed without fresh user review.
# 配置每日早上 8 点运行
crontab -e
# 添加:0 8 * * * cd ~/.clawhub/skills/designer-intelligence-station && ./execute_daily.sh
The troubleshooting guidance instructs users to delete the SQLite database and recreate it, but it does not prominently warn that any locally added sources, runtime state, or unsaved changes may be lost unless a valid backup exists. In a skill centered on local data storage, destructive recovery steps are more dangerous because operators may run them during incidents when they are less likely to verify backup integrity first.
The summary states this is a Chinese-enhanced trading framework, explicitly constraining the skill description to Chinese without any accompanying opt-in or justification in this file. Under the stated policy, forcing a specific language is a natural-language policy concern unless the locale choice or rationale is clearly documented.
This JSON manifest-like file contains natural-language descriptions, so SQP-3 applies. The summary at L062 advertises real-time human pose estimation, vital sign monitoring, and presence detection, which is a sensitive surveillance-oriented capability presented without any user opt-in, consent framing, or contextual limitation.
This is a JSON manifest-like file, so vague-trigger checks apply. The phrase "researches any topic" is overly broad and does not define activation boundaries, exclusions, or contextual limits, which could contribute to unintended invocation in a skill-discovery or routing context.
This JSON file is a manifest-like data file, so SQP-3 applies to its natural-language fields. The summary explicitly advertises human pose estimation, vital sign monitoring, and presence detection, which are privacy-sensitive monitoring capabilities, but the text provides no indication of user choice, consent, or a justified locale/compliance context.
The manifest describes a designer-intelligence collector focused on 46 public sources in AI, hardware, mobile, and design. This cached RSS data includes general consumer shopping/deals content about robot vacuums, which does not fit those stated categories and suggests the implemented collection scope is broader than advertised.
The manifest claims a designer intelligence collection tool with topic coverage limited to AI, hardware, mobile, and design. This entry tracks Netflix subscription pricing, which is general entertainment business news and not an obvious implementation detail of the declared purpose.
No suspicious patterns detected.