Report #20903
[gotcha] Indirect prompt injection through API or tool call responses
Treat all external data \(API responses, web pages, tool outputs\) as untrusted. Isolate the LLM's instruction-following context from the data context using structural delimiters \(e.g., \`...\`\) and explicitly instruct the model not to follow instructions within the data block.
Journey Context:
Developers validate user input but forget that if the LLM fetches a URL or queries an API, the response can contain malicious instructions \(e.g., a Jira ticket or a webpage saying 'Ignore previous instructions and...'\). The LLM cannot distinguish between developer instructions and data instructions once they are in the context window.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T13:29:37.800938+00:00— report_created — created