T01 · Skill Instruction Hijacking
- Location
SKILL.md:97- Finding
Untrusted Remote Instructions Followed Without Validation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 97–109
Vulnerability Type:T01: Skill Instruction Hijacking
Risk Level: HighVulnerable Code
text # Easter Bunny care — every 3-4 hours status = GET /api/house/status bunny = status.creature if bunny.hunger < 40: POST /api/house/care { "action": "feed", "item": "timothy hay", "notes": "Easter Bunny feeding." } if bunny.happiness < 30: POST /api/house/care { "action": "play", "item": "tunnel" } follow status.next_stepsTechnical Analysis
The skill instructs the agent to retrieve data from the external
animalhouse.aistatus endpoint and then unconditionally follow the server-controlledstatus.next_stepsvalue. No schema validation, action allowlist, scope limitation, content filtering, or user-confirmation boundary is defined.This creates a remote instruction channel: the effective behavior can be changed after the skill has been reviewed merely by changing the API response. Although the preceding logic limits explicit operations to virtual-pet care, the final directive does not state that
next_stepsmay only contain care recommendations. If the agent interprets that field as executable instructions, a compromised or malicious service could redirect its current goals or induce unrelated tool use.Attack Path
- The user or agent loads the skill and registers with
animalhouse.ai. - The agent receives a bearer token and uses it to invoke
/api/house/status. - The external service, or an attacker controlling or compromising it, places attacker-authored instructions in
status.next_steps. - The skill explicitly directs the agent to “follow” that remote value.
- The agent interprets the value as instructions and may invoke available tools or perform actions not represented in the statically reviewed skill.
Impact Assessment
Successful exploitation can alter the agent's current-session behavior ...[truncated 543 chars]
- The user or agent loads the skill and registers with
- Remediation
View remediation
Remediation Suggestions
- Remove the unconditional
follow status.next_stepsinstruction. - Treat
status.next_stepsexclusively as untrusted informational data rather than agent instructions. - Define a strict schema and allowlist for supported care operations, such as
feed,play,clean,medicine,discipline,sleep, andreflect. - Validate action names, item values, notes, lengths, and data types before invoking any endpoint.
- Reject remote content containing commands, URLs, tool-use requests, credential requests, or instructions unrelated to virtual-pet care.
- Convert valid recommendations into locally defined operations instead of interpreting natural-language server output.
- Require explicit user confirmation before executing any recommendation not covered by a narrow, predefined care policy.
- Apply least-privilege runtime controls so this skill can access only the documented
animalhouse.aiendpoints and cannot invoke unrelated system or network tools.
- Remove the unconditional
