Skill Trust Decision

skill-security-vet

安全扫描工具存在重大文档-行为差异:vet.ts 支持扫描整个本地驱动器、自动隔离/删除文件,但 SKILL.md 完全未声明这些能力

Install decision first Source: Manual upload Scanned: Apr 3, 2026
Files 3
Artifacts 2
Violations 1
Findings 4
Most direct threat evidence
High
未声明的本地驱动器完整扫描能力

vet.ts 的 scanLocalComputer 函数实现对整个系统驱动器(C:/D:/E:/F: 或 /)的递归扫描(深度5层,最大10000文件),但 SKILL.md 完全未声明此功能

vet.ts:152

Why this conclusion was reached

2/4 dimensions flagged
Block
Declared vs actual capability

1 undeclared or violating capabilities were inferred.

Review
Hidden execution and egress

2 lower-risk artifacts were extracted and still need context.

Block
Attack chain and severe findings

The report includes 0 attack-chain steps and 2 severe findings.

Review
Dependencies and supply chain hygiene

Dependency information is incomplete, so supply-chain confidence stays limited.

What drove the risk score up

未声明的本地驱动器扫描 +20

vet.ts 的 scanLocalComputer 函数可扫描 C:/D:/E:/F: 或 /,深度5层,最大10000文件,但 SKILL.md 仅描述技能目录扫描

未声明的自动隔离/删除能力 +15

quarantineFile/removeFile 功能可自动删除/隔离文件(配置 autoRemove=true),文档未声明

system_paths 访问 +5

SYSTEM_DRIVES 定义暴露系统驱动器扫描意图

敏感配置路径操作 +5

~/.opencode/config/ 和 quarantine 目录的读写操作未在文档说明

Most important evidence

High

未声明的本地驱动器完整扫描能力

vet.ts 的 scanLocalComputer 函数实现对整个系统驱动器(C:/D:/E:/F: 或 /)的递归扫描(深度5层,最大10000文件),但 SKILL.md 完全未声明此功能

vet.ts:152
在 SKILL.md 中明确声明扫描范围,或移除本地驱动器扫描代码,仅保留技能目录扫描
High

未声明的自动隔离/删除功能

quarantineFile 和 removeFile 函数可自动删除或隔离文件,但 SKILL.md 未声明此文件操作能力

vet.ts:179
明确声明自动隔离/删除功能,并说明触发条件
Medium

深度递归扫描可能影响系统性能

scanLocalComputer 支持 depth > 5 递归扫描,最多 10000 个文件,在大驱动器上可能消耗大量资源

vet.ts:159
考虑添加扫描限制说明或用户配置选项
Medium

config.autoRemove 与 whitelist 机制存在绕过风险

whitelist 在扫描循环中被检查,但如果 config.autoRemove=true,危险技能会被自动删除而不经过 whitelist 检查

vet.ts:246
确保 whitelist 在所有自动操作前生效

Declared capability vs actual capability

Filesystem Block
Declared NONE
Inferred WRITE
vet.ts:179-193 quarantineFile
Network Pass
Declared NONE
Inferred READ
vet.ts:127 VirusTotal API
Environment Pass
Declared NONE
Inferred READ
startup-scan.ts:24 Bun.env.HOME
Shell Pass
Declared NONE
Inferred NONE
无 shell 执行

Suspicious artifacts and egress

Medium External URL
https://virustotal.com

SKILL.md:46

Medium External URL
https://www.virustotal.com/api/v3/files/$

vet.ts:127

Dependencies and supply chain

There are no structured dependency warnings.

File composition

3 files · 885 lines
TypeScript 2 files · 768 linesMarkdown 1 files · 117 lines
Files of concern · 2
vet.ts TypeScript · 484 lines
未声明的本地驱动器完整扫描能力 · 未声明的自动隔离/删除功能 · 深度递归扫描可能影响系统性能 · config.autoRemove 与 whitelist 机制存在绕过风险 · https://www.virustotal.com/api/v3/files/$
SKILL.md Markdown · 117 lines
https://virustotal.com
Other files · startup-scan.ts

Security positives

代码结构清晰,使用 Bun 原生 API,无传统 child_process 调用
包含完善的高风险模式检测(eval、动态代码执行等)
VirusTotal API 集成提供云端威胁情报
安全工具的合法用途,可检测其他技能风险