T09 · Insecure Skill Coding Practices
- Location
scripts/skill_checker.py:56- Finding
Incomplete File Coverage Can Produce a False-Safe Skill Assessment
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a security-vetting checklist and helper script with no evidence of hidden execution, exfiltration, persistence, or destructive behavior.
Install only if you want a Chinese-oriented skill-vetting workflow. Treat the Python helper as a quick triage aid, not a complete security scanner; follow the documented full review of all files before trusting any skill it checks.
scripts/skill_checker.py:56Incomplete File Coverage Can Produce a False-Safe Skill Assessment
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
## 第二阶段:代码安全审查
### 3. 危险模式检查 (立即拒绝如果发现)
- [ ] **下载并执行**: `curl | bash`, `wget | sh`
- [ ] **远程代码执行**: `eval()`, `exec()` 带外部输入
- [ ] **数据外传**: 发送数据到外部服务器
- [ ] **凭证访问**: 读取SSH密钥、API密钥、密码文件
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
## 第二阶段:代码安全审查
### 3. 危险模式检查 (立即拒绝如果发现)
- [ ] **下载并执行**: `curl | bash`, `wget | sh`
- [ ] **远程代码执行**: `eval()`, `exec()` 带外部输入
- [ ] **数据外传**: 发送数据到外部服务器
- [ ] **凭证访问**: 读取SSH密钥、API密钥、密码文件
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).
- [ ] **数据外传**: 发送数据到外部服务器
- [ ] **凭证访问**: 读取SSH密钥、API密钥、密码文件
- [ ] **系统修改**: 修改系统文件、crontab、启动项
- [ ] **权限提升**: `sudo`, `chmod 777`, `setuid`
- [ ] **混淆代码**: base64编码、压缩、混淆
### 4. 权限范围评估
The skill describes and embeds capabilities that imply file reading, shell execution, and network access, but it does not declare an explicit tool scope in metadata. This creates an avoidable transparency and least-privilege gap: an operator cannot easily verify whether the skill's runtime permissions are appropriately constrained before use.
This markdown file contains prominent user-facing instructions and description text in Chinese, but it does not indicate that language selection is optional or that the skill is intended only for a Chinese-speaking audience. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
• Installs packages without listing them
• Network calls to IPs instead of domains
• Obfuscated code (compressed, encoded, minified)
• Requests elevated/sudo permissions
• Accesses browser cookies/sessions
• Touches credential files
─────────────────────────────────────────
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
curl -s "https://api.github.com/repos/OWNER/REPO/contents/skills/SKILL_NAME" | jq '.[].name'
curl -s "https://raw.githubusercontent.com/OWNER/REPO/main/skills/SKILL_NAME/SKILL.md"
### 3. 使用审查清单
This markdown file presents all instructions and review criteria exclusively in Chinese, with no indication that the skill is intended only for a Chinese-speaking audience and no user opt-in for language selection. Under the policy for natural-language violations, forcing a specific language without user choice can be a locale-policy issue.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- [ ] **数据外传**: 发送数据到外部服务器
- [ ] **凭证访问**: 读取SSH密钥、API密钥、密码文件
- [ ] **系统修改**: 修改系统文件、crontab、启动项
- [ ] **权限提升**: `sudo`, `chmod 777`, `setuid`
- [ ] **混淆代码**: base64编码、压缩、混淆
### 4. 权限范围评估
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
python3 /root/.openclaw/skills/skill-vetter/scripts/skill_checker.py /path/to/skill
# 检查GitHub仓库信息
curl -s "https://api.github.com/repos/owner/repo" | jq '.stargazers_count, .forks_count, .updated_at'
# 列出技能文件
find /path/to/skill -type f -name "*.py" -o -name "*.sh" -o -name "*.js"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
python3 /root/.openclaw/skills/skill-vetter/scripts/skill_checker.py /path/to/skill
# 检查GitHub仓库信息
curl -s "https://api.github.com/repos/owner/repo" | jq '.stargazers_count, .forks_count, .updated_at'
# 列出技能文件
find /path/to/skill -type f -name "*.py" -o -name "*.sh" -o -name "*.js"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
python3 /root/.openclaw/skills/skill-vetter/scripts/skill_checker.py /path/to/skill
# 检查GitHub仓库信息
curl -s "https://api.github.com/repos/owner/repo" | jq '.stargazers_count, .forks_count, .updated_at'
# 列出技能文件
find /path/to/skill -type f -name "*.py" -o -name "*.sh" -o -name "*.js"
The file content is entirely in Chinese, starting with the title at L01, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking audience. Under the stated policy, forcing a specific language without opt-in is a natural-language policy concern.
This code presents its docstrings, status messages, errors, and CLI usage in Chinese only, which imposes a specific language on users without any opt-in or fallback. The policy explicitly calls for flagging language or locale constraints when the skill does not offer a user choice or clearly justify the restriction.
No suspicious patterns detected.