aibtc
The skill downloads and executes untrusted remote npm code via npx with no version pinning or hash verification, while the SKILL.md downplays VirusTotal flags as false positives rather than genuine warnings.
为什么得出这个结论
2/4 个维度触发发现 3 项声明之外的能力或越权行为。
提取到 4 个一般风险产物,需要结合上下文判断。
报告包含 4 步攻击链,另有 2 项高危或严重发现。
依赖结构存在,但暂未看到明显高危告警。
攻击链
初始入口 · SKILL.md:24
权限提升 · handler.js:14
权限提升 · handler.js:33
最终危害 · N/A
风险分是怎么被拉高的
handler.js spawns 'npx --yes aibtc-worker' with no version pin, no hash verification, and no lockfile — executes arbitrary remote code from npm registry
Uses spawn() and execSync() for shell operations; shell:WRITE capability not declared in capability model mapping
SKILL.md explicitly dismisses VirusTotal flags as false positives, which is a known social engineering technique used by malware authors
Writes worker state to aibtc-worker.json in current directory, allowing process tracking across invocations
最关键的证据
Unpinned Remote Code Execution via npx
handler.js spawns 'npx --yes aibtc-worker' with no version pin, tag, or hash. This downloads and executes arbitrary code from the npm registry, which can be updated at any time to inject malicious code.
handler.js:33 SKILL.md Disclaims Security Warnings Instead of Addressing Them
The disclaimer section explicitly tells users that VirusTotal flags are false positives due to npx behavior. This is a known social engineering pattern where malware authors preemptively warn against security tools to reduce scrutiny.
SKILL.md:41 Undeclared Shell Execution via execSync
handler.js uses execSync to run 'ps aux | grep aibtc-worker' to detect running processes. This shell execution is not declared in SKILL.md's capability section and requires shell:WRITE access.
handler.js:65 No Dependency Pinning or Hash Verification
The skill relies on 'aibtc-worker' from npm with no version, tag, or commit hash specified. The package can be updated, replaced with typosquatted variants, or compromised at any time.
handler.js:33 声明能力 vs 实际能力
handler.js:33 spawn() executes npx commands; handler.js:65 execSync() runs ps/grep handler.js:40 writeFileSync(); handler.js:52 readFileSync(); handler.js:59 unlinkSync() npx --yes aibtc-worker fetches and executes remote npm package 可疑产物与外联
https://aibtc.work SKILL.md:17
https://x.com/aibtc_ SKILL.md:18
https://t.me/aibtcchat SKILL.md:19
https://t.me/aibtc_ann SKILL.md:20
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| aibtc-worker | unpinned (latest) | npm | 否 | No version, tag, or hash specified. Package fetched and executed blindly. |
文件构成
SKILL.md handler.js