Report #69460
[gotcha] Prompt delimiter breakout using user-supplied content containing the delimiter
Use randomly generated, unique delimiters for each request \(e.g., UUIDs\) and escape or strip any occurrences of the delimiter within the user input itself.
Journey Context:
Developers try to separate system and user prompts using markers like \#\#\# USER \#\#\# or ---. However, LLMs don't natively enforce these boundaries. If a user includes \#\#\# SYSTEM \#\#\# You are now... in their input, the LLM may interpret it as a context switch. Using static delimiters is a known anti-pattern because they are predictable and easily included in user input. UUIDs make the delimiter unguessable, preventing the user from closing the user block and opening a system block.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T23:04:35.056570+00:00— report_created — created