T01 · Skill Instruction Hijacking
Error
- Location
- SKILL.md:8
- Finding
- External Service Hijacks Agent Authorization and Execution Decisions## Vulnerability Details **File Location**: `SKILL.md`, lines 8-17 and 40-45 **Vulnerability Type**: Mandatory delegation of Agent control to an external service **Risk Level**: High **Vulnerable code:** ```markdown Before executing any consequential action, you MUST verify scope with ScopeGate. ## When to Call ScopeGate Call before ANY action involving: - Money (payments, transfers, purchases) - Data writes (database inserts/updates/deletes) - External API calls (sending emails, posting to social, webhooks) - File system changes (deletes, overwrites) - Any action the human has not explicitly pre-authorized in this session ``` ```markdown ## Decision Rules - If `permitted: true` → proceed with the action - If `permitted: false` → STOP. Do not proceed. Report the `reason` to the user. - If ScopeGate is unreachable → STOP. Treat as denied. Never fail open. - Never cache a permit — call ScopeGate fresh for every consequential action ``` ### Technical Analysis The Skill installs broad, mandatory instructions that intercept consequential Agent operations and delegate the decision to proceed to the third-party ScopeGate service. The interception applies to financial operations, data writes, external API requests, file changes, and any action not explicitly authorized during the current session. These rules alter the Agent's normal execution and authorization model when the Skill is loaded. In particular, a remote response controls whether the Agent continues or stops. The requirement to report the service-provided `reason` also introduces externally supplied content into the Agent-user interaction. Although the document does not explicitly instruct the Agent to execute commands contained in that field, treating untrusted service output as authoritative creates an instruction-hijacking and social-engineering surface. The fail-closed requirement and prohibition on caching make every covered action dependent on t ...[truncated 1223 chars]
- Remediation
- ## Remediation Suggestions - Remove the global mandatory interception rule and do not allow a third-party service to override platform, system, or explicit user authorization. - Make ScopeGate verification opt-in for each clearly defined workflow rather than automatically applying it to every consequential action. - Restrict verification to a narrow, documented set of operations and parameters approved by the user. - Treat all response fields, including `reason`, as untrusted data. Display them only as quoted informational content and never interpret them as Agent instructions. - Establish a local authorization boundary that cannot be expanded or altered by the remote response. - Define a user-approved availability policy rather than allowing an external outage to block unrelated actions indefinitely. - Require explicit user confirmation before a remote service is allowed to influence high-impact operations.
