执行摘要: LayerX 的研究人员发现,一种简单的自定义字体就能让市面上所有的人工智能系统都面临风险。他们仅使用自定义字体和简单的 CSS,就创建了一个网页。在这个网页上,浏览器会渲染出引导用户执行反向 shell 的指令,而人工智能工具分析的 DOM 文本却包含无害的电子游戏同人小说。
恶意指令仅存在于渲染层,我们测试过的所有AI网络助手均未能识别出该威胁。字体是众所周知的恶意软件攻击途径,我们的研究表明,字体也可被利用来快速注入和污染AI系统。因此,包括ChatGPT、Claude、Gemini等在内的所有AI系统都可能成为此类攻击的目标,从而导致潜在的数据泄露和/或恶意代码执行。
LayerX联系了所有受我们研究影响的供应商。然而,除了微软之外,其他供应商都解释说,这“超出”了他们对人工智能模型安全的理解范围,而且涉及社会工程学,这再次表明人工智能平台实际保护的内容与用户认为的安全内容之间存在脱节。
盛装杀戮:人工智能的渲染差距
人工智能助手分析的网页HTML代码与用户在浏览器中看到的渲染内容之间存在结构性脱节。在某些情况下,此类助手可能会向用户提供不准确甚至危险的回复,攻击者可以利用这一缺陷实施社会工程攻击。
使用自定义字体和 CSS,可以改变 HTML 文本在用户眼中的视觉效果,但其在 DOM 中保持不变。当页面在浏览器中渲染时,用户看到的内容与底层 HTML 完全不同。没错,内容仍然存在,但它实际上已经从用户的视野中剥离出来。
我们构建了一个概念验证页面,它表面上看起来像是一个电子游戏同人小说,但当在浏览器中渲染后,会引导用户执行一系列步骤,最终获取反向 shell。当被问及该页面是否安全时,我们测试的所有非智能助手(ChatGPT、Claude、Copilot、Dia、Fellou、Gemini、Genspark、Grok、Leo、Perplexity 和 Sigma)都未能检测到“隐藏”文本,并自信地告知用户该页面不存在安全隐患。测试于 2025 年 12 月进行。
人工智能助手将网页分析为结构化文本,而浏览器则将该网页渲染成用户可见的视觉表示。在这个渲染层中,攻击者可以篡改人眼可见的内容。 意 在不改变底层 DOM 的情况下修改页面。
助手所见与用户所见之间的这种脱节会导致不准确的响应、危险的建议以及信任的丧失。
这并非浏览器漏洞,也不依赖于解析错误。浏览器的行为完全符合设计预期。漏洞存在于那些假定 DOM 文本能够完全表达用户可见含义的工具中。
*非代理型助手是指获取和解析 HTML 但不执行完整的浏览器渲染管道或分析自定义字体字形映射的助手。
攻击者剧本
该技术无需 JavaScript、无需漏洞利用工具包,也无需利用浏览器漏洞:
- 准备看似无害的 HTML 内容,包括解析为文本时看起来无害的填充内容(例如同人小说)。
- 插入一个在 DOM 中看起来毫无意义的编码有效载荷。
- 创建一种自定义字体,重新映射字形,使普通英文字符显示为乱码,而编码后的有效载荷则显示为可读指令。
- 使用 CSS 控制可见性,例如隐藏无关内容(例如 1px,黑底黑字),以易于阅读的大小和颜色显示有效载荷内容,并全局应用自定义字体。
结果:纯文本解析器看到的是良性内容,而用户看到的是攻击者控制的指令。
这会将有效载荷从 DOM 层移到渲染层。
攻击工作流程
用户访问此页面: https://layerxresearch.com/RaptureFuture
对用户而言,这似乎是一个同人小说网站,其中包含一条信息,鼓励用户寻找与电子游戏《生化奇兵》相关的“彩蛋”:
用户心存疑虑,于是请求人工智能助手查看网站,判断彩蛋的说明是否安全。助手获取并解析了HTML代码,发现网站内容主要是受电子游戏启发而创作的同人小说:
同人小说部分通过 CSS 对用户隐藏,而编码后的 blob 部分则正常显示(并使用自定义字体“解码”)。当助手看到页面上的编码后 blob 部分时,由于无法解析类似 base64 的文本,因此将其视为噪声。
在这些条件下, 用户会看到我们上面显示的大段绿色恶意文字,而人工智能助手只能看到现在对用户隐藏的同人小说文本。助手会判断页面是安全的,而且在很多情况下,甚至会鼓励用户按照步骤操作,从而获得反向 shell。
这是一种面向表现层的社会工程攻击技术。恶意代码存在于渲染管线中,而非可执行脚本中。
攻击图
技术细节
如果你查看 HTML 的源代码,你会看到大部分是纯文本(电子游戏同人小说),以及一小部分包含类似 base64 编码的乱码的特殊文本。
在 HTML 代码中,CSS 确保所有文本都使用我们创建的自定义字体。这种字体相当于一种视觉替换密码,它在字形级别实现。字体文件本身就是密码密钥,其构造方式使得在浏览器中渲染时,普通的 HTML 文本会显示为乱码,而特殊的 HTML 文本则会显示为正常文本。这种攻击不需要 JavaScript,即使 JavaScript 被禁用也能生效。
渲染后,普通的HTML文本会被缩小到1像素,并通过设置为与页面背景相同的颜色而变得视觉上不可见。自定义字体使得这段普通文本对用户来说难以辨认。即使用户放大并选中文本,看到的也只是乱码。 但人工智能助手看到的却是底层的普通 HTML 文本(电子游戏同人小说)。
渲染后,特殊的HTML文本会以合理的大小和颜色显示,以便于阅读。 也可以是 这段文字将对用户可见。自定义字体使这段特殊文字对用户可见,其中包含一条消息,鼓励用户在其系统上执行一些步骤,从而获得反向 shell。
对于人工智能助手来说,这种特殊的 HTML 文本只是类似 base64 的乱码:它类似于编码的有效载荷(高熵字母数字序列),如果没有字体映射就无法解码,因此助手和人类都将其视为噪声。
虽然它在视觉上以普通文本的形式呈现给用户, AI 助手看到的是底层特殊的 HTML 文本(乱码)。
如果用户要求助手查看页面并判断其是否安全,助手只能查看底层 HTML 代码,而无法实际渲染页面,因此无法准确判断用户看到的页面内容。由于底层 HTML 代码主要包含电子游戏同人小说,且其中的特殊文本即使对助手来说也难以理解,因此助手会判断该网站是安全的。
人工智能助手发现该电子游戏同人小说网站不存在任何安全威胁或问题。
用户可以看到如何在计算机上建立反向 shell 的步骤。
用户看到的和人工智能助手看到的并不相同。
冲击
当人工智能助手查看页面时,它通过底层 HTML 文本来判断内容和含义。而当用户查看页面时,他们则通过渲染后的页面视觉呈现来判断内容和含义。这是两种不同的威胁面,而我们所描述的漏洞正是利用了二者之间的差异。
在正常的网页浏览场景中,HTML是 内容 字体辅助 字体不会改变文本的含义。在这种情况下,可以合理地假设页面的可见含义是由DOM文本决定的,而不是由字形替换技巧决定的。
这种假设通常是安全的——正因如此,它才如此有效。
现代网络安全模型通常不会将自定义字体视为语义转换器或替换密码。大多数基于浏览器的AI助手无法可靠地检测表示层技巧(例如自定义字形替换),除非它们能够访问字体文件或明确的渲染上下文。即使助手可以获取字体文件,大多数助手默认情况下也无法分析字形映射或执行渲染差异检查。
即使使用旨在引起注意的高度针对性的提示,我们的测试(于 2025 年 12 月进行)也没有发现任何一位助手成功检测到威胁。
用户依赖人工智能助手来准确解读网页内容,但这些助手却很容易被简单的替换密码欺骗。这会造成多方面的实际安全隐患:
人工智能辅助的社会工程
当攻击者创建恶意页面,导致人工智能助手将其判定为安全页面时,他们实际上篡夺了人工智能助手的权威,并利用其声誉来强化自身信息。这种虚假的安全感可能导致用户采取原本会避免的行动,并最终削弱用户对所依赖的安全指导人工智能系统的信任。
人工智能辅助安全工作流程中的盲点
我们创建的概念验证页面——一个诱导用户在其系统上执行有害操作的社会工程攻击——只是这种呈现层技术被利用的一个例子。人工智能助手正日益集成到安全工作流程中,浏览器助手、副驾驶和帮助台工具会总结网页内容并查找潜在威胁。攻击者通过将有效载荷转移到渲染层,制造了一个盲点,使恶意内容能够绕过这些仅处理文本的人工智能工具。
供应商披露和回应
LayerX根据负责任披露程序,将调查结果提交给了主要的AI平台提供商。大多数提供商拒绝接受该报告,通常的理由是此次攻击超出了AI模型安全的范畴。因此,这些模型的用户仍然面临这种攻击风险。
仅有微软和谷歌接受了这份报告并要求时间进行修复。其中,谷歌最终降低了处理级别(最初将其评为 P2(高)级),并关闭了该报告,可能是因为修复工作量过大。
唯一一家彻底解决了这个问题,并要求给予完整披露时间(90 天)的供应商是微软。
| 房屋出售 | 提交日期 | 截止日期 | 供应商回复详情/关键信息 |
| Microsoft | 16年2025月XNUMX日 | 微软于 2025 年 12 月 17 日接受了该报告,并在微软安全响应中心 (MSRC) 开立了一个案例。 | |
| 人类的 | 16年2025月XNUMX日 | 16年2025月XNUMX日 | “根据政策规定,以下内容超出范围:
“社会工程(包括网络钓鱼尝试)”和“模型提示和响应的内容问题”明确列为本计划范围之外的内容。 |
| 日 | 14年2025月XNUMX日 | 16年2025月XNUMX日 | “很遗憾,根据BCNY的项目政策,这超出了我们的范围:
导致错误信息、意外行为、拒绝服务或无法为助手提供正确服务的提示注入明确超出范围。只有当提示注入通过自动窃取敏感用户数据或以用户身份执行未经授权的操作,对用户造成可证明的、具体的损害时,才被视为在范围内。 |
| OpenAI | 16年2025月XNUMX日 | 17年2025月XNUMX日 | “感谢您的耐心等待。但是,您提交的这份材料目前还不足以达到筛选标准,因为此类问题已明确列为本项目范围之外的问题。” |
| 16年2025月XNUMX日 | 27年2026月XNUMX日 | Gemini公司最初于2025年12月17日接受了这份报告,并将其优先级定为P2(高)。然而,在2026年1月27日,他们降低了优先级并关闭了这份报告,并指出:
“我们未能找到任何攻击场景能证明您报告中的案例会对用户造成重大损害。如果您发现我们遗漏了任何案例,请告知我们,并分享一个影响巨大的攻击场景。这是因为该场景……” 过度依赖社会工程学设立的区域办事处外,我们在美国也开设了办事处,以便我们为当地客户提供更多的支持。“ |
|
| 困惑 | 14年2025月XNUMX日 | 17年2025月XNUMX日 | “经过彻底调查,我们确定这份报告并不代表传统意义上的安全漏洞。您描述的情况是大型语言模型在处理外部网络内容时的一个已知局限性,而不是我们系统安全控制中的错误或缺陷。”
您的攻击方案依赖于社会工程学——诱使用户手动执行人工智能系统在分析恶意网页后建议的终端命令。这类似于用户在任何网站上阅读错误建议并选择采纳。我们的服务器上不存在任何代码执行,不会未经授权访问用户数据,也不会绕过身份验证或授权控制。 |
| 人工智能 | 16年2025月XNUMX日 | 17年2025月XNUMX日 | “感谢您的提交!遗憾的是,您报告的这个问题明确超出了我们规定的范围,详情如下: 政策页面:
|
建议使用
通过实施以下改进措施,LLM 可以大幅缩小甚至消除用户所见与 AI 助手所见之间的差距:
双模式渲染和差异分析
进行两项独立的分析:
- 仅文本 DOM 提取
- 启用字体进行全页面渲染
从渲染后的页面中提取可见文本,并确定它与 DOM 文本是否显著不同。
检测隐藏内容模式
扩展解析器以扫描:
- 前景/背景颜色匹配
- 接近于零的不透明度
- 字体大小小于 5 像素
- 屏幕外定位
- 高隐藏内容密度
将字体视为潜在威胁面
- 获取字体文件
- 检查 Unicode/字形映射表
- 检测异常字形替换模式
基于表面不匹配的风险评分
在以下情况下,应赋予较高的风险评分:
- 可见的渲染文本与 DOM 文本不相似。
- DOM 文本看起来无害,但渲染后的文本却包含可执行指令。
- CSS 操作用于隐藏大型内容块
置信度校准
如果助理无法做到以下几点:
- 渲染页面
- 分析自定义字体
- 比较视觉内容与DOM内容
那么它就应该避免做出诸如“该页面是安全的”之类的强硬声明。
结语
网络不仅仅是HTML。意义可以融入渲染流程,任何只分析文本的系统从设计上来说都是盲目的。



