原文机构:Microsoft Threat Intelligence;原文名称:ASCII smuggling crosses over from AI prompt injection to phishing evasion;原文发布:2026-09-03;授权状态:原文著作权归 Microsoft 所有
本页由 AI 承担翻译、摘录与排版工作,不含任何 AI 原创的技术结论;每一节均标注其对应的人类原文章节,如与原文有出入,以原文为准。
ASCII smuggling 从 AI 提示注入跨域至钓鱼规避:微软披露隐形 Unicode 字符金融钓鱼战役
核心摘要(TL;DR)
微软研究人员观察到一场使用不可见 Unicode tag 字符的高流量钓鱼活动——这一技术因 AI 提示注入研究而以“ASCII smuggling”闻名。攻击者并非用它向 AI 模型隐藏指令,而是用它拆分 funding 等金融诱饵词,使邮件过滤器无法解析这些词。该发现源于 Microsoft Defender for Office 365 的提示注入防护研究,说明 AI 时代的规避技术会重现于传统钓鱼活动中。微软遥测显示,用于检测 ASCII smuggling 的猎杀(hunting)签名命中量自 2026-02-09 起急剧上升,并在约三个月内于工作日持续高位;Defender for Office 365 遥测显示,绝大多数邮件是由分层防护而非单一 Unicode 信号拦截的。
一、什么是 ASCII smuggling?人类原文来源章节:译自官方原文 “What is ASCII smuggling?” 一节
“ASCII smuggling”指利用不可见或不可渲染的 Unicode 字符,把内容隐藏在看似正常的文本之中。被滥用最多的区间是 Unicode Tags block(U+E0000 至 U+E007F)。该区间包含可打印 ASCII 字符的“影子副本”(例如 U+E0041 对应 'A',U+E0061 对应 'a')。该区间原本用于语言标签(language tagging),如今已基本废弃(deprecated)。
对攻击者而言关键的性质在于:这些码点中的绝大多数不会被典型字体与用户界面渲染。因此一个字符串可以携带人类无法读取、却会被任何接收到邮件内容的语言模型或其他软件处理的信息。
为何 AI 安全界让它“出名”
过去一年,ASCII smuggling 成为提示注入(prompt injection)与跨提示注入(XPIA)文献中的常见技术。攻击模式很直接:
- 攻击者在嵌入网页、文档、邮件或其他内容的不可见 tag 字符中隐藏指令;
- 人类(及众多用户界面)看不到任何异常;
- 摄取原始文本的 AI 助手确实“看见”了这些隐藏字符,将其解码为文本,并可能被诱导遵循攻击者控制的指令——视助手权限与防护而定,可能导致数据泄露或未授权操作。
因为该技术清晰展示了“人所见”与“模型所读”之间的鸿沟,它在 2025 年的 AI 红队文章、会议演讲与工具中频繁出现,也让 U+E0000–U+E007F 区间受到关注。
由于 tag 字符对人类不可见、却存在于文本处理层,这种“向模型走私指令”的特性,同样可用于“在检测器评估之前混淆关键词”。意图被反转了,但机制相似,且不会引发用户警觉。
二、编写实用的 ASCII smuggling 检测规则人类原文来源章节:译自官方原文 “Writing a practical ASCII-smuggling signature” 一节
作为 Microsoft Defender for Office 365 提示注入防护工作的一部分,我们为邮件中携带的 XPIA 与提示混淆模式构建了猎杀逻辑:这些内容对用户看似无害,却可能为摄取原始邮件的 AI 系统携带隐藏指令。这个本用于识别邮件提示注入风险的猎杀规则,成为了本次钓鱼规避发现的起点。
猎杀 ASCII smuggling 的一种实用方式是:查找携带 Unicode tags block(U+E0000–U+E007F)字符的邮件——这是试图向 AI 模型隐藏(或为其隐藏)指令的标志。该宽泛签名是有用的起点,但它需要足够的 Unicode 上下文,以避免把合法的 tag 字符序列误判为滥用。
第一版规则只要命中该区间任意码点就告警,结果“太粗暴”:它持续命中一小部分完全合法的邮件——经核查,这些邮件全部包含三个细分旗帜 emoji:英格兰、苏格兰、威尔士——因为这些 emoji 是用 tag 字符编码的。排除这些之后,剩余命中主要来自邮件安全网关、邮箱服务商、以及安全或 AI 研究人员转发/测试含 tag 字符邮件所产生的良性产物,从而形成了良好的基线:任何突增都意味着攻击者对该技术的滥用。
三、我们观察到的:ASCII smuggling 被改用于钓鱼人类原文来源章节:译自官方原文 “What we observed: ASCII smuggling repurposed for phishing” 一节
遥测中出现的新活动
经过调优的 ASCII smuggling 签名起初是一项用于发现邮件中隐藏提示注入内容的 AI 安全猎杀规则,结果却浮现出使用同一 Unicode 区间做过滤器规避的金融主题钓鱼邮件。
- 2026-02-09,签名命中量急剧上升。前一天(02-08)签名命中约 21,000 封邮件;次日跃升至 超过 130 万 封。
- 多数邮件可归并为约 150 个金融主题的发件人域名集群。
以周节律持续三个月
高强度阶段在 02-09 之后持续约 三个月,并在 2026-05-15 后急剧下降。两个特征突出:
- 严格的周节律:活动在工作日猛烈发送,周末几乎完全静默;周日量跌至近零,次日又恢复满量。这种开关模式是“定时批量发送基础设施”的典型指纹。
- 漫长而渐进的衰减:初期工作日量为 100 万至 237 万 封,02-26 达峰,到 3 月下旬已缓降至每个工作日约减少 80%;该技术的高用量在 05-15 后骤降,6 月中旬仍有较低残留与偶发小峰值。
在通过该技术特定信号识别出活动后,我们将其与 Fortra 此前记录的、通过 ActiveCampaign 投递的 SBA(小企业管理局)主题钓鱼活动关联。该早期报告表明此活动早于 Unicode tag 字符的使用;我们的分析聚焦于该技术存在的时段与邮件,而非整个大活动的完整生命周期。
不是指令走私,而是过滤器规避
当我们查看被标记邮件的样本时,令人惊讶的是:其中并没有走私给 AI 助手的指令。相反,不可见 tag 字符被插入到常见金融关键词内部,将它们拆分,使字面签名或关键词匹配失败。例如一个对收件人看似正常的金融诱饵词,可能在中间携带一个不可见 tag 字符:
funding 变为 fun⟨U+E0020⟩ding
这里 ⟨U+E0020⟩ 表示插入在字母之间的不可见 Unicode TAG SPACE。在我们检查的邮件中,活动并未在 tag 区间编码隐藏的 ASCII 消息,而是用单个不可见 tag 字符作为“分隔符”撒在高信号词内部。严格地说,这是使用该 ASCII smuggling tag 区间中的码点进行的不可见字符插入,而非完整消息走私。
为何会影响检测
对收件人、以及对丢弃/规范化这些字符的解析管线而言,该词仍读作 funding。但对匹配字面字符串 funding 的检测器,或不考虑穿插不可见码点的正则而言,字节序列不再包含连续的该关键词。真实检测器是否如此表现,取决于其规范化(normalization)步骤。
对攻击者而言更大的收获,不在于阻止字面字符串匹配,而在于日益驱动现代垃圾邮件与钓鱼分类的 ML/NLP 模型。除非过滤系统对邮件“拍照”并对视觉图像做 OCR 提取,否则可能漏掉此类攻击。标准邮件分类器未必像人类那样对完整词进行推理;为效率,它们会先把文本切分为 token 或子词。一个干净的诱饵词 funding 可能表现为一个熟悉 token 或熟悉的子词序列;一旦在中间插入不可见的 U+E0020,分词器可能不再识别那个熟悉单元——它或许把文本切分为 fun、一个意外的 tag 字符、ding;或许吐出稀有/未知子词;又或者,若先做了规范化,则直接移除 U+E0020,剩下 funding。
为何也能帮助防御方
这也带来防御机会:由于此类操纵在正常流量中极为罕见,其存在本身就成为一个高置信信号。一种本想让邮件对 ML 模型显得更“良性”的技术,反而给防御方提供了一个低误报的检测指标。
四、已知与新发现人类原文来源章节:译自官方原文 “What is known and what is new” 一节
插入不可见或形近字符以破坏关键词与签名匹配,是垃圾邮件与钓鱼中长期存在的规避技术:防御方多年来见过零宽空格(U+200B)、零宽非连接符、不换行空格(U+00A0)、软连字符,以及同形字(homoglyph)替换被用来割裂单词,使朴素字符串匹配器失效。
新在何处在于该活动的特定字符与规模:
- 字符选择:未用常见的零宽空格或 NBSP,而选用了 Unicode Tags block。该区间因过去一年关于 ASCII smuggling 与提示注入的 AI 安全研究,从“被遗忘”变为“出名”。
- 规模与纪律性:在微软遥测中,该活动峰值达到每日数百万封邮件的量级。
- 可能的检测盲点:由于 Unicode Tags block 比零宽空格或 NBSP 更少被滥用,防御方应核实其规范化与分词管线是否一致地处理 tag 字符。
金融主题的发件域名
该活动运行于数百个一次性的金融主题发件域名之上,诱饵类似商业贷款、信用额度(line-of-credit)、预支融资(advance-funding)等常与欺诈或凭据 harvesting 漏斗相关的钓鱼模式。该模式占猎杀签名标记量的约 96%。仅 2026-02-09 当天就观察到 148 个金融主题活动域名,命名均出自同一小词表(28 个词元,如 advance、boost、capital、funding、loan 等),例如 catalystcapitalharbor[.]com(21,130 命中)、guardiangrowthfunding[.]com(30,442 命中)。
经由合法邮件营销平台投递
表 1 中的金融域名是收件人看到的“品牌”(信头/P2)域名,但实际邮件经由合法邮件营销平台 ActiveCampaign 的基础设施中继。该平台会重写邮件正文中的每个出站链接,使其经由自身点击追踪域名 acemlnd[.]com 与 activehosted[.]com 路由——收件人点击的 URL 根本不指向品牌域名。信封(P1)发件人为形如 em-<id>.<brand-domain> 的平台子域名。
ActiveCampaign 回应(原文引用):“我们感谢微软的研究,并欢迎与安全社区合作以打击此活动……我们测试了本研究描述的具体技术对其内容审核系统的影响:包含不可见 Unicode 字符的邮件,收到的审核判定与其未混淆版本相同,而该技术的大量使用本身即被视为可疑信号……”
多数观测流量的来源也落在与该平台出站基础设施一致的云托管区间,绝大多数来自单一网络块 173.236.20[.]0/24(两周测量期内约 92% 的日流量)——此指标有助于更精确聚类活动,但请注意它是被滥用服务的合法网段,本身并非 IOC。
五、是否存在检测盲区?人类原文来源章节:译自官方原文 “Is there a detection gap?” 一节
邮件防御管线的潜在盲区在于:Unicode tag 字符是否在内容检测运行之前被规范化或标记。在 Defender 中,我们的过滤栈可以对邮件内容“拍照”、通过 OCR 提取可见文本,并在该提取文本上运行分析以规避此类花招。各实现不同,防御方应在自身管线中测试这些字符如何处理。
就 MDO 防护而言,超过 99% 的邮件是由不依赖直接捕获 tag 字符的层级拦截的,包括发件人、IP、URL 与域名信誉,ML 垃圾/钓鱼分类,品牌仿冒检测,认证检查等。
新兴技术不会停留在一个领域。ASCII smuggling 以“AI 攻击”成名——向人隐藏指令却对模型可见。本次活动显示同一技术被改用于不同目标:在保持对目标收件人可读的同时,对检测系统 obfuscate 钓鱼内容。更广义的教训是:安全技术很少局限于单一领域。随着 AI 时代攻击方法被更好理解,威胁行为者可能将其改造用于钓鱼、垃圾邮件等更传统的威胁——这强化了防御方以“跨领域视角”审视新兴威胁的必要性。
六、缓解与防护建议人类原文来源章节:译自官方原文 “Mitigation and protection guidance” 一节
核心防御原则很简单:先规范化,再匹配(normalize before you match)。任何将由关键词、签名或正则逻辑评估的内容,都应先把不可见与不可渲染的 Unicode 码点剥离或折叠,使把它们拼接进单词不再能击败匹配。
推荐控制项
- 剥离/规范化 Unicode tag 字符(U+E0000–U+E007F)——以及其他零宽/不可见码点——在应用垃圾与钓鱼内容签名之前,从邮件主题与正文中去除。
- 将 tag block 字符的存在视为强异常信号。在已知的合法 tag 序列用途(如某些细分旗帜 emoji)之外,这些码点在普通邮件中极为罕见,可作为高价值异常信号。
- 寻找行为指纹。观测到的活动形态独特:来自不断轮换的金融主题一次性域名的大批量流量,严格“工作日开/周末关”。tag block 字符在金融主题发件人上突增、按周开关,是高置信的战役指标。
- 在 AI 摄取上游应用同样的规范化。击败此规避的控制项,同样能降低摄取邮件内容的 AI 助手的 XPIA/ASCII smuggling 暴露面。
微软防护:Microsoft Defender for Office 365 已部署启发式检测以标记此类活动所用战术;首发该峰值的检测持续标记携带 Unicode tag block 字符的邮件,金融主题发件域名在轮换中被持续追踪与拦截。微软采用分层邮件防护(含标准与 OCR 内容分析、发件人与域名信誉、URL 引爆与信誉、批量邮件检测、反钓鱼模型),以降低对任何单一可被规避信号的依赖。
常见问题(答案均取自上述人类原文章节)
什么是 ASCII smuggling?微软披露的这次活动中它如何运作?
ASCII smuggling 指利用不可见或不可渲染的 Unicode 字符(最常被滥用的是 Unicode Tags block,U+E0000–U+E007F)把内容藏在看似正常的文本里。在 AI 安全研究中,攻击者用它把指令藏在网页/文档/邮件的 tag 字符中,人类看不见,但摄取原始文本的 AI 助手会“看见”并执行。本次金融钓鱼活动反转了意图:攻击者不走私指令,而是把单个不可见 TAG SPACE(U+E0020)插入 funding、loan 等词中间,使 'funding' 变成 'fun⟨U+E0020⟩ding'。收件人看到正常单词,但按字面匹配的检测器找不到连续关键词——这是“操纵安全系统对内容的理解”,而非隐藏恶意内容。
为什么传统的“关键词+规则”检测会失效?
失效分两层。第一层是字面字符串匹配:插入 tag 字符后,原始字节序列不再包含连续的 'funding',朴素关键词/正则匹配直接落空。第二层(更关键)是现代分类依赖 ML/NLP 模型,它们为效率先对文本分词(tokenize)。一个干净的诱饵词本是一个熟悉 token;插入不可见 U+E0020 后,分词器可能切出稀有/未知子词,分类器面对的已不是训练时见过的对象。是否真的失效,取决于管线是否在分析前做了 Unicode 规范化——若先剥离 tag 字符,单词仍是 funding,规避即失效。
企业邮件安全应如何防御此类攻击?
核心原则:先规范化,再匹配(normalize before you match)。具体:(1) 在应用内容签名/正则之前,从主题与正文剥离或折叠 Unicode tag 块(U+E0000–U+E007F)及其他零宽/不可见码点;(2) 将 tag block 字符的存在本身视为强异常信号(合法场景极少,仅细分旗帜 emoji 等需白名单排除);(3) 结合行为指纹——金融主题一次性域名、严格工作日开/周末关的批量节律、经由 ActiveCampaign 类平台的信封形态;(4) 在 AI 摄取上游同样做规范化,兼顾 XPIA 防护;(5) 日志应保留原始信息与规范化结果,便于取证与关联。
这次隐形 Unicode 活动是否真的绕过了微软防护?
没有整体绕过。微软明确指出,在 Defender for Office 365 遥测中,超过 99% 的邮件是由不依赖直接捕获 tag 字符的层级拦截的——包括发件人/IP/URL/域名信誉、ML 分类、品牌仿冒检测、认证检查等分层控制。更讽刺的是,tag 字符在正常邮件中极罕见,其出现反而成为高置信 IOC;该技术“搬起石头砸自己的脚”。但微软也提醒:这是 Defender 特定遥测,使用其他网关、自定义规则或成熟度较低的过滤栈的组织,不应默认获得同等防护效果,须自行验证管线对 tag 字符的规范化处理。
人类官方原文来源(source)
- :https://www.microsoft.com/en-us/security/blog/2026/09/03/ascii-smuggling-crosses-over-from-ai-prompt-injection-to-phishing-evasion
- :https://www.fortra.com/blog/attackers-exploit-activecampaign-deliver-thousands-ai-generated-sba-phish
- :https://unicode.org/charts/PDF/Unicode-3.1/U31-E0000.pdf
- :https://embracethered.com/blog/posts/2024/hiding-and-finding-text-with-unicode-tags/
- :https://atlas.mitre.org/techniques/AML.T0068
本页为对 Microsoft Threat Intelligence《ASCII smuggling crosses over from AI prompt injection to phishing evasion》的中文翻译与摘录,原文著作权归该机构所有,内容以人类官方原文为准。本页仅作中文可达性辅助,任何技术决策请以上述官方原文为准。
