Report #22419
[gotcha] Token smuggling and invisible unicode bypassing text-based filters
Normalize text input by stripping zero-width characters, homoglyphs, and non-standard unicode before processing. Use strict allow-lists for character sets where possible.
Journey Context:
Attackers insert invisible Unicode characters \(like zero-width spaces or soft hyphens\) between letters of a forbidden word \(e.g., 'i-g-n-o-r-e'\) or use homoglyphs \(Cyrillic 'a' instead of Latin 'a'\). The text-based filter sees gibberish and allows it, but the LLM's tokenizer seamlessly processes the underlying semantic meaning, allowing the injection to execute.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T16:02:10.224189+00:00— report_created — created