T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:16- Finding
Mandatory Overbroad Access to Persistent Agent Memory
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:16,SKILL.md:34-35, andreferences/routing.md:5
Vulnerability Type: Excessive access to persistent memory in violation of least-privilege principles
Risk Level: MediumVulnerable Code Snippets
SKILL.md:16:markdown - Always use the mandatory core: `web-scraper`, `self-improvement`, `supermemory`, `brainstorming`, `zo-research-topic`, and `market-research`.SKILL.md:34-35:markdown 2. **Load context** - Use `supermemory` for prior decisions, preferences, projects, and recurring context.references/routing.md:5:markdown 1. `supermemory` — recover prior decisions, preferences, and related work.Technical Analysis
The Skill requires
supermemoryto be invoked for every query, regardless of whether the current task requires historical user context. It directs the Agent to retrieve prior decisions, preferences, projects, recurring context, and related work.This mandatory retrieval violates the principle of least privilege because a simple or unrelated research request does not necessarily justify access to persistent memory. Retrieved information may also enter the broader research workflow, which invokes several other skills.
The implementation of
supermemoryis not included in this project, so the exact storage permissions, retrieval scope, filtering behavior, and downstream disclosure controls cannot be verified. The finding therefore concerns the unconditional and overbroad access requirement in this Skill, rather than a demonstrated defect in the external memory implementation.Attack Path
- A user or untrusted workflow submits any research query, including one that does not require historical context.
- The Skill loads and applies its mandatory routing instructions.
- The Agent invokes
supermemorybecause it is required for every query. - The memory skill retrieves prior decisions, preferences, projects, recurring context, or rela ...[truncated 1265 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
supermemoryfrom the mandatory core and invoke it only when historical context is materially necessary for the current request. - Require explicit user consent before retrieving persistent context, particularly for sensitive or cross-project research.
- Define narrow retrieval scopes, such as a named project, a specified date range, or an explicit category of preferences.
- Exclude credentials, secrets, private communications, and unrelated project data from retrieval.
- Minimize retrieved content and pass only the specific facts required for the current task to downstream skills.
- Add a policy that memory-derived data must not be forwarded to web scraping, market research, or other external capabilities unless the user explicitly authorizes it.
- Record which memory categories were accessed and disclose that access in the response when appropriate.
- Update the instructions to use conditional language, for example:
markdown - Use `supermemory` only when the user requests continuity with prior work or when historical context is essential. - Ask for consent and scope retrieval to the relevant project or preference category. - Do not retrieve or forward secrets, credentials, or unrelated historical context.- Apply the same conditional-access rule consistently in both
SKILL.mdandreferences/routing.md.
- Remove
