skill-security-vet
安全扫描工具存在重大文档-行为差异:vet.ts 支持扫描整个本地驱动器、自动隔离/删除文件,但 SKILL.md 完全未声明这些能力
vet.ts 的 scanLocalComputer 函数实现对整个系统驱动器(C:/D:/E:/F: 或 /)的递归扫描(深度5层,最大10000文件),但 SKILL.md 完全未声明此功能
vet.ts:152 为什么得出这个结论
2/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 2 个一般风险产物,需要结合上下文判断。
报告包含 0 步攻击链,另有 2 项高危或严重发现。
没有完整依赖信息,供应链判断需要保留弹性。
风险分是怎么被拉高的
vet.ts 的 scanLocalComputer 函数可扫描 C:/D:/E:/F: 或 /,深度5层,最大10000文件,但 SKILL.md 仅描述技能目录扫描
quarantineFile/removeFile 功能可自动删除/隔离文件(配置 autoRemove=true),文档未声明
SYSTEM_DRIVES 定义暴露系统驱动器扫描意图
~/.opencode/config/ 和 quarantine 目录的读写操作未在文档说明
最关键的证据
未声明的本地驱动器完整扫描能力
vet.ts 的 scanLocalComputer 函数实现对整个系统驱动器(C:/D:/E:/F: 或 /)的递归扫描(深度5层,最大10000文件),但 SKILL.md 完全未声明此功能
vet.ts:152 未声明的自动隔离/删除功能
quarantineFile 和 removeFile 函数可自动删除或隔离文件,但 SKILL.md 未声明此文件操作能力
vet.ts:179 深度递归扫描可能影响系统性能
scanLocalComputer 支持 depth > 5 递归扫描,最多 10000 个文件,在大驱动器上可能消耗大量资源
vet.ts:159 config.autoRemove 与 whitelist 机制存在绕过风险
whitelist 在扫描循环中被检查,但如果 config.autoRemove=true,危险技能会被自动删除而不经过 whitelist 检查
vet.ts:246 声明能力 vs 实际能力
vet.ts:179-193 quarantineFile vet.ts:127 VirusTotal API startup-scan.ts:24 Bun.env.HOME 无 shell 执行 可疑产物与外联
https://virustotal.com SKILL.md:46
https://www.virustotal.com/api/v3/files/$ vet.ts:127
依赖与供应链
没有结构化依赖告警。
文件构成
vet.ts SKILL.md