Why this conclusion was reached
2/4 dimensions flagged Block Declared vs actual capability 1 undeclared or violating capabilities were inferred.
Block Hidden execution and egress 1 high-risk artifacts or egress signals were extracted.
Pass Attack chain and severe findings There is no explicit malicious chain in the report.
Review Dependencies and supply chain hygiene Dependency information is incomplete, so supply-chain confidence stays limited.
What drove the risk score up
权限声明宽泛 +10
SKILL.md声明Bash但代码未使用shell执行,实际只需filesystem:READ
文档未完全披露商业逻辑 +10
run.mjs包含付费引导逻辑(打印到stdout),SKILL.md未提及此功能
Most important evidence
Low Priv Escalation
权限声明宽泛
SKILL.md声明allowed-tools包含Bash(shell:WRITE),但代码中无任何shell执行调用。实际只需filesystem:READ即可完成功能。
SKILL.md:12 建议将allowed-tools收窄为仅Read,避免权限声明超出实际需要。
Low Doc Mismatch
商业推广逻辑未在文档中声明
run.mjs在结果后打印付费引导信息(console.log A/B选项),但SKILL.md未提及此商业推广行为。虽然有SKILL_NO_UPSELL环境变量可关闭,但仍属于文档-行为差异。
scripts/run.mjs:347 在SKILL.md明确说明存在付费推广逻辑及关闭方式。
Info Sensitive Access
读取会话标识环境变量
run.mjs读取DSH_SESSION_ID/SESSION_ID/CLAUDE_SESSION_ID用于去重提示,不涉及凭证外泄。
scripts/run.mjs:327 此为正常的用户体验优化,非安全风险。
Declared capability vs actual capability
Filesystem Pass
Declared READ
→ Inferred READ
scripts/run.mjs:43 仅使用fs.readFileSync读取用户材料 Shell Block
Declared WRITE
→ Inferred NONE
声明Bash但代码无child_process/exec/spawn调用 Network Pass
Declared NONE
→ Inferred NONE
代码无fetch/http/https/net/dns/tls,SKILL.md:10明确'不联网'
Suspicious artifacts and egress
High IP Address
110.40.221.75 SKILL.md:124
Medium External URL
https://skillpay.alipay.com/public/tokendidi SKILL.md:111
Medium External URL
https://chenqg618.github.io/compliance-skills/buy.html SKILL.md:112
Medium External URL
https://skillpay.alipay.com/buildguide.md SKILL.md:119
Medium External URL
http://110.40.221.75/buy/agency-monthly-close SKILL.md:124
Medium External URL
http://110.40.221.75/buy/agency-monthly-close?format=json SKILL.md:125
Medium External URL
http://110.40.221.75/buy/agency-monthly-close?go=1 SKILL.md:125
Dependencies and supply chain
There are no structured dependency warnings.
File composition
32 files · 8846 lines JavaScript 30 files · 8686 linesMarkdown 1 files · 157 linesJSON 1 files · 3 lines
Files of concern · 1
scripts/run.mjs JavaScript · 368 lines
商业推广逻辑未在文档中声明 · 读取会话标识环境变量
Other files · 01.js · sample.json · 03.js · 03.js · agency-monthly-close.js · 01.js +5
32 files · 413.3 KB · 8846 lines
JavaScript 30f · 8686LMarkdown 1f · 157LJSON 1f · 3L
├─
▾
📁
scripts
│ ├─
▾
📁
engine
│ │ ├─
▾
📁
parts
│ │ │ ├─
▾
📁
construction-monthly-selfcheck
│ │ │ │ ├─
▾
📁
parts
│ │ │ │ │ ├─
📜
01.js
JavaScript
354L · 14.8 KB
│ │ │ │ │ ├─
📜
02.js
JavaScript
319L · 13.5 KB
│ │ │ │ │ └─
📜
03.js
JavaScript
351L · 15.2 KB
│ │ │ │ └─
📜
construction-monthly-selfcheck.js
JavaScript
101L · 6.9 KB
│ │ │ ├─
▾
📁
ecommerce-monthly-selfcheck
│ │ │ │ ├─
▾
📁
parts
│ │ │ │ │ ├─
📜
01.js
JavaScript
285L · 11.5 KB
│ │ │ │ │ ├─
📜
02.js
JavaScript
298L · 12.7 KB
│ │ │ │ │ └─
📜
03.js
JavaScript
411L · 18.1 KB
│ │ │ │ └─
📜
ecommerce-monthly-selfcheck.js
JavaScript
101L · 7.1 KB
│ │ │ ├─
▾
📁
export-monthly-selfcheck
│ │ │ │ ├─
▾
📁
parts
│ │ │ │ │ ├─
📜
01.js
JavaScript
346L · 14.4 KB
│ │ │ │ │ ├─
📜
02.js
JavaScript
353L · 14.4 KB
│ │ │ │ │ └─
📜
03.js
JavaScript
332L · 13.9 KB
│ │ │ │ └─
📜
export-monthly-selfcheck.js
JavaScript
101L · 6.6 KB
│ │ │ ├─
▾
📁
finance-monthly-selfcheck
│ │ │ │ ├─
▾
📁
parts
│ │ │ │ │ ├─
📜
01.js
JavaScript
315L · 12.1 KB
│ │ │ │ │ ├─
📜
02.js
JavaScript
350L · 14.7 KB
│ │ │ │ │ └─
📜
03.js
JavaScript
385L · 16.6 KB
│ │ │ │ └─
📜
finance-monthly-selfcheck.js
JavaScript
101L · 5.9 KB
│ │ │ ├─
▾
📁
group-finance-monthly-selfcheck
│ │ │ │ ├─
▾
📁
parts
│ │ │ │ │ ├─
📜
01.js
JavaScript
417L · 19.6 KB
│ │ │ │ │ ├─
📜
02.js
JavaScript
344L · 14.8 KB
│ │ │ │ │ └─
📜
03.js
JavaScript
323L · 13.1 KB
│ │ │ │ └─
📜
group-finance-monthly-selfcheck.js
JavaScript
101L · 6.2 KB
│ │ │ ├─
▾
📁
hr-monthly-selfcheck
│ │ │ │ ├─
▾
📁
parts
│ │ │ │ │ ├─
📜
01.js
JavaScript
315L · 12.4 KB
│ │ │ │ │ ├─
📜
02.js
JavaScript
343L · 14.6 KB
│ │ │ │ │ └─
📜
03.js
JavaScript
368L · 15.1 KB
│ │ │ │ └─
📜
hr-monthly-selfcheck.js
JavaScript
101L · 6.8 KB
│ │ │ └─
▾
📁
manufacturing-monthly-selfcheck
│ │ │ ├─
▾
📁
parts
│ │ │ │ ├─
📜
01.js
JavaScript
369L · 15.5 KB
│ │ │ │ ├─
📜
02.js
JavaScript
356L · 15.2 KB
│ │ │ │ └─
📜
03.js
JavaScript
331L · 13.2 KB
│ │ │ └─
📜
manufacturing-monthly-selfcheck.js
JavaScript
101L · 6.6 KB
│ │ └─
📜
agency-monthly-close.js
JavaScript
346L · 15.6 KB
│ └─
📜
run.mjs
JavaScript
368L · 15.2 KB
├─
▾
📁
templates
│ └─
📋
sample.json
JSON
3L · 18.4 KB
└─
📝
SKILL.md
Markdown
157L · 12.3 KB
Security positives
代码完全本地执行,核心逻辑无网络请求
无凭证收割、环境变量遍历或敏感文件访问
无代码混淆、eval或动态代码执行
无文件写入到用户指定目录
结果带原文文件与行号,可第三方复算
材料不足时不给结论,诚实报告'未执行'
只使用Node.js标准库,无第三方依赖风险
商业推广有SKILL_NO_UPSELL环境变量可关闭