perkoon-transfer
Browser Automation方法存在严重的远程代码执行(RCE)风险,通过curl动态下载并执行远程.mjs脚本,攻击者可随时修改服务器代码实施攻击。
Browser Automation方法通过curl从perkoon.com下载.mjs脚本并用node执行。攻击者可入侵服务器修改脚本内容,在用户机器上执行任意代码。这是教科书式的供应链攻击路径。
SKILL.md:265 为什么得出这个结论
2/4 个维度触发发现 2 项声明之外的能力或越权行为。
提取到 12 个一般风险产物,需要结合上下文判断。
报告包含 4 步攻击链,另有 2 项高危或严重发现。
依赖结构存在,但暂未看到明显高危告警。
攻击链
初始入口 · SKILL.md:1
权限提升 · SKILL.md:265
权限提升 · perkoon.com
最终危害 · SKILL.md:266
风险分是怎么被拉高的
curl perkoon.com/perkoon_send.mjs && node执行,允许RCE
动态从外部URL获取代码,无完整性校验
Browser Automation方法未充分声明RCE风险
最关键的证据
远程代码执行(RCE)风险
Browser Automation方法通过curl从perkoon.com下载.mjs脚本并用node执行。攻击者可入侵服务器修改脚本内容,在用户机器上执行任意代码。这是教科书式的供应链攻击路径。
SKILL.md:265 无版本锁定的npm包依赖
虽然文档声称使用固定版本([email protected], @perkoon/[email protected]),但npx在网络不稳定或DNS被劫持时可能拉取错误版本。攻击者可注册同名包实施 typosquatting 攻击。
SKILL.md:37 访问敏感目录声明不完整
文档第10条规则提到'NEVER send files from sensitive directories (~/.ssh, ~/.gnupg, /etc)',但未声明工具会主动检测或阻止此类访问。receive命令默认写入~/.openclaw/workspace/received/。
SKILL.md:219 第三方域名依赖
整个工具完全依赖perkoon.com域名,网络请求包括agent.json发现、API调用和脚本下载。若域名被劫持,所有功能面临风险。
SKILL.md:1 声明能力 vs 实际能力
SKILL.md:265-266 curl下载远程脚本 SKILL.md:265 node执行.mjs脚本 SKILL.md:267 保存脚本到本地文件 可疑产物与外联
https://perkoon.com SKILL.md:10
https://perkoon.com/K7MX4QPR9W2N SKILL.md:115
https://perkoon.com/a2a SKILL.md:204
https://perkoon.com/.well-known/agent.json SKILL.md:206
https://perkoon.com/perkoon_send.mjs SKILL.md:315
https://perkoon.com/perkoon_receive.mjs SKILL.md:316
https://perkoon.com/create SKILL.md:321
https://perkoon.com/ SKILL.md:332
https://perkoon.com/llms.txt SKILL.md:428
https://perkoon.com/automate SKILL.md:429
https://www.npmjs.com/package/@perkoon/mcp SKILL.md:430
https://www.npmjs.com/package/perkoon SKILL.md:431
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| perkoon | 0.4.6 | npm | 否 | CLI包,动态拉取 |
| @perkoon/mcp | 0.2.2 | npm | 否 | MCP服务器,动态拉取 |
| perkoon_send.mjs | N/A | curl remote | 否 | 远程脚本,无校验 |
文件构成
SKILL.md