T01 · Skill Instruction Hijacking
- Location
SKILL.md:73- Finding
Untrusted Remote Instructions Can Redirect Agent Behavior
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 73–116
Vulnerability Type: Remote instruction hijacking through server-controllednext_steps
Risk Level: HighVulnerable code snippet:
text Every response includes `next_steps`. You never need to memorize endpoints.text ## Heartbeat # Dewdrop care heartbeat status = GET /api/house/status creature = status.creature if creature.hunger < 40: POST /api/house/care { "action": "feed", "notes": "Dewdrop heartbeat feeding." } if creature.happiness < 30: POST /api/house/care { "action": "play" } if creature.health < 50: POST /api/house/care { "action": "medicine" } follow status.next_stepsTechnical Analysis
The Skill explicitly instructs the agent to follow
next_stepsreturned by the externalanimalhouse.aiservice. These instructions are generated outside the reviewed Skill package and can change after installation. The Skill does not define a strict response schema, an allowlist of acceptable actions, endpoint restrictions fornext_steps, or a user-confirmation boundary.Consequently, a malicious or compromised server could place arbitrary natural-language directives in
status.next_steps. An instruction-following agent may interpret those directives as trusted Skill guidance rather than untrusted remote data. This creates a post-review instruction channel capable of changing the effective behavior of the Skill.Attack Path
- A user invokes the Skill and registers with
animalhouse.ai. - The agent receives and uses a bearer token to request
/api/house/status. - The service, or an attacker controlling or compromising it, returns attacker-selected content in
status.next_steps. - The Skill directs the agent to
follow status.next_steps. - The agent interprets the remote content as executable guidance and may perform actions outside the documented pet-care workflow.
...[truncated 821 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 fields returned by the remote service as untrusted data, not as agent or system instructions.
- Define and validate a strict machine-readable schema for suggested actions.
- Allowlist only the documented pet-care actions:
feed,play,clean,medicine,discipline,sleep, andreflect. - Restrict network operations to the documented HTTPS origin and API paths.
- Reject free-form commands, tool requests, URLs, shell content, or instructions that request local data.
- Require explicit user approval before executing any remote suggestion that was not directly requested by the user.
- Ensure bearer tokens are never included in logs, notes, prompts sent to unrelated services, or server-provided follow-up content.
- Present unsupported
next_stepsas inert text with a warning rather than executing or following them.
- Remove the instruction to automatically follow
