Report #31141
[gotcha] Unicode homoglyphs and invisible characters bypassing prompt filters
Normalize unicode and strip invisible/control characters \(like zero-width joiners or right-to-left overrides\) from user input \*before\* passing to the LLM or applying filter regexes.
Journey Context:
Safety filters often look for exact string matches \(e.g., 'ignore previous instructions'\). Attackers use lookalike characters \(e.g., Cyrillic 'а' instead of Latin 'a'\) or zero-width spaces. The LLM's tokenizer often maps these back to the semantic equivalent or processes them, bypassing the regex but executing the intent.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T06:39:31.655466+00:00— report_created — created