安全决策报告
wip-readme-format
合法的 README 格式化工具,存在已文档化的 deploy 模式命令注入风险,建议使用 --dry-run 模式规避
为什么得出这个结论
0/4 个维度触发 通过
声明与实际能力
声明资源与推断能力基本一致。
复核
隐藏执行与外联
提取到 4 个一般风险产物,需要结合上下文判断。
通过
攻击链与高危发现
没有形成明确的恶意路径。
通过
依赖与供应链卫生
依赖结构存在,但暂未看到明显高危告警。
风险分是怎么被拉高的
deploy 模式存在命令注入风险 +15
execSync 直接拼接文件名到 git 命令,SKILL.md 已承认
文件修改和删除能力 +5
--deploy 模式可重写 README.md 和 TECHNICAL.md,但有备份机制
文档透明度 +-5
SKILL.md 明确标注了风险,属于已知缺陷而非隐藏威胁
最关键的证据
中危 代码执行
Deploy 模式存在命令注入风险
execSync 直接拼接 README-init 文件名到 git status 命令,如果文件名包含特殊字符(如 `"` 或 shell 元字符)可能导致命令注入。开发者已在 SKILL.md 中承认此风险。
format.mjs:296 使用 --dry-run 或 --check 模式代替 --deploy;避免对来源不明的仓库使用 --deploy
低危 权限提升
文件删除和覆盖能力
--deploy 模式会删除 README-init-* 文件并覆盖 README.md、 TECHNICAL.md。虽然有备份机制(保存到 ai/_trash/),但仍属于高权限操作。
format.mjs:318 确保已 review 所有 README-init-* 文件后再执行 --deploy
提示 文档欺骗
skill-card.md 与 SKILL.md 风险描述不一致
SKILL.md 的 Known Risks 部分详细描述了 shell 命令注入风险,但 skill-card.md 的 Known Risks and Mitigations 重复了该描述,格式略有不同。这不是安全问题但影响可读性。
skill-card.md vs SKILL.md 确保风险描述在所有文档中保持一致
声明能力 vs 实际能力
文件系统 通过
声明 WRITE
→ 推断 WRITE
SKILL.md 声明写入 README.md,代码实现 writeFileSync 命令执行 通过
声明 NONE
→ 推断 READ
format.mjs:296 使用 execSync 执行 git 命令 网络访问 通过
声明 NONE
→ 推断 NONE
无网络请求代码 环境变量 通过
声明 NONE
→ 推断 NONE
无环境变量遍历 credential_access 通过
声明 NONE
→ 推断 NONE
无凭证收割代码 可疑产物与外联
中危 外部 URL
https://img.shields.io/badge/interface-$ format.mjs:82
中危 外部 URL
https://img.shields.io/badge/Universal_Interface_Spec-black?style=flat&color=black format.mjs:506
中危 外部 URL
https://clawhub.ai/user/parkertoddbrooks skill-card.md:7
中危 外部 URL
https://clawhub.ai/parkertoddbrooks/wip-readme-format skill-card.md:27
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| node:fs | built-in | Node.js | 否 | 标准库 |
| node:path | built-in | Node.js | 否 | 标准库 |
| node:child_process | built-in | Node.js | 否 | 标准库,仅在 deploy 模式动态导入 |
文件构成
6 个文件 · 791 行
JavaScript 1 个文件 · 597 行Markdown 3 个文件 · 174 行JSON 2 个文件 · 20 行
需关注文件 · 2
format.mjs Deploy 模式存在命令注入风险 · 文件删除和覆盖能力 · https://img.shields.io/badge/interface-$ · https://img.shields.io/badge/Universal_Interface_Spec-black?style=flat&color=black
skill-card.md https://clawhub.ai/user/parkertoddbrooks · https://clawhub.ai/parkertoddbrooks/wip-readme-format
其他文件 · SKILL.md · README.md · package.json · _meta.json
安全亮点
代码结构清晰,无混淆或隐蔽行为
SKILL.md 主动披露了安全风险,体现了开发者透明度
提供 --dry-run 模式允许安全预览
有备份机制(ai/_trash/),可恢复误操作
功能单一,代码量适中(597 行),可审计性良好
无恶意依赖,package.json 干净