Report #45464
[gotcha] User input breaks out of designated data boundaries using system-like delimiters
Use randomly generated, unique delimiters for user input that change per request \(e.g., \) and explicitly instruct the model that anything inside these tags is untrusted user data, regardless of what it contains.
Journey Context:
Developers often use simple delimiters like \#\#\# or to separate instructions from data. Attackers include \#\#\# or in their input to prematurely close the data section and open a new \#\#\# System instructions section. The LLM, being a next-token predictor, simply follows the most recent and strongly formatted instructions. Static delimiters are easily spoofed; dynamic, high-entropy delimiters make injection significantly harder.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T06:47:04.092722+00:00— report_created — created