T02 · Agent Memory Poisoning
- Location
SKILL.md:154- Finding
Untrusted User Content Can Poison Persistent Agent Memory
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This memory skill is related to its stated purpose, but it asks for broad persistent memory behavior with weak user control and contains unsafe setup and maintenance commands.
Review carefully before installing. This skill is not clearly malicious, but it is designed to retain and reuse conversation context across sessions and includes commands that can execute local scripts, install third-party packages, sync or expose memories through external services, and delete stored vector memory. Only use it with explicit consent, verified helper scripts, local-only settings unless cloud sync is intended, and backups before any cleanup command.
SKILL.md:154Untrusted User Content Can Poison Persistent Agent Memory
SKILL.md:122Relative Execution of a Missing memory.py Script Enables Local Tool Spoofing
SKILL.md:82Unpinned npm Dependency Installation Creates a Supply-Chain Execution Risk
SKILL.md:274Destructive Vector Database Deletion Lacks Confirmation and Recovery Safeguards
The skill includes an executable destructive command, rm -rf ~/.agent/memory/vectordb/, in a routine maintenance block. In an agent skill with exec permission, this materially increases the chance of unauthorized or accidental deletion of persisted memory state, especially if run automatically or without path validation.
memory_recall query="*" limit=50
rm -rf ~/.agent/memory/vectordb/
agent gateway restart
python3 memory.py -p . export --format json > memories.json
The skill includes an executable destructive command, rm -rf ~/.agent/memory/vectordb/, in a routine maintenance block. In an agent skill with exec permission, this materially increases the chance of unauthorized or accidental deletion of persisted memory state, especially if run automatically or without path validation.
memory_recall query="*" limit=50
rm -rf ~/.agent/memory/vectordb/
agent gateway restart
python3 memory.py -p . export --format json > memories.json
The description and the entire skill content are written as Chinese-only guidance, and later text emphasizes full Chinese localization for the workflow. There is no indication that users can opt into another language or that the locale restriction is required for compliance or region-specific operation.
The skill directs automatic persistence of context, decisions, and preferences to local files as a default behavior without a clear user-facing retention notice. Because the stored material is natural-language conversation state, it can easily include sensitive or personal information the user did not expect to be retained.
The skill markets itself as a free/local memory solution, yet the same document instructs use of cloud backup and Mem0 external services. This inconsistency can mislead operators into enabling external data egress paths they did not expect, especially when the skill handles persistent user context and preferences.
The skill promotes long-term logging, cloud backup, and automatic fact extraction from conversations, all of which expand collection beyond immediate task needs. In a memory-management skill, this context makes the risk more serious because the intended behavior is systematic aggregation and reuse of user data over time.
The agent instructions explicitly require persistent storage of user details, preferences, corrections, and decisions across conversations by default. This creates a substantial privacy and data leakage risk because sensitive user information may be retained indefinitely and later surfaced to the wrong task, user, or integration.
The instruction to 'silently' store important decisions in Git-Notes normalizes background retention without user awareness. Silent storage is particularly risky here because Git-backed notes may be synchronized, versioned, or shared, making accidental disclosure harder to detect or undo.
The examples normalize comprehensive cross-session recording of user inputs, decisions, and preferences in multiple stores. Multi-store persistence increases attack surface and the likelihood of over-retention, correlation, and accidental disclosure through search, sync, exports, or repository history.
The maintenance section includes a destructive deletion command that removes the vector database without an explicit warning, confirmation step, or backup guidance. An agent following the recipe could irreversibly delete retained memory and operational state, causing data loss or service disruption.
The FAQ says vector search, Mem0, and cloud backup are pro-only, while earlier sections present commands and setup steps as if they are usable now. This mixed messaging increases the chance an agent or user will configure unsupported external integrations and expose memory data unintentionally.
The file states the free version does not involve external API calls, but elsewhere documents API-key-driven cloud backup and Mem0 usage. That contradiction undermines informed consent and can cause unexpected transmission of retained conversation data to third-party services.
The document explicitly suggests storing contact information and using optional cloud synchronization, but it does not warn users about handling personal data, access control, retention, or the risk of syncing sensitive memory content to third-party services. In a memory-management skill, this increases the chance that users persist PII or confidential project data without understanding exposure risks.
Natural-language policy issues apply to all file types, including markdown. This file presents all instructional content in Chinese and does not provide an opt-in, alternative language, or justification for a Chinese-only experience, which can be a language/locale policy violation.