T02 · Agent Memory Poisoning
- Location
SKILL.md:22- Finding
Automatic Persistent Memory and Skill Modification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill openly implements agent self-learning, but it can automatically persist task content and modify memory or skill instructions with weak scoping and flawed safeguards.
Install only if you intentionally want an agent to keep persistent lessons from routine tasks and potentially alter future memory or skill behavior. Prefer explicit approval before writes, disable automatic post-task activation, and fix the path and write-limit checks before using it in a workspace with sensitive content.
SKILL.md:22Automatic Persistent Memory and Skill Modification
SKILL.md:283Instruction Hierarchy and Self-Preservation Hijacking
SKILL.md:220Filesystem Sandbox Escape Through String-Prefix Validation
SKILL.md:241Global Write-Amplitude Limit Bypassed for New Files
The skill is designed to auto-activate after many ordinary task completions and explicitly says it does not require a user request. Because it persists task-derived data and may modify memory or skill files, broad automatic triggering increases the chance of unreviewed retention of sensitive data and unintended self-modification from routine interactions.
The skill describes multiple persistent write paths, including reflections, promotions, MEMORY/TABOOS, and even updates to other skill documents, but does not clearly warn users up front that task-derived content may be stored or propagated. This undermines informed consent and raises privacy and integrity risks, especially because the skill can run automatically after task completion.
The class is documented as an in-memory file system adapter using path -> content_bytes, which indicates it should preserve file contents for realistic file-system-like behavior. However, write() saves len(data) instead of the bytes themselves, so subsequent read() returns an integer-like size value rather than the original content, contradicting the stated intent of the adapter.