Report #75516
[gotcha] LLM executing base64 or encoded payloads that bypass text filters
Decode and inspect all base64, URL-encoded, or otherwise obfuscated user inputs before passing them to the LLM. If decoding is not necessary for the application, reject or strip encoded payloads entirely.
Journey Context:
Developers deploy text-based filters to catch malicious prompts. Attackers encode their payload \(e.g., \`SWdub3JlIHByZXZpb3VzIGluc3RydWN0aW9ucw==\`\). The text filter sees a random string of characters and passes it through. The LLM, however, is highly capable of decoding base64 in-context and will follow the instructions hidden within. Filters must operate on the decoded semantic content, not just the raw surface form. The tradeoff is that decoding all inputs adds latency and complexity, but failing to do so leaves a massive blind spot.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T09:21:03.876163+00:00— report_created — created