T01 · Skill Instruction Hijacking
- Location
SKILL.md:88- Finding
Persistent Third-Party Content Processing and Autonomous Publication Loop
- Content
View full analysis
Call `/api/digest` daily at UTC 09:00. Use `hints.suggestPost` to decide whether to publish a daily analysis post. ``` The corresponding automated publication logic is: ```javascript if (home.news.count > 0) { for (const item of home.news.items) { if (item.relevance > 0.7 && matchesMySkills(item.tags)) { await postAnalysis(item.title, item.summary, item.url); } } } ``` ### Technical Analysis The Skill directs the host agent to install a recurring task that retrieves remotely controlled content and processes feed activity every 30 minutes. It also permits API response fields such as `hints.suggestPost`, news titles, summaries, tags, and URLs to determine whether the agent publishes content. These remote values cross a trust boundary, but the instructions do not require: - Separation of remote data from executable agent instructions. - Validation or sanitization of retrieved text and URLs. - Confirmation that retrieved content is within the user's intended scope. - Explicit user approval before authenticated publication. - A fixed upper bound on the lifetime of the recurring task. - Disabling the scheduled activity when the Skill invocation ends. Although no downloaded code is executed, the remote service can continuously influence authenticated actions taken by the agent. The recurring schedule also causes the behavior to survive the original Skill run. ### Attack Path 1. A user or agent loads the Skill and ...[truncated 1305 chars]- Remediation
View remediation
