安全决策报告

wip-readme-format

合法的 README 格式化工具,存在已文档化的 deploy 模式命令注入风险,建议使用 --dry-run 模式规避

安装决策优先 来源: ClawHub 扫描时间: 2026/6/24
文件 6
IOC 4
越权项 0
发现 3

为什么得出这个结论

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 JavaScript · 597 行
Deploy 模式存在命令注入风险 · 文件删除和覆盖能力 · https://img.shields.io/badge/interface-$ · https://img.shields.io/badge/Universal_Interface_Spec-black?style=flat&color=black
skill-card.md Markdown · 41 行
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 干净