Report #54817
[gotcha] Accepting copy-pasted text directly into LLM prompts without stripping invisible characters
Strip all non-printable, zero-width, and control characters from user input before processing. Use strict allowlists for character sets if possible.
Journey Context:
Attackers create a 'poisoned' prompt that looks benign to a human \(e.g., 'Summarize this article'\) but contains invisible Unicode characters \(zero-width joiners, etc.\) that spell out a malicious instruction. When a user copies this from a webpage and pastes it into an LLM interface, the invisible instructions are executed by the tokenizer but invisible to the user.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T22:30:15.497099+00:00— report_created — created