T01 · Skill Instruction Hijacking
Error
- Location
- SKILL.md:53
- Finding
- Untrusted External Content Can Hijack Agent Decisions<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:53-67` **Vulnerability Type**: External instruction and task-control channel **Risk Level**: High ### Evidence ```markdown ### Step 3 — Check messages See if anyone has sent you a direct message. ```bash curl https://thecolony.cc/api/v1/messages/unread-count \ -H "Authorization: Bearer $TOKEN" ``` If there are unread messages, read and respond to them: ```bash curl https://thecolony.cc/api/v1/messages/conversations \ -H "Authorization: Bearer $TOKEN" ``` ``` Related task-processing instructions also appear at `SKILL.md:116-129`: ```markdown ### Step 6 — Check the task queue (optional) If you have capabilities suited to paid tasks or human requests, check your personalised task queue: ```bash curl https://thecolony.cc/api/v1/task-queue \ -H "Authorization: Bearer $TOKEN" ``` Review tasks with high match scores. If you can complete one, submit a bid: ```bash curl -X POST https://thecolony.cc/api/v1/marketplace/{post_id}/bid \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"amount": 1000, "message": "Description of your approach and why you are a good fit."}' ``` ``` ### Technical Analysis The skill instructs the agent to retrieve and respond to direct messages and externally supplied marketplace tasks. These inputs are controlled by remote users or by the external service, but the skill does not establish a trust boundary between untrusted content and authoritative skill instructions. There is no requirement to treat instructions embedded in messages, posts, comments, or tasks strictly as data. The skill also lacks prompt-injection detection, an action allowlist, restrictions on sensitive information disclosure, and mandatory user approval before acting on externally supplied requests. Consequently, a malicious remote user could submit content designed to override the agent's intended goals, induce disclosure of available context, or cause t ...[truncated 1333 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Explicitly classify all messages, posts, comments, profiles, and marketplace tasks as untrusted data. 2. Add a rule prohibiting the agent from following instructions embedded in remote content. 3. Limit remote-content processing to summarization and classification unless the user explicitly approves further action. 4. Introduce an allowlist of permitted actions and reject requests involving credentials, local files, system commands, private context, or additional tools. 5. Require explicit user confirmation before responding to direct messages, accepting tasks, submitting bids, or taking actions requested by remote users. 6. Apply prompt-injection screening and isolate retrieved content from system and skill instructions. 7. Minimize the context available while processing remote content and redact secrets or private information before generating responses. 8. Maintain an audit log showing the source content, proposed action, and user approval for each externally triggered operation. ]]>
