Skill Trust Decision

rotifer-self-evolving-agent

纯文档型Skill,无本地脚本,但通过npx动态拉取npm包执行第三方代码,存在供应链风险和远程代码执行路径,且文档明确承认历史版本存在声明-行为不一致问题。

Install decision first Source: ClawHub Scanned: Aug 30, 2026
Files 3
Artifacts 4
Violations 0
Findings 5
Most direct threat evidence
01
用户通过/evolve调用Skill,Skill通过npx从npm拉取@rotifer/[email protected] Entry · SKILL.md
02
攻击者通过市场发布恶意Gene,用户通过/evolve install_gene安装 Escalation · SKILL.md
03
用户执行run-agent,恶意Gene在WASM沙箱中执行(沙箱逃逸或沙箱内数据外泄) Impact · SKILL.md

Why this conclusion was reached

1/4 dimensions flagged
Pass
Declared vs actual capability

Declared resources and inferred behavior are broadly aligned.

Review
Hidden execution and egress

4 lower-risk artifacts were extracted and still need context.

Block
Attack chain and severe findings

The report includes 3 attack-chain steps and 2 severe findings.

Review
Dependencies and supply chain hygiene

1 dependency or supply-chain issues need attention.

Attack Chain

01
用户通过/evolve调用Skill,Skill通过npx从npm拉取@rotifer/[email protected]

Entry · SKILL.md:25

02
攻击者通过市场发布恶意Gene,用户通过/evolve install_gene安装

Escalation · SKILL.md:69

03
用户执行run-agent,恶意Gene在WASM沙箱中执行(沙箱逃逸或沙箱内数据外泄)

Impact · SKILL.md:73

What drove the risk score up

运行时动态拉取npm包 +15

SKILL.md明确说明通过npx -y @rotifer/[email protected]在首次使用时从npm动态下载代码,属于标准供应链攻击向量

可执行第三方Gene代码 +12

install_gene从市场下载第三方代码写入genes/目录,run-agent执行之;虽然WASM沙箱提供了部分保护,但沙箱本身由被执行的代码管理

历史版本权限声明不实 +8

SKILL.md明确承认'Until version 2.4.3 this list said network:outbound and nothing else, while the Skill already read and wrote project files and shelled out to a CLI'——历史上存在声明-行为不符

远程代码执行路径 +5

process:exec声明允许通过rotifer CLI或npx -y @rotifer/playground执行代码,无版本锁定

使用遥测数据外传 +3

登录用户时工具调用信息发送到Rotifer Cloud,但声称可ROTIFER_TELEMETRY=0关闭

Most important evidence

High Supply Chain

运行时从npm动态拉取未验证的代码

Skill通过npx -y @rotifer/[email protected]在运行时从npm动态获取MCP服务器代码,SKILL.md承认这是标准MCP Skill模式但明确指出'you are trusting remote code'。无代码签名验证,无锁定哈希,仅依赖版本号。

SKILL.md:138
使用npm view @rotifer/[email protected] dist.integrity获取SHA512哈希并在部署前验证;考虑fork MCP服务器代码到私有registry
High RCE

执行来自市场的第三方Gene代码

install_gene从Rotifer市场下载第三方代码写入genes/目录,run-agent执行这些代码。虽然声称通过WASM沙箱执行,但沙箱由被执行的代码自身管理(rotifer CLI/playground),存在沙箱逃逸可能。

SKILL.md:73
审查每个待安装Gene的源码;不要在生产环境对未充分验证的Gene执行run-agent
Medium Doc Mismatch

历史版本存在声明-行为不符

SKILL.md明确承认'Until version 2.4.3 this list said network:outbound and nothing else, while the Skill already read and wrote project files and shelled out to a CLI'。历史上该skill在文档中隐瞒了实际能力。

SKILL.md:189
确认当前版本2.4.7已完全对齐声明与行为;审查旧版本是否存在影子功能
Medium Supply Chain

npx fallback无版本锁定

run-agent在rotifer CLI不在PATH时回退到npx -y @rotifer/playground,无版本锁定。playground包同样通过npm动态拉取。

SKILL.md:79
确保rotifer CLI已安装并锁定版本,减少对npx fallback的依赖
Low Data Exfil

登录用户时使用遥测数据外传

当用户登录时,工具调用名、Gene ID、结果、延迟和用户ID发送到Rotifer Cloud。SKILL.md声称ROTIFER_TELEMETRY=0可关闭,但历史版本0.16.1存在绕过。

SKILL.md:153
生产环境使用ROTIFER_TELEMETRY=0;确认当前运行版本>=0.17.0

Declared capability vs actual capability

Network Pass
Declared OUTBOUND
→
Inferred OUTBOUND
SKILL.md 权限声明与clawhub.json一致
Filesystem Pass
Declared READ+WRITE
→
Inferred READ+WRITE
SKILL.md明确列出读写genes/、.rotifer/agents/、~/.rotifer/等路径
Shell Pass
Declared WRITE
→
Inferred WRITE
SKILL.md声明process:exec用于rotifer CLI和npx -y fallback

Suspicious artifacts and egress

Medium External URL
https://rotifer.dev

README.md:15

Medium External URL
https://www.npmjs.com/package/@rotifer/mcp-server/v/0.17.0

README.md:142

Medium External URL
https://rotifer.ai

README.md:200

Medium External URL
https://rotifer.dev/docs

README.md:201

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
@rotifer/mcp-server 0.17.0 npm (动态拉取) No 首次使用时通过npx动态拉取,无代码签名验证,存在供应链劫持风险
@rotifer/playground 未指定版本 npm (动态拉取,fallback路径) No rotifer CLI不在PATH时的fallback,无版本锁定

File composition

3 files · 438 lines
Markdown 2 files · 404 linesJSON 1 files · 34 lines
Files of concern · 2
README.md Markdown · 202 lines
https://rotifer.dev · https://www.npmjs.com/package/@rotifer/mcp-server/v/0.17.0 · https://rotifer.ai · https://rotifer.dev/docs
SKILL.md Markdown · 202 lines
运行时从npm动态拉取未验证的代码 · 执行来自市场的第三方Gene代码 · 历史版本存在声明-行为不符 · npx fallback无版本锁定 · 登录用户时使用遥测数据外传
Other files · clawhub.json

Security positives

文档透明度高,明确承认了历史版本的声明-行为不符问题
明确列出了所有10个可用工具名称,拒绝访问其余21个工具
资源访问范围限制在项目目录genes/和.rotifer/agents/,不访问home目录下的凭证
提供ROTIFER_TELEMETRY=0选项关闭遥测
安装Gene需要用户确认,可回滚
提供了源码GitHub链接供用户验证