T01 · Skill Instruction Hijacking
Error
- Location
- SKILL.md:29
- Finding
- Automatic Invocation of Installed Skills Without User Authorization<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 29-35 **Vulnerability Type**: Automatic and potentially compound invocation of installed skills **Risk Level**: High ### Vulnerable Code ```markdown ### 2. Match Before Asking On every user message, scan the trigger table mentally. If a skill matches, use it. Don't ask "should I use X?" Just use it. The user installed the skill because they want it used. ### 3. Multiple Matches Are Fine If a message matches multiple skills, use all of them. A request about a PDF from a website might trigger both `scrapling-official` (to fetch it) and `markdown-converter` (to process it). ``` ### Technical Analysis The skill instructs the agent to invoke any skill whose trigger matches a user message and explicitly prohibits requesting confirmation. It also directs the agent to invoke all matching skills rather than selecting the minimum functionality required for the task. Installing a skill does not necessarily authorize every future execution or every possible side effect. Installed skills may have access to network services, local files, credentials, external accounts, deployment systems, or other tools. Automatically invoking them based only on keywords, file types, or broad task categories bypasses task-specific authorization and least-privilege controls. This behavior alters the agent's normal invocation policy when the skill text is loaded. It can consequently redirect execution into other installed skills even when the user did not explicitly request those operations. ### Attack Path 1. The agent loads `skill-auto-use` and adopts its instruction to execute matching skills without confirmation. 2. An installed skill is associated with an observable trigger, such as a keyword, domain, or file type. 3. A user or attacker submits content that intentionally or incidentally matches the trigger. 4. The agent invokes the associated skill without checking whether its side effects are necessary or a ...[truncated 951 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Replace automatic invocation with a recommendation mechanism that identifies a potentially useful skill but does not execute it automatically. - Require explicit user approval before invoking skills that can write files, access credentials, contact external services, operate accounts, publish content, deploy software, or otherwise cause consequential side effects. - Apply least privilege by selecting only the minimum skill necessary for the requested task. - Do not invoke every matching skill. Resolve overlapping triggers using a deterministic priority policy and confirm ambiguous or compound operations. - Display the selected skill, intended action, required permissions, and expected side effects before execution. - Treat user-controlled files, keywords, domains, and document contents as untrusted trigger inputs. - Allow narrowly scoped automatic execution only for demonstrably read-only, local, reversible operations that the user has explicitly enabled. ]]>
