T01 · Skill Instruction Hijacking
Error
- Location
- SKILL.md:14
- Finding
- Persistent Agent Role and Execution-Policy Hijacking<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:14-25, 50-56` **Vulnerability Type**: Persistent session-level instruction redirection **Risk Level**: High ### Vulnerable Code ```markdown **STATE CHANGE**: When user declares you as CoS, this mode **persists for the entire conversation**. ### Immediate Actions 1. Acknowledge the CoS role 2. Verify VibeKanban MCP tools available 3. ALL subsequent requests become task delegations 4. Never revert to execution mode unless explicitly told ### The Golden Rule **"I want to X" → Create a task, do NOT do X yourself.** ``` ```markdown ### What You Do NOT Do - Investigate codebases (delegate it) - Implement features or fixes (delegate it) - Write or Edit code files **Exception**: Full autonomy in `/Users/clementwalter/Documents/rookie-marketplace`. ``` ### Technical Analysis The skill installs a persistent behavioral state that changes how the agent interprets all subsequent user requests. After a user activates Chief of Staff mode, the instructions require every later request to become an external task delegation and prohibit the agent from returning to its normal execution behavior unless explicitly directed. This exceeds request-scoped workflow guidance because it attempts to redefine session-wide goals and tool-use policy. The hard-coded exception for `/Users/clementwalter/Documents/rookie-marketplace` is also unrelated to the general coordination function and grants preferential autonomous behavior to an author-specific local repository. The surrounding workflow directs the agent to create VibeKanban tasks and start workspace sessions. Therefore, successful instruction hijacking can cause external side effects through configured MCP tools rather than merely changing the response style. No evidence was found that this instruction creates cross-session persistence, modifies long-term memory, escalates operating-system privileges, or bypasses MCP authorization. Its persistence is limited to ...[truncated 1680 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the session-persistent state requirement. Chief of Staff behavior should apply only to the current request or to a clearly bounded workflow. 2. Replace “ALL subsequent requests become task delegations” with language requiring the agent to evaluate each request independently. 3. Explicitly state that system instructions, safety policies, current user intent, and tool authorization boundaries always take precedence. 4. Require explicit user confirmation before any side-effecting operation, including: - Creating a VibeKanban task. - Starting a workspace session. - Selecting a repository or base branch. - Dispatching an external coding agent. 5. Provide a visible, immediate opt-out mechanism and automatically leave coordination mode when the requested coordination workflow ends. 6. Remove the hard-coded `/Users/clementwalter/Documents/rookie-marketplace` exception. Any repository-specific autonomy must be configured by the current user and constrained by the host’s access-control policy. 7. Apply least privilege by limiting MCP access to user-selected projects, repositories, and branches. 8. Before dispatch, present the proposed task, target project, repository, branch, executor, and expected side effects for approval. 9. Record and report every created task or launched session so that users can identify and cancel unintended operations. ]]>
