安全决策报告

perkoon-transfer

Browser Automation方法存在严重的远程代码执行(RCE)风险,通过curl动态下载并执行远程.mjs脚本,攻击者可随时修改服务器代码实施攻击。

安装决策优先 来源: ClawHub 扫描时间: 7 天前
文件 1
IOC 12
越权项 2
发现 4
最直接的威胁证据
严重 代码执行
远程代码执行(RCE)风险

Browser Automation方法通过curl从perkoon.com下载.mjs脚本并用node执行。攻击者可入侵服务器修改脚本内容,在用户机器上执行任意代码。这是教科书式的供应链攻击路径。

SKILL.md:265

为什么得出这个结论

2/4 个维度触发
阻止
声明与实际能力

发现 2 项声明之外的能力或越权行为。

复核
隐藏执行与外联

提取到 12 个一般风险产物,需要结合上下文判断。

阻止
攻击链与高危发现

报告包含 4 步攻击链,另有 2 项高危或严重发现。

通过
依赖与供应链卫生

依赖结构存在,但暂未看到明显高危告警。

攻击链

01
用户安装perkoon-transfer skill伪装成合法文件传输工具

初始入口 · SKILL.md:1

02
使用Browser Automation方法的curl下载远程脚本

权限提升 · SKILL.md:265

03
攻击者入侵perkoon.com服务器,修改.mjs脚本注入恶意代码

权限提升 · perkoon.com

04
node执行恶意脚本,完成RCE、数据外泄或横向移动

最终危害 · SKILL.md:266

风险分是怎么被拉高的

远程脚本动态下载执行 +35

curl perkoon.com/perkoon_send.mjs && node执行,允许RCE

供应链风险 +20

动态从外部URL获取代码,无完整性校验

文档-行为差异 +10

Browser Automation方法未充分声明RCE风险

最关键的证据

严重 代码执行

远程代码执行(RCE)风险

Browser Automation方法通过curl从perkoon.com下载.mjs脚本并用node执行。攻击者可入侵服务器修改脚本内容,在用户机器上执行任意代码。这是教科书式的供应链攻击路径。

SKILL.md:265
删除curl远程脚本模式,改用本地预装脚本或提供脚本哈希校验
高危 供应链

无版本锁定的npm包依赖

虽然文档声称使用固定版本([email protected], @perkoon/[email protected]),但npx在网络不稳定或DNS被劫持时可能拉取错误版本。攻击者可注册同名包实施 typosquatting 攻击。

SKILL.md:37
使用npm ci或yarn配合lockfile,避免npx动态拉取
中危 敏感访问

访问敏感目录声明不完整

文档第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 实际能力

网络访问 通过
声明 READ
推断 WRITE
SKILL.md:265-266 curl下载远程脚本
命令执行 阻止
声明 NONE
推断 WRITE
SKILL.md:265 node执行.mjs脚本
文件系统 阻止
声明 READ
推断 WRITE
SKILL.md:267 保存脚本到本地文件

可疑产物与外联

中危 外部 URL
https://perkoon.com

SKILL.md:10

中危 外部 URL
https://perkoon.com/K7MX4QPR9W2N

SKILL.md:115

中危 外部 URL
https://perkoon.com/a2a

SKILL.md:204

中危 外部 URL
https://perkoon.com/.well-known/agent.json

SKILL.md:206

中危 外部 URL
https://perkoon.com/perkoon_send.mjs

SKILL.md:315

中危 外部 URL
https://perkoon.com/perkoon_receive.mjs

SKILL.md:316

中危 外部 URL
https://perkoon.com/create

SKILL.md:321

中危 外部 URL
https://perkoon.com/

SKILL.md:332

中危 外部 URL
https://perkoon.com/llms.txt

SKILL.md:428

中危 外部 URL
https://perkoon.com/automate

SKILL.md:429

中危 外部 URL
https://www.npmjs.com/package/@perkoon/mcp

SKILL.md:430

中危 外部 URL
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 远程脚本,无校验

文件构成

1 个文件 · 431 行
Markdown 1 个文件 · 431 行
需关注文件 · 1
SKILL.md Markdown · 431 行
远程代码执行(RCE)风险 · 无版本锁定的npm包依赖 · 访问敏感目录声明不完整 · 第三方域名依赖 · https://perkoon.com · https://perkoon.com/K7MX4QPR9W2N · https://perkoon.com/a2a · https://perkoon.com/.well-known/agent.json · https://perkoon.com/perkoon_send.mjs · https://perkoon.com/perkoon_receive.mjs · https://perkoon.com/create · https://perkoon.com/ · https://perkoon.com/llms.txt · https://perkoon.com/automate · https://www.npmjs.com/package/@perkoon/mcp · https://www.npmjs.com/package/perkoon

安全亮点

文档完整清晰,CLI方法使用固定版本号(npx -y [email protected])
明确警告不使用@latest
包含速率限制说明
强调用户确认文件路径的重要性
JSON事件流设计合理,便于监控