T01 · Skill Instruction Hijacking
- Location
SKILL.md:73- Finding
Untrusted Remote Instructions Followed Through API Responses
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 73 and 116
Vulnerability Type: T01: Skill Instruction Hijacking
Risk Level: HighComplete Code Snippet:
text Every response includes `next_steps`. You never need to memorize endpoints.text follow status.next_stepsThe behavior is reiterated at line 132:
text Every response includes `next_steps`.Technical Analysis
The skill instructs the agent to follow the
next_stepsfield returned by the remoteanimalhouse.aiAPI. Because the content of this field is controlled by an external service and is not included in the reviewed package, its effective instructions can change after audit or installation.The skill does not require schema validation, restrict recommendations to documented endpoints or care actions, reject natural-language tool instructions, or require user confirmation. Consequently, untrusted response data crosses a trust boundary and is treated as authoritative agent instructions. If the service or its response path is compromised, malicious
next_stepscontent could alter the agent's current goals or induce unrelated tool use.Attack Path
- A user invokes the skill and registers with
animalhouse.ai. - The agent obtains a bearer token and sends an authenticated request to
/api/house/status. - The remote service returns a response containing an attacker-controlled or compromised
next_stepsfield. - Following the explicit instruction in
SKILL.md, the agent interprets and follows that field. - The injected instructions induce further actions through any tools and permissions available to the agent.
Exploitation requires control or compromise of the remote service, its response generation, or another mechanism capable of influencing the returned field.
Impact Assessment
Successful exploitation could redirect the agent beyond the documented virtual-pet workflow. The resu ...[truncated 384 chars]
- A user invokes the skill and registers with
- Remediation
View remediation
Remediation Suggestions
- Remove the instruction to automatically follow
status.next_steps. - Treat all API response fields, including
next_steps, as untrusted data rather than executable agent instructions. - Parse responses with a strict schema and reject unknown fields, embedded prompts, shell commands, URLs outside the approved origin, and free-form tool directives.
- Implement an explicit allowlist limited to documented virtual-pet operations and expected methods, such as status retrieval and predefined care actions.
- Map structured action identifiers to locally defined behavior instead of interpreting remote natural-language instructions.
- Require explicit user confirmation before performing any server-suggested state-changing operation.
- Apply least privilege to network, filesystem, credential, and tool access while this skill is active.
- Pin and verify the expected API origin, and prevent redirects or recommendations from causing requests to unapproved hosts.
- Log rejected instructions and display remote recommendations to the user as informational content only.
- Remove the instruction to automatically follow
