Skill Trust Decision

bt-download

BT下载工具存在未声明的外部网络访问行为(bt_get_trackers静默从GitHub获取数据),但功能本身符合工具声明用途,风险可控。

Install decision first Source: ClawHub Scanned: Apr 6, 2026
Files 2
Artifacts 1
Violations 1
Findings 4
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

PackageVersionSourceKnown vulnNotes
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 TypeScript · 456 lines
未声明的外部网络访问 · 外部URL内容获取无完整性校验 · sudo安装系统包未在文档声明 · 环境变量读取下载目录
SKILL.md Markdown · 135 lines
https://aria2.github.io

Security positives

使用aria2 RPC模式而非直接操作下载文件,隔离良好
RPC服务仅监听localhost:6800,不对外暴露
日志写入/tmp/aria2-rpc.log,不包含敏感信息
工具功能定位清晰,符合BT下载助手声明
fallback tracker列表硬编码,防止网络失败完全阻塞