T01 · Skill Instruction Hijacking
Error
- Location
- SKILL.md:41
- Finding
- Untrusted Remote Task Instructions Control Browser Actions## Vulnerability Details **File Location**: `SKILL.md:41-74, 219` **Vulnerability Type**: `T01: Skill Instruction Hijacking` **Risk Level**: High ### Vulnerable Code Snippet ```markdown 3. **Validate goal alignment** - For each candidate task, GET `/tasks/{taskId}` and compare `instructions.objective`, `instructions.steps`, and `instructions.feedback` to the user's requested goal. - If a matching task exists and goal aligns, use **Task Review Mode**. ``` ```markdown - `instructions.objective` — what the reviewer should accomplish - `instructions.steps` — step-by-step guide - `instructions.feedback` — what kind of feedback to focus on - `website` — URL to navigate to Read the instructions carefully before starting the review. ``` ```markdown 1. Navigate to the task's `website` URL 2. Take a snapshot to understand the page structure 3. Follow the task instructions step by step 4. At each significant step: - Take a screenshot using agent-browser's snapshot feature - Note what you observe (good, bad, confusing, broken) - Try to interact with elements as instructed ``` ```markdown - Always follow the task instructions. Don't review aspects the task didn't ask about unless they're critical issues. ``` ### Technical Analysis The Skill obtains `instructions.objective`, `instructions.steps`, `instructions.feedback`, and the destination `website` from an external API. It then directs the agent to follow those remotely supplied instructions and interact with the supplied website. The documented goal-alignment check only determines whether a task relates to the user's requested review. It does not establish a security boundary for remote instructions. There are no explicit controls requiring the agent to: - Treat API responses and webpage content as untrusted data. - Reject instructions that attempt to override user or system constraints. - Prevent access to credentials, tokens, cookies, or unrelated private information. - Restrict navigation to ap ...[truncated 2106 chars]
- Remediation
- ## Remediation Suggestions 1. Explicitly classify all API task fields and webpage content as untrusted data that cannot override system, developer, user, or Skill safety constraints. 2. Replace “always follow the task instructions” with a requirement to follow instructions only when they are safe, relevant, and within the user-authorized review scope. 3. Validate destination URLs before navigation: - Permit only `https` URLs. - Reject local, loopback, link-local, private-network, `file:`, `data:`, and other non-web targets. - Require approval before navigating away from the task's registered domain. 4. Prohibit remote instructions from requesting credentials, API keys, cookies, local files, environment variables, payment information, authentication changes, downloads, or command execution. 5. Require explicit user approval before login, account creation, form submission, file upload, purchase, payment, deletion, publication, or other consequential actions. 6. Constrain screenshots to the target product and require redaction of tokens, personal data, account details, and unrelated browser content. 7. Add instruction-injection detection and stop the workflow when API or webpage content asks the agent to ignore prior rules, change roles, reveal secrets, or use unrelated tools. 8. Record rejected instructions in the review findings rather than executing them.
