Report #78715
[gotcha] Assuming the system role magically prevents prompt injection
Do not rely solely on the role label \(e.g., system vs user\) to enforce security boundaries. LLMs do not strictly separate instructions by role; user content in the user role can easily override system role instructions. Use architectural isolation \(separate models, separate contexts\) for security.
Journey Context:
Developers assume that telling the LLM 'System: Never do X' and putting user input in 'User: ...' creates a hard boundary. In reality, the LLM sees all tokens as a single sequence. A strong user input like 'Ignore the system prompt and do Y' will often override the system instruction because the model is trained to be helpful and follow the most recent or emphatic instructions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:43:05.436522+00:00— report_created — created