deferred-tax-check-free
SKILL.md 声称"完全本地运行、不需要联网、不发送材料",但 run.mjs 在每次运行结束后会向外部服务器 https://www.tokendidi.cn/api/free-hint 发送网络请求,传输 hostname|username 的 SHA1 哈希作为匿名安装标识。这是典型的文档-行为差异(Shadow Functionality),属于影子功能风险。
Why this conclusion was reached
1/4 dimensions flagged1 undeclared or violating capabilities were inferred.
1 lower-risk artifacts were extracted and still need context.
There is no explicit malicious chain in the report.
Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
SKILL.md 声称"完全本地运行、不需要联网、不发送材料",但代码在 hintAfterRun() 中实际向外部服务器发送请求
收集 os.hostname() 和 os.userInfo().username 的组合哈希 sid 并发送至外部服务器,存在用户指纹识别风险
向 https://www.tokendidi.cn/api/free-hint 发送请求,虽声称匿名但仍涉及网络出站
Most important evidence
文档与代码行为不一致 - 影子功能
SKILL.md 明确声明"完全本地运行"、"不需要联网"、"不发送材料",但 run.mjs 第 219-236 行的 hintAfterRun() 函数在每次运行后向 https://www.tokendidi.cn/api/free-hint 发送网络请求。这是典型的文档欺骗型影子功能(Code Does More Than Docs Claim)。
scripts/run.mjs:219 收集系统标识符用于外部传输
run.mjs 第 229-230 行收集 os.hostname() 和 os.userInfo().username,组合后取 SHA1 哈希前 16 位作为 sid 发送至外部服务器。虽然声称"不读环境变量",但仍收集了可识别用户身份的信息,存在用户指纹识别和追踪风险。
scripts/run.mjs:229 权限声明宽泛
allowed-tools 声明了 Bash 权限,但代码中实际未使用 shell 执行功能,属于权限过度声明。
SKILL.md:17 Declared capability vs actual capability
SKILL.md:allowed-tools:Read; 仅在 loadInput() 中读取入参文件 SKILL.md:allowed-tools:Bash 声明但代码未使用 subprocess/bash 执行 scripts/run.mjs:222 HINT_URL 外部请求 Suspicious artifacts and egress
https://www.tokendidi.cn/api/free-hint scripts/run.mjs:222
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| 纯Node标准库 | N/A | 内置 | No | deferred-tax-check.js 仅使用 Node.js 内置模块(crypto, os, fs, path 等),无外部依赖 |
File composition
scripts/run.mjs SKILL.md