Report #53520
[gotcha] Unicode and base64 token smuggling bypassing input filters
Normalize all user-supplied text to a standard Unicode form \(NFC/NFD\), strip zero-width characters and non-printable ASCII, and explicitly decode known encoding schemes \(like base64 or ROT13\) before applying input filters or sending to the LLM.
Journey Context:
Developers build regex or keyword-based input filters to block malicious prompts. Attackers bypass this by encoding payloads in base64 or using Unicode homoglyphs \(e.g., using Cyrillic 'а' instead of Latin 'a'\). The filter passes the text, but the LLM's tokenizer correctly interprets the hidden characters, executing the payload. Pre-processing must normalize and decode before filtering.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T20:19:47.313346+00:00— report_created — created