Table of Contents
On the last day of August 2026, four mailboxes at a commercial building-services and construction firm received the same message inside a thirty-one second window. It offered a single thing to click: a small audio player, complete with a waveform, a play marker, and a readout claiming fifty-four seconds of recorded audio.
There was no picture in it. Not a compressed one, not a hotlinked one, not a base64 one. The player was punctuation.
A Waveform Assembled Out of Section Signs
The call to action lived inside a button element carrying the class Recording, and its contents decode to a short string of printing characters: U+2022 BULLET at each end, a run of ASCII vertical lines, and two characters from the Myanmar block, U+104A MYANMAR SIGN LITTLE SECTION and U+104B MYANMAR SIGN SECTION, delivered as the numeric character references 4170 and 4171. Five copies of U+200C ZERO WIDTH NON-JOINER sit inside the run. Immediately after the glyphs comes the plain, unobfuscated text 0:54 Hear Audio, and a sibling element with the class audio-duration reads Call Durations: 0:54 Secs, fenced between two horizontal rules.
Rendered in an inbox, that resolves into exactly what it is meant to be. Pipes of varying visual weight read as a waveform. The section signs, which in their own script mark the end of a phrase, read as a scrub handle and a play control. The duration string supplies the last piece of interface furniture. The composition is crude at full zoom and convincing at message scale, which is the only scale that matters.
Two caveats about the parts. The zero-width non-joiners are verifiably present, but their purpose is not knowable from this record: they may break tokenization, they may be template residue, they may be decorative. And the durations are fiction. The message carries no media file of any kind, so 0:54 describes nothing.
Constructive Obfuscation Instead of Destructive
Almost every Unicode abuse case we publish works the same way. The attacker takes a string a machine would recognize, a brand name, a keyword, a button label, and shatters it with invisible characters so the matcher misses it. The characters are non-printing and the string is the target.
This kit does the inverse. Its characters are visible, they print, they come from a writing system with nothing to do with the message, and they serve as drawing material. Nothing is being hidden. Something is being built: interface chrome that a human reads as a control and a parser reads as punctuation. The glyphs are not evading a match, they are manufacturing trust.
Nothing for the Image Pipeline to Examine
The consequence is the part no control list anticipates. The incident record shows an empty attachment array, an empty OCR array and an empty QR array. The only two image elements anywhere in the body are a first-time-sender banner icon that IRONSCALES injects on the recipient side and a 1x1 open-tracking pixel from the sending platform, which is ordinary bulk-mail open tracking and nothing more exotic. The record also shows no impersonation determination and no claimed brand, with the display name matching the authenticated address.
So OCR had nothing to read. Perceptual and cryptographic image hashing had nothing to hash. Logo detection and visual-template matching had no template to compare. Brand-string matching had no brand. Those controls were not defeated here. They were inapplicable, and the distinction matters operationally, because an image pipeline can tell you what it found inside a picture but it cannot tell you a picture is missing. Our own July teardown of an invisible-Unicode brand-impersonation case recommended OCR of embedded images compared against the sending identity as the fallback control, and there OCR is precisely what proved the impersonation. The same widget shape, drawn in characters, returns nothing to the same control.
See Your Risk: Calculate how many threats your SEG is missing
The Kit Quoted Its Own Prior Output
Two details support the read without leading it. First, the body contains a complete second copy of the lure part-way down, presented as quoted history: a second document-compatibility declaration, a second greeting to the same mailbox name, and a second player widget reading 0:39 Hear Audio with its own duration line. The kit pasted its own earlier output back in as the conversation it was pretending to continue. A down-arrow marker reading Active message below closes the body, pointing at nothing.
Second, the subject line is merge-personalized with the recipient's mailbox name and carries a reference number lifted verbatim out of unrelated material pasted lower in the body. The kit harvests plausible-looking references from whatever bulk text it has on hand, then merges them into a lure sent to a party with no connection to any of it.
The Sending Side Offered No Easy Verdict
Authentication is not the story here, but it is worth recording what it showed. There was one external hop and nothing failed: SPF, DKIM and an enforced DMARC policy of quarantine all passed and aligned. The sending domain was roughly three years and seven months old at send time, on managed DNS, with a properly provisioned sender-authentication setup at its bulk mail provider. That is the profile of an operating mail-sending business, not a throwaway. Whether the account was compromised, resold, abused or operated long-term cannot be determined from this record, and we are not going to guess about a third party in public. The distinguishing identifiers are the click-tracking subaccount and the hosting subdomain, not the domain of a bystander. The call to action itself resolved through a tracker to a free-tier hosting subdomain that link scanning flagged as a mixed result rather than a clean confirmation, and the incident's link records span three different tracking services carrying the identical glyph-composed display text.
Indicators of Compromise
| Type | Indicator | Context |
|---|---|---|
| Domain | account-audiomsg[.]wixsite[.]com | Terminal landing, attacker-created free-tier hosting subdomain. The apex is a shared platform and is not an indicator on its own |
| URL | hxxps://account-audiomsg[.]wixsite[.]com/workspace | Destination of the character-drawn player, decoded from the click-tracker parameter |
| Account | Click-tracking subaccount 33039876 | Attacker-controlled sending and click-tracking identity fronting the call to action on a shared platform host |
| Account | Bulk-mail account 30010842 | Second tracker wrapping the same landing; its embedded timestamp predates this send by three days |
| IP | 159[.]183[.]96[.]40 | Shared outbound node of the sending platform into the recipient's mail provider |
| String | 0:54 Hear Audio / 0:39 Hear Audio | Literal text following the glyph run inside the button element, in both copies of the lure |
| String | Call Durations: 0:54 Secs | Fake duration readout in the sibling element; no audio exists in the message |
| Code point | U+104A, U+104B, U+2022, U+200C | Myanmar section signs, bullet and zero-width non-joiner composing the player graphic |
| Class name | Recording, audio-duration | Kit class names on the widget and its readout |
MITRE ATT&CK Mapping
T1566.002 Phishing: Spearphishing Link. T1027 Obfuscated Files or Information. T1204.001 User Execution: Malicious Link.
Score the Affordance, Not Just the Asset
What caught this was not content analysis. It was link and landing-domain analysis plus sender behavior: a first-time correspondent, a high sender risk rating, and no prior exchange in either direction between the two parties or between the sender and the wider organization. The analyst insight in the record pinned the malicious link by its glyph-composed display text, which is to say detection recognized the destination, not the disguise. All four mailboxes were quarantined, and a human analyst resolved the incident as malicious.
The forward lesson is a scoring rule, not a signature. A message that offers a playable recording while containing no audio file, no attachment and no image is internally inconsistent, and that inconsistency is computable. Treat a visual affordance with no corresponding asset as an anomaly in its own right, because the pipelines built to inspect assets cannot report an absence. The 2026 Verizon Data Breach Investigations Report puts the human element in 62% of breaches and phishing as the initial access vector in 16%, and both figures describe messages that only have to be believed for a second. CISA guidance and the NIST definition of phishing frame the problem as deception rather than payload, which is exactly what a hand-drawn play button is. Layered behavioral detection, the kind our Adaptive AI weighs across sender history, link reputation and message structure together, is what remains when there is no picture to look at.
Related attacks
| Attack | What happened |
|---|---|
| The Proposal Button Nobody Could Inspect | A phishing email disguised as a vendor proposal used an image-only CTA linking to Box.com. |
| A Refusal in Writing, Answered Two Minutes Later | A front-line representative refused the sender in writing. |
| The Attachment Was Not a Payload. It Was the Second Beacon. | An 847-byte file declared as audio arrived with a voicemail lure. |
| Every Link Was Real: DocuSign Reply-To Diversion With a Same-Day Domain | A phishing email sent through legitimate DocuSign infrastructure passed SPF, DKIM, and DMARC with perfect scores. |
| The Phish That Rode Postmark Into a Flipbook | A document review notice arrived through a transactional email provider's own click-tracking domain and pointed at a page on a digital flipbook platform. |
Explore More Articles
Say goodbye to Phishing, BEC, and QR code attacks. Our Adaptive AI automatically learns and evolves to keep your employees safe from email attacks.