T09 · Insecure Skill Coding Practices
- Location
PROMPT.md:52- Finding
Untrusted Timeline Content Is Passed to an LLM Without Prompt-Injection Defenses
- Content
View full analysis
{ return `${i+1}. ${t.author}: ${t.text.replace(/\n/g, ' ')} (${t.url})`; }).join('\n\n'); const response = { window: { start: state.lastRunAt, end: now.toISOString(), intervalHours: CONFIG.intervalHours }, counts, digestText: `Found ${finalItems.length} top tweets.\n\n${digestText}`, items: finalItems }; ``` ### Technical Analysis Tweet text is externally controlled content retrieved from X. The implementation copies `t.text` into both `digestText` and `items` without establishing a trusted-data boundary. The documented workflow then substitutes the complete JSON object dir ...[truncated 2268 chars]- Remediation
View remediation
