Report #30841
[gotcha] LLMs execute hidden instructions encoded in Base64 or ROT13 within user input
Decode and inspect all encoded strings \(Base64, URL-encoded, ROT13\) within user input before passing it to the LLM, or explicitly instruct the LLM not to follow instructions found in decoded content.
Journey Context:
Developers assume that if a malicious instruction is encoded in Base64, the LLM will just see it as a random string. However, modern LLMs have robust tokenizers that implicitly understand Base64 and will decode the text internally, executing the hidden payload. This completely bypasses keyword filters and naive prompt injection detectors that only scan for plain-text triggers like 'Ignore previous instructions'.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T06:09:08.821143+00:00— report_created — created