Skill Trust Decision
bt-download
BT下载工具存在未声明的外部网络访问行为(bt_get_trackers静默从GitHub获取数据),但功能本身符合工具声明用途,风险可控。
Most direct threat evidence
Why this conclusion was reached
1/4 dimensions flagged Block
Declared vs actual capability
1 undeclared or violating capabilities were inferred.
Review
Hidden execution and egress
1 lower-risk artifacts were extracted and still need context.
Pass
Attack chain and severe findings
There is no explicit malicious chain in the report.
Review
Dependencies and supply chain hygiene
2 dependency or supply-chain issues need attention.
What drove the risk score up
未声明的网络访问 +25
bt_get_trackers通过curl访问GitHub获取tracker列表,SKILL.md未声明此外部网络行为
外部URL内容获取 +15
无条件curl远程URL,存在供应链风险(URL内容可能被篡改)
shell执行能力 +10
使用child_process.exec执行系统命令,能力符合下载工具定位但属高权限操作
sudo权限要求 +5
bt_install_aria2需要sudo安装系统包,未在参数说明中明确
Most important evidence
Medium Doc Mismatch
未声明的外部网络访问
bt_get_trackers函数通过curl从GitHub获取tracker列表,但SKILL.md的功能说明中完全未提及此网络行为。这是典型的文档-行为差异,属于阴影功能。
plugin.ts:133 在SKILL.md的bt_get_trackers描述中明确说明需要网络访问权限,声明获取来源URL
Low Supply Chain
外部URL内容获取无完整性校验
curl获取的tracker列表内容直接使用,无哈希校验或签名验证。若攻击者篡改上游仓库,可注入恶意tracker
plugin.ts:133 考虑内嵌一份tracker列表作为fallback,或添加内容完整性校验
Low Priv Escalation
sudo安装系统包未在文档声明
bt_install_aria2使用'sudo apt-get install'安装aria2,需要提升权限,但SKILL.md参数说明中未提及此权限要求
plugin.ts:101 在工具描述中明确说明需要sudo权限,或改用非root安装方式
Info Sensitive Access
环境变量读取下载目录
代码读取DOWNLOAD_DIR环境变量作为默认下载目录,这是合法的配置能力
plugin.ts:213 无需修改,属于正常的配置机制
Declared capability vs actual capability
Filesystem Pass
Declared READ
→ Inferred READ
plugin.ts:217 readFile读取.torrent文件 Network Block
Declared NONE
→ Inferred READ
plugin.ts:133 curl访问github.com/ngosang/trackerslist Shell Pass
Declared WRITE
→ Inferred WRITE
plugin.ts 多处child_process.exec调用 Environment Pass
Declared NONE
→ Inferred READ
plugin.ts:213 process.env.DOWNLOAD_DIR读取 Suspicious artifacts and egress
Medium External URL
https://aria2.github.io SKILL.md:4
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| node-fetch | * | dynamic import | No | 按需导入用于RPC调用 |
| aria2c | * | system package | No | 系统依赖,通过apt安装 |
File composition
2 files · 591 lines
TypeScript 1 files · 456 linesMarkdown 1 files · 135 lines
Files of concern · 2
plugin.ts 未声明的外部网络访问 · 外部URL内容获取无完整性校验 · sudo安装系统包未在文档声明 · 环境变量读取下载目录
SKILL.md https://aria2.github.io
Security positives
使用aria2 RPC模式而非直接操作下载文件,隔离良好
RPC服务仅监听localhost:6800,不对外暴露
日志写入/tmp/aria2-rpc.log,不包含敏感信息
工具功能定位清晰,符合BT下载助手声明
fallback tracker列表硬编码,防止网络失败完全阻塞