Scan Report
This report was generated in Chinese. Some content may be in Chinese.
45 /100
layered-memory
基于 L0/L1/L2 三层结构的分层记忆管理系统,大幅减少 Token 消耗
代码引用 ~/clawd/scripts/ 下的外部脚本(memory-extractor.js, memory-archiver.js, generate-layers-simple.js, memory-reader.js)但这些脚本未打包在技能目录中;此外 SKILL.md 声明了 4 个命令但代码实际实现了 9 个(extract/archive/summary/dedupe 未声明)。
Use with caution
1. 将依赖的脚本模块打包到技能目录内;2. 补全 SKILL.md 文档声明所有命令;3. 移除 test.js 中对 ~/clawd/scripts 的硬编码依赖检查。
Attack Chain 4 steps
◎
Entry 用户安装 layered-memory 技能,读取 SKILL.md 理解其功能
SKILL.md:1⬡
Escalation 技能代码 require ~/clawd/scripts/memory-extractor.js 等外部脚本
index.js:29⬡
Escalation generate/read/search/stats 等方法通过 execSync 执行外部 JS 脚本
index.js:40◉
Impact 攻击者可将恶意脚本放置在 ~/clawd/scripts/ 下,技能运行时以同权限执行(条件:用户 ~/clawd/scripts/ 目录可写且无验证)
index.js:40Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| High | 外部脚本缺失导致功能不可用 Supply Chain | index.js:29-58 |
| High | SKILL.md 声明命令与实际不符 Doc Mismatch | index.js:145-218 |
| Medium | test.js 对外部路径存在性检查 Supply Chain | test.js:75-86 |
| Low | benchmark.js 包含硬编码用户路径 Doc Mismatch | benchmark.js:56-57 |
| Low | OpenClaw hook 未在 SKILL.md 中声明 Doc Mismatch | package.json:19-26 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | WRITE | ✗ Violation | index.js:29-31 代码执行 fs.readFileSync/writeFileSync |
| Shell | NONE | WRITE | ✗ Violation | index.js:40-58 使用 execSync 调用外部脚本 |
| Skill Invoke | NONE | WRITE | ✓ Aligned | index.js:29-31 require(~/clawd/scripts/memory-extractor.js) 等外部模块 |
File Tree
18 files · 64.8 KB · 2694 lines Markdown 11f · 1766L
JavaScript 5f · 878L
JSON 2f · 50L
├─
▾
hooks
│ └─
▾
openclaw
│ ├─
handler.js
JavaScript
│ └─
HOOK.md
Markdown
├─
▾
lib
│ └─
config-loader.js
JavaScript
├─
ANTI-DUPLICATE.md
Markdown
├─
AUTO-SAVE-GUIDE.md
Markdown
├─
AUTO-TRIGGER.md
Markdown
├─
benchmark.js
JavaScript
├─
CHANGELOG.md
Markdown
├─
config.example.json
JSON
├─
CONTRIBUTING.md
Markdown
├─
index.js
JavaScript
├─
INTEGRATION.md
Markdown
├─
package.json
JSON
├─
PRACTICAL-SOLUTION.md
Markdown
├─
README.md
Markdown
├─
SKILL.md
Markdown
├─
test.js
JavaScript
└─
UPGRADE_PLAN.md
Markdown
Dependencies 4 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
memory-extractor.js | N/A | ~/.clawd/scripts/ (external, not bundled) | No | 高风险:外部脚本未打包,依赖用户环境存在 |
memory-archiver.js | N/A | ~/.clawd/scripts/ (external, not bundled) | No | 高风险:外部脚本未打包,依赖用户环境存在 |
generate-layers-simple.js | N/A | ~/.clawd/scripts/ (external, not bundled) | No | 高风险:外部脚本未打包,依赖用户环境存在 |
memory-reader.js | N/A | ~/.clawd/scripts/ (external, not bundled) | No | 高风险:外部脚本未打包,依赖用户环境存在 |
Security Positives
✓ 无恶意代码:无 base64 编码、eval、混淆或反向 shell
✓ 无凭证收割:未遍历环境变量匹配敏感关键字
✓ 无数据外泄:无 POST 请求或 C2 通信
✓ 无硬编码凭证或密钥
✓ MIT 许可证声明清晰
✓ benchmark.js 使用字符数估算 token(无外部 API 调用)
✓ OpenClaw hook 行为仅为注入文本提醒,无危害操作