安全决策报告

clawhub-security-scan

安全扫描工具存在未声明的系统交互和硬编码凭证示例,意图看似良性但代码质量存在问题

安装决策优先 来源: ClawHub 扫描时间: 2026/4/3
文件 5
IOC 2
越权项 3
发现 4
最直接的威胁证据

为什么得出这个结论

2/4 个维度触发
阻止
声明与实际能力

发现 3 项声明之外的能力或越权行为。

阻止
隐藏执行与外联

提取到 1 个高危 IOC 或外联信号。

通过
攻击链与高危发现

没有形成明确的恶意路径。

复核
依赖与供应链卫生

没有完整依赖信息,供应链判断需要保留弹性。

风险分是怎么被拉高的

未声明的网络请求 +15

代码使用urllib调用skillpay.me API但SKILL.md未声明

未声明的环境变量访问 +10

代码读取SKILLPAY_API_KEY但文档未提及

subprocess模块使用未声明 +5

代码导入subprocess用于模式检测但文档未提及

代码包含硬编码凭证示例 +10

review.py:24 包含示例凭证文本'secretkeyhere123'

最关键的证据

中危

未声明的网络外部通信

代码通过urllib向skillpay.me API发送计费请求,但SKILL.md未声明此外部通信行为

scripts/scan.py:22
在SKILL.md中明确声明:本技能会调用skillpay.me API进行计费
中危

未声明的环境变量访问

代码读取SKILLPAY_API_KEY环境变量用于API认证,但SKILL.md未声明此环境变量依赖

scripts/scan.py:43
在SKILL.md中声明:本技能需要SKILLPAY_API_KEY环境变量
低危

代码包含凭证示例文本

review.py文档字符串中包含'secretkeyhere123'作为反面教材示例,虽非真实密钥但属不良实践

scripts/review.py:24
移除代码中的凭证示例,改用占位符如'<YOUR_API_KEY>'
低危

MEDIUM_RISK_PATTERNS覆盖自身

代码的高危模式列表(eval/exec/subprocess等)会触发自身扫描结果,用户运行扫描时可能看到误报

scripts/scan.py:56
在扫描时自动排除scripts/目录自身,或在文档中说明扫描工具自身会被标记

声明能力 vs 实际能力

文件系统 阻止
声明 NONE
推断 READ
scripts/scan.py:scan_file() 逐行读取目标文件
网络访问 阻止
声明 NONE
推断 READ
scripts/scan.py:skillpay_charge() 调用skillpay.me API
环境变量 阻止
声明 NONE
推断 READ
scripts/scan.py:43 读取SKILLPAY_API_KEY
命令执行 通过
声明 NONE
推断 READ
scripts/scan.py:import subprocess 仅用于检测模式,非实际执行

可疑产物与外联

高危 API 密钥
api_key = "secretkeyhere123"

scripts/review.py:24

中危 外部 URL
https://skillpay.me/api/v1

scripts/precheck.py:24

依赖与供应链

没有结构化依赖告警。

文件构成

5 个文件 · 847 行
Python 3 个文件 · 769 行Markdown 1 个文件 · 73 行JSON 1 个文件 · 5 行
需关注文件 · 3
scripts/scan.py Python · 472 行
未声明的网络外部通信 · 未声明的环境变量访问 · MEDIUM_RISK_PATTERNS覆盖自身
scripts/precheck.py Python · 196 行
https://skillpay.me/api/v1
scripts/review.py Python · 101 行
代码包含凭证示例文本 · api_key = "secretkeyhere123"
其他文件 · SKILL.md · _meta.json

安全亮点

功能看似良性:提供代码安全扫描服务
使用标准库实现,无第三方依赖风险
无实际恶意行为(无凭证外泄、无远程代码执行)
代码结构清晰,意图是帮助开发者而非攻击
高危模式检测逻辑合理,包含常见CVE模式