AI安全新盲区:字体渲染漏洞可藏恶意命令

安全研究人员发现了一种新型视觉欺诈攻击,仅需自定义字体和几行CSS代码,就能让同一个网页对人类和AI助手显示完全不同的内容,欺骗AI为恶意命令“背书”,目前主流AI助手几乎全部中招。
这种攻击利用了人类与AI读取网页的方式差异:人类通过浏览器渲染后的视觉图像获取内容,而AI助手直接解析网页底层的DOM代码结构,不会执行完整的浏览器渲染管线,也不会处理自定义字体的字形映射。黑客正是抓住这个视角差,实现了内容的双重伪装。
攻击的三个核心步骤
整个攻击流程仅需三个合法操作,全程无需JavaScript或浏览器漏洞:
- 隐藏无害内容:将伪装成游戏同人小说的无害文本设置为1像素高度、颜色与背景完全一致,人类肉眼无法看到,但AI能完整读取到这些内容。
- 嵌入乱码命令:在页面中插入一串看似无意义的高熵字符串,AI会将其识别为噪音直接跳过,但这串乱码实际对应恶意命令。
- 自定义字体映射:加载特制的自定义字体,修改每个字符的字形渲染规则,将代码中的乱码字符串重新映射为人类能看懂的恶意命令,比如反弹Shell指令。
典型攻击演示
研究人员搭建了一个伪装成经典游戏彩蛋的演示页面,页面上显示醒目的提示文字,诱导用户打开终端执行命令。但在AI助手读取的原始代码中,这段文字是一串乱码,同时页面中隐藏了大量无害文本,AI会判定页面完全安全。
当用户询问AI助手该页面是否安全时,AI会基于读取到的无害内容给出“安全可运行”的结论,用户信以为真执行命令后,设备就会被远程控制。
2025年底的测试显示,包括多款主流AI助手在内的11款工具,全部未能检测出这种攻击,即使使用高针对性的提问也无法识别异常。
AI为何无法察觉
当前主流AI助手都属于“非代理式”工具,仅抓取网页的原始代码、标签和文本内容,不会下载字体文件、执行完整渲染,也不会分析自定义字体的字形映射规则。这源于一个默认假设:网页代码中的字符含义与渲染后的视觉表现一致,字体仅负责美观,不会改变文本的实际意义。而这个攻击恰好打破了这个假设。
可以打个比方:如同一份合同的文字内容不变,但打印机的字模被替换,校对员核对的是原始文档,而签字人看到的是被篡改的打印件,双方都尽到了责任,但达成的却是两份完全不同的“协议”。
字体伪装的隐蔽性
研究人员对演示页面的字体文件进行了拆解,发现其字符映射表完全正常,数千个字符的映射没有任何异常,但字形轮廓表被恶意修改:每个字符的实际渲染形状被替换,比如字符“c”实际渲染为“a”,字符“v”被渲染为大写“W”,而常规的字体检测仅会检查字符映射表,无法发现这种底层的字形篡改。
整个替换规则严格一对一,四行乱码可以完整还原为恶意命令,没有任何冲突,这种隐蔽性让常规检测手段难以发现。
攻击的天然缺陷
这种攻击存在一个明显的漏洞:如果用户复制页面中的命令,剪贴板中获取的是原始代码中的乱码字符串,与视觉上看到的恶意命令完全不符,会当场暴露异常。因此演示页面只能诱导用户手动输入命令,无法通过复制粘贴完成攻击。当然攻击者可以通过脚本修改剪贴板内容来绕过这个限制,但至少这是一个可行的自检点。
此外,使用浏览器阅读模式、关闭自定义字体,或者直接更换系统字体,都会让这套伪装失效,因为此时页面会使用默认字体渲染,乱码无法被还原为正常命令。
用户侧防御建议
- 不要将AI的“安全判断”作为唯一依据,AI可能根本没有看到你屏幕上的实际内容。
- 遇到可疑命令时,先复制粘贴到文本编辑器中对比,剪贴板中的原始内容与视觉显示不符时务必警惕。
- 不要手动输入陌生页面给出的终端命令,即使看起来来自权威来源。
- 优先使用浏览器阅读模式,或手动关闭自定义字体功能,避免被字体伪装欺骗。
厂商修复情况
研究团队在2025年12月向各大AI厂商提交了漏洞报告,采用业内通用的责任披露流程,先私下通报再公开。七家参与测试的厂商中,仅有一家完成了完整修复,其余六家均未处理,理由各不相同:
- 微软:12月17日受理并在安全响应中心立案,是唯一完成修复的厂商,目前案件仍在披露等待期内。
- 其余多家厂商均以“属于社会工程或模型固有局限”为由拒绝受理,认为此类问题不在安全修复范围之内。
- 有厂商最初将漏洞评为高危级别,后来降级关闭,理由是攻击依赖社会工程,无法造成显著的直接用户伤害。
- 还有厂商认为这是大语言模型处理外部网页内容的已知局限,并非系统安全缺陷。
截至2026年7月,没有公开信息显示其他厂商已经悄悄修复了该问题,演示页面和字体文件仍然在线,通过纯文本抓取依然只能看到隐藏的无害文本和乱码字符串。
官方修复方向
研究团队为厂商提出了多条检测方案和交互规范优化建议:
- 双向比对验证:同时读取原始代码和执行完整页面渲染,将渲染后得到的可视文本与原始代码内容进行比对,只要两者存在差异就标记为异常。这种方法不依赖已知的攻击手法,能覆盖所有基于渲染差异的欺诈行为。
- 字体安全检测:将自定义字体纳入攻击面检测范围,不仅检查字符映射表,还要比对字形轮廓数据,发现异常的字形替换。
- 限制绝对判定:如果AI无法完成完整页面渲染和字体分析,就不应该直接给出“页面安全”的绝对结论,避免为恶意内容背书。
研究团队的报告结语指出:“网页不只是HTML,文本的含义可以被嵌入渲染管线中,任何仅分析原始文字的系统,天生就是盲目的。”
本文基于安全行业媒体的相关报道与研究复现整理,所有演示场景和检测结果均来自公开的安全研究成果。


