扫描报告
8 /100
smart-agent-memory
跨平台 Agent 长期记忆系统 — 分层上下文供给 + Skill经验记忆 + 温度模型 + 自动归档
纯 Node.js 原生实现的 Agent 记忆系统,无外部依赖,代码逻辑清晰,无任何恶意行为。发现一处轻微不一致:内存 CLI 引用了不存在的 lib/cn-optimize.js 模块,导致中文优化命令在当前版本不可用,但不影响核心功能。
可以安装
无需隔离。唯一缺陷是缺少 lib/cn-optimize.js 导致 diagnose/optimize-tags/compress 命令报错,建议补全该模块或在 memory-cli.js 中做 try-catch 保护。
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | lib/cn-optimize.js 模块缺失 文档欺骗 | scripts/memory-cli.js:18 |
| 低危 | scripts/extract.js 文件缺失 文档欺骗 | scripts/memory-cli.js:26 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | WRITE | WRITE | ✓ 一致 | SKILL.md: permissions[read/write]: ~/.openclaw/workspace/memory |
| 命令执行 | NONE | NONE | — | 仅使用 child_process.execFileSync('qmd', ...) 且为可选工具,非 shell 管道 |
| 网络访问 | NONE | NONE | — | 无任何网络请求代码 |
| 环境变量 | NONE | NONE | — | 仅使用 MEMORY_DIR 环境变量,未访问敏感凭证 |
目录结构
10 文件 · 115.1 KB · 3210 行 JavaScript 7f · 2357L
Markdown 2f · 836L
JSON 1f · 17L
├─
▾
lib
│ ├─
cn-optimize.js
JavaScript
│ ├─
extract.js
JavaScript
│ ├─
search.js
JavaScript
│ ├─
sqlite-store.js
JavaScript
│ ├─
store.js
JavaScript
│ └─
temperature.js
JavaScript
├─
▾
scripts
│ └─
memory-cli.js
JavaScript
├─
_meta.json
JSON
├─
README.md
Markdown
└─
SKILL.md
Markdown
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
node:sqlite | 内置(Node.js>=22.5) | Node.js 内置 | 否 | 纯内置模块,无第三方依赖 |
安全亮点
✓ 声称零外部依赖属实,只使用 Node.js 内置模块(fs, path, os, child_process, node:sqlite)
✓ 无网络请求,无凭证访问,无数据外泄
✓ 无 shell 注入风险:smartSearch 使用 execFileSync 传数组参数,CLI 参数解析用安全数组方式
✓ 文件写入严格限定在 ~/.openclaw/workspace/memory/ 目录
✓ extractSkill 写入 SKILL.md 的位置(~/.openclaw/skills/<name>/)是合法的 OpenClaw 技能目录
✓ qmd 工具调用有 10 秒超时和 try-catch 降级,不可用水无感知
✓ 没有 eval、atob、base64 解码等混淆手段
✓ 没有访问 ~/.ssh、~/.aws、.env 等敏感路径
✓ README.md 完整性极高,详细说明各命令行为和架构