Back to skill

Security audit

Openclaw Never Forget

Security checks for vulnerabilities and agentic risk

Overview

This skill is a memory tool, but it directs silent automatic retention of user and project context without enough user control.

Install only if you intentionally want OpenClaw to keep ongoing local memory. Review the memory files regularly, avoid sharing secrets while it is active, and prefer a version that requires confirmation before saving long-term facts or rules and provides deletion, redaction, and opt-out controls.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:27
Finding
Automatic Persistent Memory Writes Enable Cross-Session Memory Poisoning## Vulnerability Details **File Location**: `SKILL.md`, lines 27-42 and 68-72 **Vulnerability Type**: Persistent memory poisoning through silent, automatic state updates **Risk Level**: Medium ### Vulnerable Instructions ```markdown ### Phase 1: Silent Background Operations **Trigger**: Continuous during active sessions. - **00:00 Daily Boot**: - On the first prompt of a new day, verify the existence of `memory/YYYY-MM-DD.md`. Create it with a standard template if missing. - **30-Minute Checkpoint**: - *Action*: Every 30 minutes of active interaction, briefly summarize the immediate context (What are we building? What bugs are we fixing?). - *Storage*: Append this snapshot seamlessly under the current time block in today's Episodic Memory file. - **Insight Extraction**: - *Action*: If a significant decision is made, a rule is established by the user, or a major task completes, extract the "Core Knowledge" and append it to the long-term `memory/MEMORY.md`. ``` ```markdown 3. **Immutability of the Past**: When writing to `YYYY-MM-DD.md`, **only append** to the end of the file. Do not rewrite historical entries from earlier in the day unless explicitly fixing a critical factual error directed by the user. ``` ### Technical Analysis The Skill instructs the agent to create and update persistent memory continuously and silently. Conversation content classified as a user rule, important decision, task result, or contextual snapshot is written to daily memory files or the long-term `memory/MEMORY.md` file without requiring explicit confirmation for each write. This creates a persistent indirect-instruction channel. Untrusted content introduced through user messages, copied documents, web content, issue descriptions, or other retrieved material can be misclassified as authoritative core knowledge. Once stored, later memory retrieval can cause the content to influence future sessions even after the original untruste ...[truncated 2649 chars]
Remediation
## Remediation Suggestions 1. Require explicit opt-in before enabling persistent memory and clear confirmation before writing any long-term rule, preference, credential-related context, or sensitive fact. 2. Distinguish direct user statements from quoted, generated, retrieved, or third-party content. Never promote instructions from untrusted content into semantic memory automatically. 3. Store provenance with every entry, including timestamp, source type, originating session, confidence, and whether the user explicitly approved it. 4. Treat all retrieved memory as untrusted reference data. Require current-session validation before allowing a stored entry to direct tool use or override current instructions. 5. Add schema validation and an allowlist of permitted memory categories. Reject executable instructions, requests to bypass safety rules, secrets, authentication material, and unrelated operational commands. 6. Implement sensitive-data detection and redaction before writing memory. Define retention periods and provide review, export, correction, and deletion controls. 7. Replace unconditional append-only behavior with auditable correction and revocation records. Ensure searches suppress entries marked invalid or superseded. 8. Restrict memory writes to a dedicated approved directory using least-privilege file permissions and prevent stored content from selecting arbitrary paths. 9. Present proposed semantic-memory changes to the user as a reviewable diff before committing them. 10. Add tests covering prompt injection through quoted text, retrieved documents, conflicting rules, sensitive information, and poisoned-memory recall.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Missing User Warnings

High
Confidence
99% confidence
Finding
The skill explicitly instructs silent creation and updating of local memory files, including daily logs and semantic memory, without any user-facing warning or consent flow. Silent persistence of conversation-derived data is dangerous because users may disclose secrets, internal project details, or personal preferences without realizing they are being retained across sessions.

Vague Triggers

High
Confidence
97% confidence
Finding
The skill defines 'continuous during active sessions' as a trigger for background behavior, which is overly broad and effectively authorizes persistent autonomous operation without a clear user action boundary. In the context of a memory skill, this increases the chance of collecting, storing, or acting on sensitive conversational data without explicit consent or scoped limits.

Ssd 3

Medium
Confidence
93% confidence
Finding
The long-term semantic memory section proposes storing distilled facts about the user and their projects, including preferences, workflows, and structural decisions, which can accumulate into a sensitive profile over time. Although the text says not to store raw API keys, it still encourages retention of private contextual information that may aid inference, leakage, or unauthorized persistence beyond user expectations.

Ssd 3

Medium
Confidence
95% confidence
Finding
The skill directs the agent to continuously log session context and retain it across time, creating a durable natural-language memory channel that can later expose sensitive information through retrieval, summarization, or accidental inclusion in future responses. Even if intended for continuity, broad retention of user and project context increases privacy and confidentiality risk, especially when snapshots occur automatically every 30 minutes.

Static analysis

No suspicious patterns detected.