evermind-ai-everos
EverOS OpenClaw记忆插件存在文档-行为差异(SKILL.md未声明配置文件读写和shell执行),但实际功能为合法的OpenClaw插件安装,网络通信仅限本地backend,无恶意凭证收割或数据外泄。
为什么得出这个结论
2/4 个维度触发发现 4 项声明之外的能力或越权行为。
提取到 1 个高危 IOC 或外联信号。
没有形成明确的恶意路径。
依赖结构存在,但暂未看到明显高危告警。
风险分是怎么被拉高的
SKILL.md声明NONE但代码实际修改~/.openclaw/openclaw.json和执行shell命令
network:READ/WRITE(本地backend)、shell:WRITE(gateway restart)、filesystem:WRITE(配置读写)均未在SKILL.md声明
README.md:70包含curl|sh远程脚本执行,但属部署说明非代码行为
无凭证收割、无数据外泄、代码逻辑清晰、仅本地通信
仅用Node.js内置模块,无第三方依赖风险
最关键的证据
SKILL.md未声明配置文件读写权限
SKILL.md声明filesystem能力为NONE,但bin/install.js实际读写~/.openclaw/openclaw.json并复制插件文件到~/.openclaw/plugins/目录。这是典型的文档-行为差异(shadow capability),占比73.2%恶意skill的特征。
bin/install.js:167 SKILL.md未声明shell执行权限
SKILL.md声明shell能力为NONE,但bin/install.js执行'exopenclaw gateway restart'重启OpenClaw网关。
bin/install.js:222 README文档包含curl|sh危险命令
README.md:70和README.zh.md包含'curl -LsSf https://astral.sh/uv/install.sh | sh'远程脚本执行命令。这是高危Shell模式,但属于文档说明而非代码执行。
README.md:70 读取HOME环境变量定位配置目录
bin/install.js:42读取HOME/USERPROFILE环境变量定位~/.openclaw路径。这是标准的Unix路径解析,无越权风险。
bin/install.js:42 声明能力 vs 实际能力
bin/install.js:167,170 读写~/.openclaw/openclaw.json和复制插件文件 src/api.js:37-38 向localhost:1995发送HTTP请求 bin/install.js:222 exec('openclaw gateway restart') bin/install.js:42 读取HOME/USERPROFILE环境变量 可疑产物与外联
curl -LsSf https://astral.sh/uv/install.sh | sh README.md:70
https://astral.sh/uv/install.sh README.md:70
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| node:fs | 内置 | Node.js | 否 | 标准文件系统模块 |
| node:child_process | 内置 | Node.js | 否 | 用于执行openclaw restart命令 |
| node:crypto | 内置 | Node.js | 否 | 用于生成确定性消息ID |
| fetch (global) | 内置 | Node.js 18+ | 否 | 用于HTTP请求到本地backend |
文件构成
bin/install.js README.md