安全决策报告
cutoff-test-check-free
技能功能符合声明,但存在未充分披露的外部网络通信行为(发送主机名+用户名哈希到第三方服务端),存在轻微信息泄露风险。
为什么得出这个结论
1/4 个维度触发 阻止
声明与实际能力
发现 2 项声明之外的能力或越权行为。
复核
隐藏执行与外联
提取到 1 个一般风险产物,需要结合上下文判断。
通过
攻击链与高危发现
没有形成明确的恶意路径。
复核
依赖与供应链卫生
没有完整依赖信息,供应链判断需要保留弹性。
风险分是怎么被拉高的
外部网络通信 +15
向 tokendidi.cn 发送匿名统计(主机名+用户名哈希),SKILL.md 开头声明「完全本地运行」存在误导
用户指纹收集 +10
os.hostname() + username 的 SHA1 哈希可用于跨运行追踪用户
最关键的证据
中危 文档欺骗
文档与实际行为存在偏差
SKILL.md 开头声明「完全本地运行、不需要联网」,但代码在运行结束后会向 tokendidi.cn 发起一次匿名统计请求(发送 id + sid)。虽然这一行为在文档末尾的「使用次数与完整档」章节有说明,但与开头的「完全本地运行」声明存在矛盾,可能误导用户。
scripts/run.mjs:217 在 SKILL.md 开头或能力声明处明确标注存在外部网络通信行为(即使匿名),避免「完全本地运行」的误导性表述。
低危 敏感访问
读取系统标识信息用于外部传输
代码通过 os.hostname() 和 os.userInfo().username 生成匿名但可追踪的 sid(SHA1 哈希前 16 位),发送到外部服务端。虽然单个 sid 无法直接还原用户身份,但在服务端配合日志可实现跨运行的设备追踪。
scripts/run.mjs:224 考虑仅使用随机生成的安装 ID 而非系统信息哈希,或明确告知用户此追踪行为并提供退出机制。
低危 供应链
第三方服务端域名可信度存疑
匿名统计请求发往 tokendidi.cn(中文域名),非主流可信服务商。该域名被用于接收匿名安装标识,虽然当前无明显恶意迹象,但存在潜在追踪或数据收集风险。
scripts/run.mjs:217 评估第三方服务商的信誉和隐私政策,或使用自有域名提供服务。
声明能力 vs 实际能力
文件系统 通过
声明 READ
→ 推断 READ
SKILL.md 声明 allowed-tools: Read,Bash;实际仅读入参文件,无越权 网络访问 阻止
声明 NONE
→ 推断 READ
scripts/run.mjs:217-231 向外部服务端发起 HTTP 请求 命令执行 通过
声明 ADMIN
→ 推断 NONE
Bash 权限在 allowed-tools 中声明但代码未使用 环境变量 阻止
声明 NONE
→ 推断 READ
scripts/run.mjs:224 使用 os.hostname() 和 os.userInfo().username 读取环境信息 可疑产物与外联
中危 外部 URL
https://www.tokendidi.cn/api/free-hint scripts/run.mjs:217
依赖与供应链
没有结构化依赖告警。
文件构成
4 个文件 · 696 行
JavaScript 2 个文件 · 605 行Markdown 1 个文件 · 88 行JSON 1 个文件 · 3 行
需关注文件 · 1
scripts/run.mjs 文档与实际行为存在偏差 · 读取系统标识信息用于外部传输 · 第三方服务端域名可信度存疑 · https://www.tokendidi.cn/api/free-hint
其他文件 · cutoff-test-check.js · SKILL.md · sample.json
安全亮点
纯本地财务核对逻辑,无实质性数据外泄
提供 --no-stats 参数允许用户禁用网络通信
网络请求超时 2500ms 限制合理,失败不影响主功能
代码逻辑清晰,ENGINE 模块无网络访问
无恶意代码混淆或隐藏执行行为