T05 · Unauthorized Access and Privilege Escalation
Warning
- Location
- SKILL.md:20
- Finding
- Overbroad Access to Shared Agent Memory## Vulnerability Details **File Location**: `SKILL.md`, line 20 **Vulnerability Type**: Least-privilege violation through cross-skill memory access **Risk Level**: Medium **Relevant snippet translated into English:** ```markdown First read `config.yaml` (if it cannot be read, explicitly state that the configuration is missing and stop; do not use example values as if they were the user's settings), then read `zmm/references/Interaction Specification.md` (...), and then read memory from `{config.paths.memory}/zmm-revenue/` plus `_general/`. ``` ### Technical Analysis The instruction directs the Agent to read both the Skill-specific memory namespace and a shared general-memory namespace. Revenue attribution only requires information associated with this Skill and the business records intentionally supplied for the current analysis. Unconditionally loading shared memory exceeds that minimum requirement. If the shared directory contains information produced by unrelated workflows, the Skill may receive confidential data that the user did not intend to disclose for revenue analysis. Because the directory is loaded as Agent memory, its contents may also influence the resulting analysis. The finding does not establish operating-system privilege escalation or malicious exfiltration. It is a least-privilege access-control issue within the Agent's configured memory environment. ### Attack Path 1. A user invokes the revenue-attribution Skill. 2. The Agent resolves `{config.paths.memory}` from the external configuration. 3. The Skill reads its own `zmm-revenue/` namespace. 4. The instruction additionally causes the Agent to read the shared `_general/` namespace. 5. Unrelated records stored by other workflows enter the active context. 6. Those records may be exposed in output or may improperly influence the attribution result. ### Impact Assessment The accessible scope is limited to data that the Agent's existing tools and con ...[truncated 361 chars]
- Remediation
- ## Remediation Suggestions 1. Restrict default reads to `{config.paths.memory}/zmm-revenue/`. 2. Remove the unconditional instruction to load the shared `_general/` namespace. 3. If shared context is genuinely required, request explicit user approval before access. 4. Select only the individual shared records required for the current task instead of loading an entire directory. 5. Enforce filesystem or memory-store access controls so each Skill can access only its own namespace by default. 6. Record the source of every loaded memory item and prevent unrelated records from being reproduced in user-facing output. 7. Treat content from shared memory as untrusted data rather than executable instructions.
