可信 — 风险评分 5/100
上次扫描:9 小时前 重新扫描
5 /100
security-audit
Comprehensive security auditing for Clawdbot deployments
合法的 Clawdbot 安全审计工具,声称功能与实际行为高度一致,无阴影功能或凭证外泄
技能名称security-audit
分析耗时43.6s
引擎pi
可以安装
可直接使用。建议确认 allowedTools 声明包含 filesystem:READ、filesystem:WRITE、shell:READ 以覆盖实际使用的 fs 读取、chmod 和 ss/netstat 命令。

安全发现 2 项

严重性 安全发现 位置
低危
SKILL.md 声明与实际实现有轻微偏差 文档欺骗
SKILL.md 声称'No external dependencies required. Uses native system tools where available',但实际使用 Node.js 脚本(execSync、fs、path、crypto)。这是轻微文档瑕疵,execSync 调用的是 native system tools(ss、netstat、git),不属于危险行为。
No external dependencies required. Uses native system tools where available.
→ 将文档改为准确描述:'使用 Node.js 内置模块(fs、path、crypto)和系统工具(ss/netstat、git)'
SKILL.md:1
低危
硬编码路径 /root/clawd 导致扫描范围超出声明 权限提升
代码中硬编码了 CLAWDBOT_DIR=/root/clawd 和 CONFIG_DIR=/root/clawd/skills/.env,将扫描范围限制在特定路径。虽然这可能是安全工具的合理设计,但若允许用户通过参数指定路径会更有弹性。
const CLAWDBOT_DIR = '/root/clawd';
const CONFIG_DIR = '/root/clawd/skills/.env';
→ 考虑通过命令行参数允许用户指定扫描目标目录
scripts/audit.cjs:12
资源类型声明权限推断权限状态证据
文件系统 NONE READ+WRITE ✓ 一致 scripts/audit.cjs:1 实际使用 fs.readFileSync 读取文件,fs.chmodSync 修改权限,fs.writeFileSync…
命令执行 NONE READ ✓ 一致 scripts/audit.cjs:137 execSync 调用 ss/netstat 和 git 命令,属于 system tool 范畴
环境变量 NONE READ ✓ 一致 未使用 os.environ,代码仅通过 fs 读取配置文件
网络访问 NONE NONE 无任何网络请求,无外部通信
凭证窃取 CREDENTIALS scan READ (in scope) ✓ 一致 scripts/audit.cjs:91-125 仅在 /root/clawd 范围内扫描,无外传

目录结构

3 文件 · 17.8 KB · 608 行
JavaScript 1f · 505L Markdown 1f · 102L JSON 1f · 1L
├─ 📁 scripts
│ └─ 📜 audit.cjs JavaScript 505L · 15.2 KB
├─ 📋 _meta.json JSON 1L · 134 B
└─ 📝 SKILL.md Markdown 102L · 2.4 KB

安全亮点

✓ 凭证扫描逻辑严谨:使用正则匹配 API key、secret token、私钥、URL 凭证等多种模式
✓ 凭证检测结果仅输出到控制台,不外传网络请求
✓ 权限修复功能合理:自动将敏感文件权限设置为 0o600
✓ auto-fix 创建 .gitignore 是标准安全实践
✓ Dockerfile 检查涵盖 USER、--privileged、HEALTHCHECK 等关键项
✓ Git 历史检查防止凭证在提交历史中泄露
✓ 递归扫描正确排除 node_modules 和 .git 目录
✓ 全代码扫描使用分级策略(keyFiles 用 CRITICAL,正则更宽泛;其他文件用 HIGH/MEDIUM),避免过度告警