Report #76212
[gotcha] Hidden unicode characters in user input bypass content filters and inject invisible prompts
Normalize and strip non-printable, zero-width, and bidirectional unicode characters from all untrusted input \*before\* passing to the LLM.
Journey Context:
Developers sanitize for XSS/SQLi but forget Unicode. Attackers use zero-width spaces or right-to-left overrides to hide malicious instructions. Human reviewers and naive text filters see gibberish or nothing, but the LLM tokenizer parses the hidden text perfectly, executing the payload. Filtering after generation is too late; input must be normalized.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T10:30:50.713533+00:00— report_created — created