扫描报告
65 /100
openclaw-memory-auto
Automatic memory archiving and refinement plugin for OpenClaw AI agent
Skill contains hardcoded absolute Windows paths exposing user identity, undeclared PowerShell script execution, and credential-related keyword harvesting with plausible yet suspicious design patterns.
不要安装此技能
Do not deploy. Hardcoded user paths and undeclared shell execution present significant privacy and security risks. Request full source audit and remove hardcoded paths before any further evaluation.
攻击链 6 步
◎
入口 Skill distributed as legitimate OpenClaw memory plugin via SKILL.md marketing
SKILL.md:1⬡
提权 Hardcoded Windows username path reveals user identity for targeting
index.js:62⬡
提权 spawns powershell.exe with ExecutionPolicy Bypass to run non-existent scripts
index.js:67⬡
提权 Extracts messages containing credential-adjacent keywords (password, token, key, secret, api, 密钥, 密码) from chat transcripts
src/archiver.ts:118◉
影响 Stores credential-adjacent transcript snippets in plaintext memory/YYYY-MM-DD.md files
src/archiver.ts:108⬡
提权 Refinement feature (callAI stub) could be implemented to POST extracted credentials to external AI endpoint
src/refiner.ts:25安全发现 7 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 高危 | Hardcoded Windows username path leaks user identity 权限提升 | index.js:62 |
| 高危 | Undeclared PowerShell execution with bypassed execution policy 文档欺骗 | index.js:67 |
| 高危 | Sensitive credential keywords used to extract transcript highlights 凭证窃取 | src/defaults.ts:21 |
| 中危 | SKILL.md claims zero config needed but hardcoded paths require config 文档欺骗 | SKILL.md:1 |
| 中危 | Dynamic fast-glob import with no actual usage 敏感访问 | src/archiver.ts:94 |
| 低危 | No version pinning for dependencies 供应链 | package.json:24 |
| 低危 | External URL reference in keywords.json 文档欺骗 | keywords.json:2 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | WRITE | ✗ 越权 | src/archiver.ts:108 — fs.writeFile for daily logs + marker files; standalone-arc… |
| 网络访问 | NONE | NONE | — | refine.js / src/refiner.ts — callAI() stub exists with TODO comment, not yet imp… |
| 命令执行 | NONE | WRITE | ✗ 越权 | index.js:67-71 — spawn('powershell.exe', psArgs) with -ExecutionPolicy Bypass |
| 环境变量 | NONE | READ | ✓ 一致 | Multiple files read process.env.OPENCLAW_WORKSPACE |
2 项发现
中危 外部 URL 外部 URL
https://clawhub.ai/skills/publish PUBLISH.md:18 中危 外部 URL 外部 URL
https://json.schemastore.org/default keywords.json:2 目录结构
24 文件 · 54.5 KB · 1836 行 Markdown 6f · 798L
TypeScript 8f · 518L
JavaScript 5f · 410L
JSON 3f · 88L
Ignore 1f · 17L
Text 1f · 5L
├─
▾
src
│ ├─
archiver.ts
TypeScript
│ ├─
config.ts
TypeScript
│ ├─
defaults.ts
TypeScript
│ ├─
index.ts
TypeScript
│ ├─
refiner.ts
TypeScript
│ ├─
test.ts
TypeScript
│ └─
types.ts
TypeScript
├─
.gitignore
Ignore
├─
CHANGELOG.md
Markdown
├─
CONFIGURATION.md
Markdown
├─
index.js
JavaScript
├─
keywords.json
JSON
├─
LICENSE.txt
Text
├─
package.json
JSON
├─
plugin.ts
TypeScript
├─
PUBLIC-README.md
Markdown
├─
PUBLISH.md
Markdown
├─
README.md
Markdown
├─
refine.js
JavaScript
├─
screenshot-demo.js
JavaScript
├─
SKILL.md
Markdown
├─
standalone-archive.js
JavaScript
├─
test.js
JavaScript
└─
tsconfig.json
JSON
依赖分析 4 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
openclaw | ^0.5.0 | npm | 否 | Caret version allows major updates |
fast-glob | not declared | dynamic import | 否 | Imported but not used in src/archiver.ts |
@types/node | ^20 | npm | 否 | Dev dependency, not pinned |
typescript | ^5 | npm | 否 | Dev dependency, not pinned |
安全亮点
✓ No base64-encoded payloads or obfuscated execution observed
✓ No reverse shell, C2 communication, or direct IP network requests found
✓ No ~/.ssh, ~/.aws, or .env file access detected
✓ No curl|bash or wget|sh remote script execution
✓ AI refinement (callAI) is a stub — not actually implemented
✓ Dependencies are from a legitimate registry with no known malicious packages
✓ No hidden instructions in HTML comments or steganography detected