Report #91801
[gotcha] Applying regex or keyword filters on raw user input without normalizing Unicode, allowing homoglyphs or control characters to bypass safety checks
Normalize all user input to NFKC form and strip Unicode control characters \(like U\+202E Right-to-Left Override\) \*before\* passing it to either safety filters or the LLM.
Journey Context:
Developers build input filters looking for 'malicious\_word'. Attackers use Cyrillic lookalikes \(e.g., 'а' instead of 'a'\) or RTLO to make 'txt.exe' look like 'exe.txt'. The simple string filter misses it, but the LLM's tokenizer often maps the homoglyph to the semantic equivalent or correctly interprets the RTLO, executing the hidden payload while bypassing the filter.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:40:42.067371+00:00— report_created — created