Memory Scan
Scans OpenClaw agent memory files and workspace configs for malicious content, credential leaks, prompt injections, and security threats.
Like a lobster shell, security has layers — review code before you run it.
License
SKILL.md
memory-scan
Security scanner for OpenClaw agent memory files
Scans MEMORY.md, daily logs (memory/*.md), and workspace configuration files for malicious content, prompt injection, credential leakage, and dangerous instructions that could compromise user security.
Purpose
Detect security threats embedded in agent memory:
- Malicious instructions to bypass guardrails
- Prompt injection patterns in stored memories
- Credential/secret leakage
- Data exfiltration commands
- Behavioral manipulation
- Security policy violations
Usage
On-Demand Scan
Scan all memory files:
python3 skills/memory-scan/scripts/memory-scan.py
Allow remote LLM analysis (redacted content only):
python3 skills/memory-scan/scripts/memory-scan.py --allow-remote
Scan specific file:
python3 skills/memory-scan/scripts/memory-scan.py --file memory/2026-02-01.md
Quiet mode (for automation):
python3 skills/memory-scan/scripts/memory-scan.py --quiet
JSON output:
python3 skills/memory-scan/scripts/memory-scan.py --json
Scheduled Monitoring
Cron Job (Daily Security Audit)
Already included in safe-install daily audit - runs 2pm PT daily.
To add standalone cron:
bash skills/memory-scan/scripts/schedule-scan.sh
Requires:
OPENCLAW_ALERT_CHANNEL(configured in OpenClaw)OPENCLAW_ALERT_TO(optional, for channels that require a recipient)
Creates cron job: daily at 3pm PT, sends alert only if threats found.
Heartbeat Integration
Add to HEARTBEAT.md:
## Weekly Memory Scan
Every Sunday, run memory scan:
python3 skills/memory-scan/scripts/memory-scan.py --quiet
Security Levels
- SAFE - No threats detected
- LOW - Minor concerns, proceed with awareness
- MEDIUM - Potential threat, review recommended
- HIGH - Likely threat, immediate review required
- CRITICAL - Active threat detected, quarantine recommended
What It Scans
- MEMORY.md - Long-term memory
- memory/*.md - Daily logs (last 30 days by default)
- Workspace config files:
- AGENTS.md, SOUL.md, USER.md, TOOLS.md
- HEARTBEAT.md, GUARDRAILS.md, IDENTITY.md
- BOOTSTRAP.md (if exists)
- STOCKS_MEMORIES.md (if exists)
Detection Categories
- Malicious Instructions - Commands to harm user/data
- Prompt Injection - Embedded manipulation patterns
- Credential Leakage - API keys, passwords, tokens
- Data Exfiltration - Instructions to leak data
- Guardrail Bypass - Attempts to override security
- Behavioral Manipulation - Unauthorized personality changes
- Privilege Escalation - Attempts to gain unauthorized access
Alert Workflow
On MEDIUM/HIGH/CRITICAL detection:
- Stop processing
- Send alert via configured OpenClaw channel with:
- Severity level
- File location (file:line)
- Threat description
- Recommended action
- Optional: Quarantine threat (backup + redact)
LLM Provider
Auto-detects provider from OpenClaw config:
- Prefers OpenAI (gpt-4o-mini) if OPENAI_API_KEY set
- Falls back to Anthropic (claude-sonnet-4-5) if available
- Uses gateway model config
Remote LLM scanning is disabled by default. Use --allow-remote to enable
redacted LLM analysis.
Quarantine
To quarantine a detected threat:
python3 skills/memory-scan/scripts/quarantine.py memory/2026-02-01.md 42
Creates:
- Backup:
.memory-scan/quarantine/memory_2026-02-01_line42.backup - Redacts line 42 with:
[QUARANTINED BY MEMORY-SCAN: <timestamp>]
Files
scripts/memory-scan.py- Main scanner (local patterns + optional LLM with--allow-remote)scripts/schedule-scan.sh- Create cron job for daily scansscripts/quarantine.py- Quarantine detected threatsdocs/detection-prompt.md- LLM detection prompt template
Integration with Other Skills
- safe-install: Daily audit already includes memory-scan
- input-guard: Complementary (input-guard = external, memory-scan = internal)
- molthreats: Can report memory-based threats to community feed
Example
$ python3 skills/memory-scan/scripts/memory-scan.py
🧠 Memory Security Scan
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Scanning memory files...
✓ MEMORY.md - SAFE
✓ memory/2026-02-01.md - SAFE
⚠ memory/2026-01-30.md - MEDIUM (line 42)
→ Potential credential leakage: API key pattern detected
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Overall: MEDIUM
Action: Review memory/2026-01-30.md:42
Agent Workflow
When user requests memory scan:
- Run:
python3 skills/memory-scan/scripts/memory-scan.py - If MEDIUM+: Send alert immediately via configured channel
- Summarize findings
- Ask if user wants to quarantine threats
Notes
- Scans last 30 days of daily logs by default (configurable with --days)
- Uses same LLM approach as input-guard for consistency
- Does NOT auto-quarantine - always asks first
- Safe to run frequently (minimal API cost with efficient chunking)
Files
12 totalComments
Loading comments…
