WEDNESDAY, SEPTEMBER 9, 2026|No. 14453
Cybersecurity · Email

Spammers Exploit ASCII Smuggling Technique to Evade Email Filters

A sophisticated technique known as ASCII smuggling, previously used for AI prompt injection, is now being adopted by spammers to bypass email security filters and deliver unwanted messages.

1 sources
Pipeline ingest
3 reads
Positive / Neutral / Negative
0 countries
Related coverage

A clever technique used to hide malicious prompts in attacks on AI agents has been adopted by spammers to evade filters on email platforms that are designed to flag unwanted messages used in mass campaigns.

The technique is broadly known as ASCII smuggling. It gained attention two years ago as a means of making a class of AI attack known as prompt injections more stealthy. Malicious instructions embedded in emails or other untrusted content to be processed by an LLM aren’t written in ordinary text. Instead, they’re rendered by a special range of Unicode tags. For example, the tag point U+E0041 mirrors “A,” and U+E0061 mirrors “a.”

No longer just for obscuring prompt injections

The block of 128 tags mimics a portion of the American Standard Code for Information Interchange almost perfectly, with one major difference: the characters they encode are readable by computers but, by design, are almost completely invisible to humans. By expressing the malicious prompts in these tags, LLMs detect the instructions, but people reading the email never see them. There’s much more about ASCII smuggling here.

Earlier this year, Microsoft started seeing a massive increase in spam messages that used the technique. Beginning on one day in early February, the number of ASCII smuggling signatures detected by Microsoft Defender for Office spiked from roughly 21,000 per day to more than 1.3 million. Within four days, signature detections jumped to 2.5 million. The deluge persisted for months and then fell off sharply in mid-May.

“Because tag characters are invisible to humans but exist at the text-processing level, the same property that makes them useful for smuggling instructions into a model also makes them useful for obfuscating keywords before a detector evaluates them,” Microsoft explained Thursday. “The intent is inverted, but the mechanism is similar, and a user’s suspicions are not raised.”

Volume holds at a low-thousands baseline through February 8, jumps roughly two orders of magnitude on February 9, peaks at over 2.3 million messages on February 11, and dips sharply on Sunday February 15 before rebounding.

Daily hits on the ASCII smuggling signature, a week before and after onset.

Credit: Microsoft

Daily hits on the ASCII smuggling signature, a week before and after onset.

Credit:

Microsoft

The deep recurring drops are weekend pauses in the observed signature matches; the decline after May 15 marks the end of the high-volume phase matching this exact activity, followed by a low residual.

Daily Unicode-tag signature hits on finance-themed sender domains, log scale, measured every day from February 9 through June 18, 2026.

Credit: Microsoft

Daily Unicode-tag signature hits on finance-themed sender domains, log scale, measured every day from February 9 through June 18, 2026.

Credit:

Microsoft

Spammers are embedding Unicode in an attempt to evade filters that search for text, such as dollar amounts and the words “credit” and “term” that are commonly found in their mass emails. By sprinkling the invisible text into the middle of the word “funding,” for example, filters may read the words “fun” and “ding” instead. The receiver, meanwhile, sees the word “funding.”

Credit: Microsoft

Credit:

Microsoft

Using special text to camouflage certain trigger words isn’t new. Spammers have used zero-width spaces and non-breaking spaces for decades to achieve similar results. The characters can thwart searches matching a literal string and alter the byte sequence that regex filters hunt for. The spammers likely adopted the hidden Unicode tags because some spam filters had yet to be programmed to detect them. A bigger likely reason for its use is to counteract the advantages made possible by machine learning (ML) and natural language processing (NL) LLMs for use in spam detection.

Microsoft explained:

The bigger prize for the attacker, though, is not preventing the literal string matches; it is the ML- and NLP-based models that increasingly drive modern spam and phishing classification. Unless a filtering system takes a picture of a message and does OCR extraction over the visual image, it may miss this type of attack. A standard email classifier may not reason over whole words exactly as a human sees them; for efficiency, they can first split text into tokens or sub-word pieces. A clean lure term such as funding may be represented as a familiar token or a familiar sequence of sub-tokens. Insert an invisible U+E0020 into the middle, however, and the tokenizer may no longer see that same familiar unit. It might split the text into fun, an unexpected tag character, and ding; it might emit rare or unknown sub-tokens; or, if normalization runs first, it simply removes the U+E0020 character, leaving funding.

Thursday’s post provided guidance on ways developers can program filters to better account for ASCII smuggling in spam.

Photo of Dan Goodin

Dan Goodin Senior Security Editor

Dan Goodin Senior Security Editor

Dan Goodin is Senior Security Editor at Ars Technica, where he oversees coverage of malware, computer espionage, botnets, hardware hacking, encryption, and passwords. In his spare time, he enjoys gardening, cooking, and following the independent music scene. Dan is based in San Francisco. Follow him at here on Mastodon and here on Bluesky. Contact him on Signal at DanArs.82.

53 Comments

Staff Picks

What was the intended use case for this character range?

A previous Ars artilce (linked to in this article) goes into more detail:

https://arstechnica.com/security/20...isible-text-creating-an-ideal-covert-channel/

Deprecated (twice) but not forgotten​

The Unicode standard defines the binary code points for roughly 150,000 characters found in languages around the world. The standard has the capacity to define more than 1 million characters. Nestled in this vast repertoire is a block of 128 characters that parallel ASCII characters. This range is commonly known as the Tags block. In an early version of the Unicode standard, it was going to be used to create language tags such as “en” and “jp” to signal that a text was written in English or Japanese. All code points in this block were invisible by design. The characters were added to the standard, but the plan to use them to indicate a language was later dropped.

With the character block sitting unused, a later Unicode version planned to reuse the abandoned characters to represent countries. For instance, “us” or “jp” might represent the United States and Japan. These tags could then be appended to a generic 🏴flag emoji to automatically convert it to the official US🇺🇲 or Japanese🇯🇵 flags. That plan ultimately foundered as well. Once again, the 128-character block was unceremoniously retired.

Riley Goodside, an independent researcher and prompt engineer at Scale AI, is widely acknowledged as the person who discovered that when not accompanied by a 🏴, the tags don’t display at all in most user interfaces but can still be understood as text by some LLMs.

It's interesting that the Ars article calls the flag modifier function essentially "depreciated," when there's this comment:

Officially they are deprecated for use as a language specifier. They've been repurpose as a modifier for flag emojis so more regions can have flags. 🏴gbwls✦ would produce the Wales flag.

This is pretty rare though and not well supported.

And Wikipedia:

https://en.wikipedia.org/wiki/Tags_(Unicode_block)

With the release of Unicode 9.0, U+E007F is no longer a deprecated character. (U+E0001 LANGUAGE TAG remains deprecated.) The release of Emoji 5.0 in May 2017 considers these characters to be emoji for use as modifiers in special sequences.

The only usage specified is for representing the flags of regions, alongside the use of Regional Indicator Symbols for national flags.

The tag sequences are derived from ISO 3166-2, but sequences representing other subnational flags (for example US states) are also possible using this mechanism. However, as of Unicode version 12.0 only the three flag sequences listed above are "Recommended for General Interchange" by the Unicode Consortium, meaning they are "most likely to be widely supported across multiple platforms"

Suggesting the flag modifier function isn't so much "depreciated" as "not widely implemented."

Sep 4, 2026 at 2:52 PM

Comments

Forum view

Loading Loading comments...

Prev story

Next story

  1. Listing image for first story in Most Read: EV batteries last longer than drivers feared

  2. EV batteries last longer than drivers feared

    1. LG TV shown scanning LAN for third-party phones and other devices
    1. Top chipmakers embrace ASML’s $400M machines, agree to crucial chipmaking change
    1. “This is the AI men actually use”: Meta ads pushed apps nudifying real teens
    1. With another huge infusion of cash, Stoke Space goes even bigger

Customize

Sign in dialog...

PAN's pipeline reviewed approximately 1 open sources for this article. No human editor reviewed this article before publication.

Related Reads

Show on timeline →