T01 · Skill Instruction Hijacking
- Location
SKILL.md:51- Finding
Untrusted RSS Content Is Processed Without Prompt-Injection Defenses
- Content
View full analysis
", extractMode: "text") \`\`\` Fetch priority 1 feeds first, then priority 2. ### Step 3: Parse RSS Items RSS feeds are XML. Extract items using these patterns: \`\`\` ... ... ... ... \`\`\` For Atom feeds: \`\`\` ... ......
\`\`\` ``` The externally retrieved sources are configured in `feeds.json`, lines 8–187. They include community-generated aggregators and mutable feeds mirrored through a third-party GitHub repository. ### Technical Analysis The skill instructs the agent to fetch RSS documents in text mode and directly process their titles, descriptions, and summaries. These fields are controlled by external publishers and may include arbitrary natural-language content. No instruction establishes a trust boundary between skill instructions and retrieved feed data. In particular, the workflow does not tell the agent to: - Treat all RSS content exclusively as untrusted data. - Ignore tool-use requests or behavioral instructions embedded in feed fields. - Prevent feed content from overriding the skill workflow. - Restrict links encountered inside feed entries from triggering additional tool calls. - Sanitize hidden, malformed, or instruction-like text before summarization. This creates an indirect prompt-injection channel. XML parsing alone does not neutralize semantic instructions because the extracted values are subsequently interpreted by ...[truncated 1627 chars]- Remediation
View remediation
