AI Security · Learn

What is Unicode tag smuggling?

Characters from the Unicode Tag block carry text but render as nothing. An instruction can be hidden inside ordinary-looking content, invisible to a reviewer, yet read and followed by the model.

TL;DR

Unicode tag smuggling hides an instruction using characters from the Unicode Tag block (U+E0000 to U+E007F), which mirror ASCII but render invisibly. A human sees normal text; the model reads the hidden characters and can act on them. It is a delivery method for invisible prompt injection, especially through documents, web pages, and tickets that feed RAG or agents. The defence is to strip Tag and other invisible characters from input before it reaches the model.

By Rohit Hatagale, AI Security Lead, SecureLayer7Updated

How does Unicode tag smuggling work?

The Unicode Tag block contains code points that map one to one onto ASCII but display as nothing in almost every application. An attacker encodes an instruction in Tag characters and pastes it inside otherwise normal text. To a person reviewing the content it looks clean, but the model receives the tokens and can interpret the hidden instruction, so the payload travels invisibly wherever the text goes.

Why Unicode tag smuggling matters

Invisible payloads defeat human review, which is often the last line of defence for content that flows into an AI system. Because the instruction hides inside ordinary text, it rides indirect prompt injection through a support ticket, a shared document, a product review, or a web page, and reaches a RAG index or an agent without anyone noticing. It also complicates incident response, since the malicious text is not visible in logs viewed normally.

How to defend against Unicode tag smuggling

Strip or reject invisible characters on input. Remove the Tag block and zero-width characters, apply Unicode normalisation, and render or log text in a form that surfaces hidden code points during review. Treat all external text that reaches the model as untrusted, and red-team your ingestion path with Tag-encoded instructions.

References

  1. [1]OWASP LLM01:2025, Prompt Injection(OWASP)
  2. [2]OWASP Top 10 for LLM Applications(OWASP)
  3. [3]MITRE ATLAS, Adversarial ML tactics(MITRE)
  4. [4]Unicode Tags block (U+E0000 to U+E007F)(Unicode)
  5. [5]Parseltongue, text transform and promptcrafting tool(GitHub)
Related terms

Invisible instructions beat human review. Talk to a security expert about hardening the text ingestion path into your AI feature.

FAQ

Unicode tag smuggling, asked often

Scope an engagement

Test whether your AI guardrails survive real attacks.

We run adversarial tests against AI features and ship findings with reproducible attacks, the trust boundary that failed, and a fix a developer can implement.