安全决策报告

agency-monthly-close-free

代账月结交付技能包为合法的本地财务核对工具,核心代码无恶意行为,仅存在权限声明宽泛(声明Bash但未使用)和文档未提及商业推广逻辑的轻微瑕疵。

安装决策优先 来源: ClawHub 扫描时间: 2026/9/18
文件 32
IOC 7
越权项 1
发现 3

为什么得出这个结论

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

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

阻止
隐藏执行与外联

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

通过
攻击链与高危发现

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

复核
依赖与供应链卫生

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

风险分是怎么被拉高的

权限声明宽泛 +10

SKILL.md声明Bash但代码未使用shell执行,实际只需filesystem:READ

文档未完全披露商业逻辑 +10

run.mjs包含付费引导逻辑(打印到stdout),SKILL.md未提及此功能

最关键的证据

低危 权限提升

权限声明宽泛

SKILL.md声明allowed-tools包含Bash(shell:WRITE),但代码中无任何shell执行调用。实际只需filesystem:READ即可完成功能。

SKILL.md:12
建议将allowed-tools收窄为仅Read,避免权限声明超出实际需要。
低危 文档欺骗

商业推广逻辑未在文档中声明

run.mjs在结果后打印付费引导信息(console.log A/B选项),但SKILL.md未提及此商业推广行为。虽然有SKILL_NO_UPSELL环境变量可关闭,但仍属于文档-行为差异。

scripts/run.mjs:347
在SKILL.md明确说明存在付费推广逻辑及关闭方式。
提示 敏感访问

读取会话标识环境变量

run.mjs读取DSH_SESSION_ID/SESSION_ID/CLAUDE_SESSION_ID用于去重提示,不涉及凭证外泄。

scripts/run.mjs:327
此为正常的用户体验优化,非安全风险。

声明能力 vs 实际能力

文件系统 通过
声明 READ
→
推断 READ
scripts/run.mjs:43 仅使用fs.readFileSync读取用户材料
命令执行 阻止
声明 WRITE
→
推断 NONE
声明Bash但代码无child_process/exec/spawn调用
网络访问 通过
声明 NONE
→
推断 NONE
代码无fetch/http/https/net/dns/tls,SKILL.md:10明确'不联网'

可疑产物与外联

高危 IP 地址
110.40.221.75

SKILL.md:124

中危 外部 URL
https://skillpay.alipay.com/public/tokendidi

SKILL.md:111

中危 外部 URL
https://chenqg618.github.io/compliance-skills/buy.html

SKILL.md:112

中危 外部 URL
https://skillpay.alipay.com/buildguide.md

SKILL.md:119

中危 外部 URL
http://110.40.221.75/buy/agency-monthly-close

SKILL.md:124

中危 外部 URL
http://110.40.221.75/buy/agency-monthly-close?format=json

SKILL.md:125

中危 外部 URL
http://110.40.221.75/buy/agency-monthly-close?go=1

SKILL.md:125

依赖与供应链

没有结构化依赖告警。

文件构成

32 个文件 · 8846 行
JavaScript 30 个文件 · 8686 行Markdown 1 个文件 · 157 行JSON 1 个文件 · 3 行
需关注文件 · 1
scripts/run.mjs JavaScript · 368 行
商业推广逻辑未在文档中声明 · 读取会话标识环境变量
其他文件 · 01.js · sample.json · 03.js · 03.js · agency-monthly-close.js · 01.js +5

安全亮点

代码完全本地执行,核心逻辑无网络请求
无凭证收割、环境变量遍历或敏感文件访问
无代码混淆、eval或动态代码执行
无文件写入到用户指定目录
结果带原文文件与行号,可第三方复算
材料不足时不给结论,诚实报告'未执行'
只使用Node.js标准库,无第三方依赖风险
商业推广有SKILL_NO_UPSELL环境变量可关闭