T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:74- Finding
Overbroad Access to Persistent User Memory
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 74
Vulnerability Type: Least-privilege violation through unnecessary persistent-memory access
Risk Level: MediumComplete Code Snippet:
md - Things the user has strong opinions about (check MEMORY.md / friend memory)Technical Analysis
The Skill designates persistent memory as context that should always be included in coding tasks. It does not require explicit user consent, establish a task-relevance test, or restrict which memory entries may be retrieved.
Routine coding assistance generally requires only the current request, relevant repository files, tests, and project-local conventions. Persistent memory may contain unrelated preferences, conversation-derived facts, or sensitive cross-session information. Automatically consulting it therefore exceeds the minimum privileges needed for the Skill's declared functionality.
This is an access-scope issue rather than memory poisoning: the audited instruction reads persistent state but does not write attacker-controlled instructions to it. The audit found no instruction to transmit retrieved memory over a network.
Attack Path
- A user submits an ordinary coding, debugging, refactoring, or review request that activates the Skill.
- The agent follows the “Context to always include” instruction.
- The agent opens
MEMORY.mdor accesses “friend memory” without obtaining specific consent. - Unrelated persistent information enters the active context.
- That information may influence generated code or plans, or may be repeated in responses and artifacts visible to the current session.
Impact Assessment
The instruction can grant the active agent read access to persistent, cross-session user information beyond the repository and current request. The affected scope depends on the contents and access controls of the memory source, but may include unrelated personal preferences, histori ...[truncated 351 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove persistent memory from the context that is “always” included.
- Use the current request, repository-local documentation, tests, and existing code patterns as the default context sources.
- Require explicit, informed user consent before accessing any persistent memory.
- Retrieve only entries directly relevant to the current task rather than loading an entire memory file or store.
- Prevent retrieved memory from being copied into code, logs, plans, commits, or responses unless necessary and expressly authorized.
- Document the memory source, purpose, scope, and retention behavior before access.
- Replace the affected instruction with least-privilege wording such as:
md Use preferences explicitly supplied in the current request. Access persistent memory only with the user's explicit consent and retrieve only entries directly relevant to the current task.
