T05 · Unauthorized Access and Privilege Escalation
Warning
- Location
- SKILL.md:3
- Finding
- Automatic External and Persistent Storage Without Explicit User Consent<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:3-10`, `SKILL.md:48-63`, and `references/mcp-commands.md:267-272` **Vulnerability Type**: Persistence beyond explicit user intent **Risk Level**: Medium ### Vulnerable Code Snippets `SKILL.md:3-10`: ```yaml description: > Route high-value content into a Notion workspace with a quality gate, destination mapping, and exact MCP write patterns. ALWAYS trigger when the user says "save this to Notion", "put this in my brain", "add this to the knowledge base", "capture this for later", "log this in Notion", or any variation of saving, storing, or routing content to Notion. Also trigger when an agent produces a research summary, decision memo, project plan, status update, article draft, security audit, financial snapshot, weekly rollup, contact note, meeting prep, or other durable content that belongs in Notion. ``` `SKILL.md:48-63`: ```markdown In scope: - research summaries - decision memos - project plans and project status - article drafts - security audit reports - financial snapshots - weekly rollups - contact notes - meeting prep - quick captures worth preserving Out of scope: - health database management - property, vehicle, or equipment management - replacing workspace memory or daily logs - auto-pushing everything by default Always write to workspace memory separately when the content also matters for agent continuity. ``` `references/mcp-commands.md:267-272`: ```markdown ## Operational advice - Search first when duplicate risk is non-trivial - Use Inbox DB for ambiguous or low-structure captures - Use parent pages for durable artifacts - Append instead of recreate when a page already exists - Write to workspace memory too when the information matters for agent continuity ``` ### Technical Analysis The skill declares that it should activate not only when a user explicitly asks to save content, but also whenever an agent produces one of several broadly defined durabl ...[truncated 2963 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Require explicit user authorization before every persistent write unless the user has previously enabled a clearly defined and revocable automation policy. 2. Do not treat the generation of an artifact as sufficient authorization to store it. Restrict automatic activation to explicit save or routing requests. 3. Remove the unconditional workspace-memory instruction. Memory writes should require an independent necessity assessment and user consent. 4. Add a sensitivity gate for security, financial, personal, credential-bearing, legal, and confidential business content. Default to not saving such material. 5. Before writing, present: - The exact destination. - Whether the operation creates, appends, or replaces content. - A concise payload preview. - Whether a second copy will be written to workspace memory. 6. Require separate confirmation before `replace_content`, because that operation can overwrite an existing persistent record. 7. Apply least-privilege Notion integration permissions, limiting the integration to only the intended pages or databases. 8. Provide a configurable retention and deletion policy for both Notion and workspace memory. 9. Record user-approved write operations in an audit log containing the destination, timestamp, operation type, and authorization source, while excluding sensitive body content where possible. 10. Change the default behavior for ambiguous cases from “save to inbox” to “ask before saving.” ]]>
