扫描报告
40 /100
clawhub-security-scan
Pre-publish security scan for ClawHub skills - Scans code for patterns that might trigger automatic suspicious flagging and gives fixing suggestions.
A ClawHub security-scanning tool with a hardcoded example credential in review.py that contradicts its own security advice, and undeclared external API calls to skillpay.me for billing.
谨慎使用
Remove the hardcoded string 'secretkeyhere123' from review.py:24 and replace with a clearly-labeled placeholder comment. Document the skillpay.me billing API calls in SKILL.md's external APIs section. Consider whether billing integration belongs in a security-scanning tool.
安全发现 3 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 高危 | Hardcoded high-entropy string contradicts security advice | scripts/review.py:24 |
| 中危 | Undeclared external API calls to skillpay.me | scripts/scan.py:64 |
| 中危 | Billing charge on every invocation requires --user-id | scripts/scan.py:156 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | READ | ✓ 一致 | SKILL.md documents reading sensitive files as what the tool scans FOR |
| 网络访问 | READ | WRITE | ✗ 越权 | scan.py:64, precheck.py:36 — POSTs to skillpay.me/api/v1 not declared in SKILL.m… |
| 环境变量 | NONE | READ | ✗ 越权 | scan.py:72, precheck.py:44 — reads SKILLPAY_API_KEY from os.environ |
| 命令执行 | NONE | NONE | — | No subprocess/shell execution found in codebase |
1 高危 2 项发现
高危 API 密钥 疑似硬编码凭证
api_key = "secretkeyhere123" scripts/review.py:24 中危 外部 URL 外部 URL
https://skillpay.me/api/v1 scripts/precheck.py:24 目录结构
5 文件 · 32.4 KB · 851 行 Python 3f · 769L
Markdown 1f · 73L
JSON 1f · 9L
├─
▾
scripts
│ ├─
precheck.py
Python
│ ├─
review.py
Python
│ └─
scan.py
Python
├─
_meta.json
JSON
└─
SKILL.md
Markdown
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
urllib (stdlib) | N/A | stdlib | 否 | Standard library only, no external package dependencies |
安全亮点
✓ Skill actively detects and warns against the very patterns it exhibits (credential hardcoding, eval/exec, sensitive file access) — shows awareness of security best practices
✓ No subprocess/shell execution found anywhere in the codebase
✓ No sensitive file access (~/.ssh, /etc/passwd, etc.) in the skill's own code
✓ No base64 decode, eval(), or __import__ tricks found
✓ No data exfiltration or credential theft
✓ SKILL.md comprehensively documents what patterns it scans for, reducing user surprise
✓ The skill's core scanning logic (scan.py) is well-structured with clear risk categorization