Scan Report
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 install this skill
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.
Attack Chain 6 steps
◎
Entry Skill distributed as legitimate OpenClaw memory plugin via SKILL.md marketing
SKILL.md:1⬡
Escalation Hardcoded Windows username path reveals user identity for targeting
index.js:62⬡
Escalation spawns powershell.exe with ExecutionPolicy Bypass to run non-existent scripts
index.js:67⬡
Escalation Extracts messages containing credential-adjacent keywords (password, token, key, secret, api, 密钥, 密码) from chat transcripts
src/archiver.ts:118◉
Impact Stores credential-adjacent transcript snippets in plaintext memory/YYYY-MM-DD.md files
src/archiver.ts:108⬡
Escalation Refinement feature (callAI stub) could be implemented to POST extracted credentials to external AI endpoint
src/refiner.ts:25Findings 7 items
| Severity | Finding | Location |
|---|---|---|
| High | Hardcoded Windows username path leaks user identity Priv Escalation | index.js:62 |
| High | Undeclared PowerShell execution with bypassed execution policy Doc Mismatch | index.js:67 |
| High | Sensitive credential keywords used to extract transcript highlights Credential Theft | src/defaults.ts:21 |
| Medium | SKILL.md claims zero config needed but hardcoded paths require config Doc Mismatch | SKILL.md:1 |
| Medium | Dynamic fast-glob import with no actual usage Sensitive Access | src/archiver.ts:94 |
| Low | No version pinning for dependencies Supply Chain | package.json:24 |
| Low | External URL reference in keywords.json Doc Mismatch | keywords.json:2 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | WRITE | ✗ Violation | src/archiver.ts:108 — fs.writeFile for daily logs + marker files; standalone-arc… |
| Network | NONE | NONE | — | refine.js / src/refiner.ts — callAI() stub exists with TODO comment, not yet imp… |
| Shell | NONE | WRITE | ✗ Violation | index.js:67-71 — spawn('powershell.exe', psArgs) with -ExecutionPolicy Bypass |
| Environment | NONE | READ | ✓ Aligned | Multiple files read process.env.OPENCLAW_WORKSPACE |
2 findings
Medium External URL 外部 URL
https://clawhub.ai/skills/publish PUBLISH.md:18 Medium External URL 外部 URL
https://json.schemastore.org/default keywords.json:2 File Tree
24 files · 54.5 KB · 1836 lines 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
Dependencies 4 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
openclaw | ^0.5.0 | npm | No | Caret version allows major updates |
fast-glob | not declared | dynamic import | No | Imported but not used in src/archiver.ts |
@types/node | ^20 | npm | No | Dev dependency, not pinned |
typescript | ^5 | npm | No | Dev dependency, not pinned |
Security Positives
✓ 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