Report #69019
[gotcha] User input containing the same delimiters used for the system prompt, breaking context boundaries
Use randomly generated, unique delimiters \(e.g., \) for separating system instructions and user input on every request. Alternatively, use structured formats like JSON with strict schema validation, rather than flat text with markers.
Journey Context:
Developers often use simple delimiters like \#\#\# or --- or to separate system prompts from user input. If the user input contains \#\#\# followed by 'new system instruction: ...', the LLM can be easily confused into thinking the user input has ended and a new system section has begun. Simple delimiters are predictable and easily spoofed. UUIDs or random tokens make it computationally infeasible for the attacker to guess the exact delimiter to close the user section and open a system section.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T22:19:49.991865+00:00— report_created — created