低风险 — 风险评分 20/100
上次扫描:5 小时前 重新扫描
20 /100
MemOptimizer
记忆优化与压缩工具,结合 self-improving 机制
MemOptimizer 是合法的记忆优化工具,无恶意行为。存在轻微文档-实现差异(未声明 shell 执行和跨智能体 memory 访问),但均为合理的系统监控功能。
技能名称MemOptimizer
分析耗时62.9s
引擎pi
ClawHub Mem Optimizer v1.2.0 by doony15
📥 170
ClawHub 判定 可疑 dangerous_execllm_suspiciousvt_suspicious
可以安装
建议在 SKILL.md 中补充声明 shell 执行(系统监控)和跨智能体 memory 访问功能,以消除文档差异。

安全发现 3 项

严重性 安全发现 位置
低危
Shell 执行未声明 文档欺骗
getServerStatus() 函数通过 exec 执行系统命令(top, free, df, uptime)获取服务器状态,用于每日报告。SKILL.md 在「每日总结报告」中提到服务器状态但未说明是通过 shell 命令获取。
exec(commands[key], (err, stdout, stderr) => { ... })
→ 在 SKILL.md 中明确说明会执行只读的系统命令来获取服务器监控信息
index.js:243
低危
跨智能体 memory 访问未声明 文档欺骗
scanAllAgentsWorkspaces() 函数会扫描 /root/.openclaw/agents/ 下所有智能体的工作空间,访问其 memory 目录。SKILL.md 主要描述单智能体优化场景,多智能体功能描述较简略。
const workspacePath = `/root/.openclaw/workspace-${agentId}`
→ 在 SKILL.md 中明确说明多智能体模式会访问其他智能体的 memory 目录
index.js:314
低危
tools.json 参数声明不完整 文档欺骗
mem_optimize 函数实际支持 multiAgent、message、text、includeReflection 等参数,但 tools.json 仅声明了 dryRun 参数。
实际代码支持 params.multiAgent, params.message, params.includeReflection
→ 更新 tools.json 声明以匹配实际参数
tools.json:1
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 index.js:34 scanMemoryFiles 扫描 memory 目录
命令执行 NONE READ ✗ 越权 index.js:243 getServerStatus 使用 exec 执行 top/free/df 命令
环境变量 NONE NONE 无访问环境变量的代码

目录结构

3 文件 · 34.0 KB · 1179 行
JavaScript 1f · 827L Markdown 1f · 302L JSON 1f · 50L
├─ 📜 index.js JavaScript 827L · 25.0 KB
├─ 📝 SKILL.md Markdown 302L · 7.6 KB
└─ 📋 tools.json JSON 50L · 1.4 KB

安全亮点

✓ 无凭证收割行为,不读取 .ssh、.aws、.env 等敏感路径
✓ 无网络外传行为,不存在数据外泄风险
✓ 无代码混淆或恶意编码
✓ 无持久化后门植入
✓ 文件写入仅限 memory 目录且需要 dryRun: false
✓ shell 命令为只读系统监控命令(top/free/df/uptime)
✓ 默认 dryRun: true 预览模式保护用户数据