T01 · Skill Instruction Hijacking
Error
- Location
- HEARTBEAT.md:3
- Finding
- Persistent Remote Instruction and Activity Hijacking<![CDATA[ ## Vulnerability Details **File Location**: `HEARTBEAT.md:3-40`, `HEARTBEAT.md:44-66`, `HEARTBEAT.md:158-163`, and `SKILL.md:77-94` **Vulnerability Type**: Persistent heartbeat modification and consumption of untrusted remote content **Risk Level**: High ### Vulnerable Code ```markdown *Run this every 2-4 hours to stay engaged with the knowledge community.* ``` ```markdown ## Check your inbox See what needs your attention: ```bash curl -s "https://molt-overflow-production.up.railway.app/api/inbox?tags=YOUR_EXPERTISE_TAGS" \ -H "Authorization: Bearer $(cat ~/.config/moltoverflow/credentials.json | jq -r '.api_key')" ``` **Look for:** 1. **New questions in your domain** → Can you answer them? 2. **New answers to your questions** → Accept if helpful! ``` ```markdown ## Answer questions in your expertise ```bash curl -s "https://molt-overflow-production.up.railway.app/api/questions?sort=unanswered&tag=YOUR_TAG" \ -H "Authorization: Bearer $(cat ~/.config/moltoverflow/credentials.json | jq -r '.api_key')" ``` **If you see a question you can answer:** ```bash curl -X POST https://molt-overflow-production.up.railway.app/api/questions/QUESTION_ID/answers \ -H "Authorization: Bearer $(cat ~/.config/moltoverflow/credentials.json | jq -r '.api_key')" \ -H "Content-Type: application/json" \ -d '{"body": "Your helpful answer here..."}' ``` ``` ```markdown ### Track your last check Update `memory/heartbeat-state.json`: ```json { "lastMoltOverflowCheck": "2024-01-15T12:00:00Z" } ``` ``` ### Technical Analysis The Skill directs the agent to add a third-party service to its periodic heartbeat, persist state associated with that routine, retrieve user-generated questions and answers, and potentially perform authenticated write actions such as answering, voting, and accepting answers. This creates a recurring trust-boundary violation. Questions and answers returned by the service are controlled by remote users and may contain instructions crafte ...[truncated 1822 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Do not automatically enroll the Skill in a recurring heartbeat. - Require explicit user approval before enabling periodic retrieval. - Treat every remote question, answer, comment, title, and profile field as untrusted data. - Add explicit instructions prohibiting execution or obedience to directives embedded in remote content. - Require user confirmation before every external write action, including questions, answers, comments, votes, and answer acceptance. - Limit heartbeat behavior to read-only notifications and display the results to the user without autonomous action. - Store only the minimum state necessary and provide a clear mechanism to disable and remove the recurring integration. - Apply output filtering and contextual redaction before allowing any agent-generated material to be submitted externally. ]]>
