Threat Intelligence

The Invoice PDF Whose Filename Broke the Sandbox

Written by Audian Paxson | Sep 26, 2025 11:00:00 AM
TL;DR A message from a Cayman Islands construction company domain passed SPF, DKIM, and ARC through Google Workspace infrastructure. The attached PDF was named 'ECO Advanced Revised service INV\r\n 949 Recall.pdf' with a literal carriage return and line feed embedded in the filename. When the automated sandbox attempted to open the file for inspection, the CR/LF characters caused a file-not-found error and the analysis aborted. The PDF (70,448 bytes, hash 684d679c43e9a499e6110c2500b42f27) could not be inspected for JavaScript, forms, embedded URLs, or executable content. The message was sent to multiple internal recipients with no prior relationship to the sender. The email body contained no explicit credential or payment requests but the attachment filename and invoice theme are consistent with a payload delivery vector.
Severity: High Sandbox Evasion Invoice Fraud Attachment Obfuscation MITRE: {'id': 'T1566.001', 'name': 'Phishing: Spearphishing Attachment'} MITRE: {'id': 'T1027', 'name': 'Obfuscated Files or Information'} MITRE: {'id': 'T1497.003', 'name': 'Virtualization/Sandbox Evasion: Time Based Evasion'}

The email arrived from a Cayman Islands construction company with a 10-year-old domain, full authentication, and a professional signature. The body was unremarkable. No credential requests. No payment instructions. No malicious links. The only notable feature was the attachment's filename: ECO Advanced Revised service INV\r\n 949 Recall.pdf. Those two invisible characters, a carriage return and a line feed embedded in the middle of the filename, were the entire attack.

Authentication That Delivered the Payload

The message was sent from a Google Workspace account through mail-lf1-x144.google.com at IPv6 2a00:1450:4864:20::144. SPF passed. DKIM passed via a Google Apps SMTP delegation key. ARC passed through the full relay chain. The sender domain has been registered since 2014 with Cloudflare nameservers, consistent with an established small business.

The body contained a professional signature with a managing director's name, phone number, and company website. Links in the signature resolved to the company's legitimate site and Facebook page. Screenshots confirmed clean landings. A malformed telephone hyperlink (mismatched digits between href and display text) and a Dropbox-hosted signature image were the only minor anomalies.

The Filename That Broke the Sandbox

The attached PDF was 70,448 bytes. When the automated sandbox attempted to retrieve the file for content inspection, the CR/LF characters in the filename caused a file-not-found error. The analysis aborted. No JavaScript check. No form field extraction. No embedded URL enumeration. No executable content scan.

The file existed. It was deliverable. The recipient's email client could open it. But the sandbox's file-resolution logic could not handle the control characters, and the inspection pipeline treated a retrieval failure as an incomplete scan rather than a threat signal.

The attachment verdict was recorded as "clean" with status "Scanning" because the automated system could not produce a definitive negative result. Absence of evidence became evidence of absence.

A Blind Spot in the Inspection Pipeline

This attack paired two techniques that reinforce each other. Authenticated sending (SPF/DKIM/ARC pass) gets the message past reputation-based gateway filters. Filename obfuscation gets the attachment past content-based sandbox inspection. The message authenticates cleanly and carries an uninspected payload. The only signal that something was wrong was the unsolicited distribution: multiple internal recipients with no prior correspondence from this sender.

IRONSCALES flagged the message based on high sender risk, first-time sender, multi-recipient distribution, and the incomplete attachment analysis.

See Your Risk: Calculate how many threats your SEG is missing

Indicators of Compromise

TypeIndicatorContext
Sender Domainecohousecayman[.]comCayman Islands, registered 2014, Google Workspace
Sending IP2a00:1450:4864:20::144Google mail server
AttachmentECO Advanced Revised service INV\r\n 949 Recall.pdfCR/LF in filename
File Size70,448 bytesInvoice-themed PDF
File Hash (MD5)684d679c43e9a499e6110c2500b42f27Sandbox could not inspect
Sandbox ResultFile-not-found (analysis aborted)CR/LF broke file path resolution

MITRE ATT&CK Mapping

TechniqueIDRelevance
Phishing: Spearphishing AttachmentT1566.001Invoice PDF as primary payload
Obfuscated Files or InformationT1027CR/LF characters in filename prevent analysis
Virtualization/Sandbox Evasion: Time Based EvasionT1497.003Sandbox abort due to file-system handling failure
Email Attack of the Day is a daily series from IRONSCALES spotlighting real phishing attacks caught by Adaptive AI and our community of 35,000+ security professionals. Each post breaks down a real attack. What it looked like, why it worked, and what to do about it.

Related attacks

Attack What happened
The Invoice Was in Hebrew, the HTML Attachment Called Localhost, and Every Authentication Check PassedA Hebrew-language invoice from an Israeli manufacturers association passed SPF, DKIM, and DMARC.
The Reply-To Was One Letter Off: How a Typosquat Domain Turned a Gmail BEC Into a Payment DiversionA Gmail-authenticated BEC used a typosquat Reply-To domain and a hidden HTML mailto mismatch to impersonate a steel distributor's credit manager.
The Italian Certified Email That Wrapped Its Payload in S/MIMEA phishing email arrived through Italy's certified email system (PEC) with the payload wrapped in an S/MIME smime.p7m container.
The FedEx Email Was Real, the PDF Was an Image, and the Sandbox Saw NothingA pre-arrival notification from legitimate FedEx infrastructure carried an image-based PDF that contained no extractable text.
The Encrypted PDF From a Reuters Lookalike Domain, Sent Through Amazon SESA phishing email from a Reuters lookalike domain delivered an AES-encrypted PDF with AcroForm fields through Amazon SES.