T09 · Insecure Skill Coding Practices
- Location
SKILL.md:54- Finding
Persistent Behavioral Memory Is Stored Without Implemented Confidentiality or Integrity Controls
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 54-68; related unsupported security claim at line 177 and storage description at line 187
Vulnerability Type: Unprotected persistent behavioral memory
Risk Level: MediumVulnerable Instruction Excerpt
The following is an English rendering of the relevant instructions:
markdown - Correction learning mechanism: Explicit user corrections are recorded in corrections.md and evaluated for promotion to memory.md. Correction records receive priority during recall. The latest 50 corrections remain available. - Layered memory: memory.md: up to 100 lines and always loaded. projects/ and domains/: loaded when a project or domain matches. archive/: loaded through explicit queries. corrections.md: latest 50 corrections, loaded during review. First step: Create the layered directory structure under ~/evolution-engine/, including memory.md, index.md, heartbeat-state.md, metrics.md, projects/, domains/, archive/, and corrections.md. Second step: Explicit preference signals are written to memory.md. Fifth step: Preserve confirmed preferences and never delete automatically.The document separately claims:
markdown All data is encrypted, only necessary information is stored, and strict access controls are implemented.However, it also describes the implementation as:
markdown This skill requires no API key. It is driven entirely by Markdown instructions, and all memory is stored locally under ~/evolution-engine/.Technical Analysis
The skill directs an agent to create durable Markdown files containing user corrections, preferences, reflections, project-specific rules, and behavioral metrics. Selected records are automatically or preferentially loaded into later agent contexts.
The repository contains only
SKILL.md; it contains no implementation of encryption, key management, restrictive file ...[truncated 2532 chars]- Remediation
View remediation
Remediation Suggestions
- Require explicit user opt-in before creating persistent behavioral memory.
- Clearly disclose which interaction data is recorded, why it is retained, and when it is reloaded.
- Create the data directory and files with restrictive owner-only permissions.
- If encryption is advertised, implement authenticated encryption with documented key storage and rotation. Otherwise, remove the unsupported encryption claim.
- Add integrity protection, such as authenticated records or signed append-only entries, before treating stored rules as trusted instructions.
- Treat loaded memory as untrusted data rather than executable instructions and prevent it from overriding system or safety policies.
- Record provenance, timestamps, confirmation state, and namespace for every persistent rule.
- Ask for confirmation before applying a modified or newly discovered persistent rule.
- Provide configurable retention limits and reliable deletion, export, and reset controls.
- Exclude secrets, credentials, health information, third-party data, and other sensitive content using validation before writes rather than relying solely on natural-language guidance.
