字体投毒:AI 为何“失明”?
最近有个挺让人后背发凉的安全漏洞,叫“字体投毒”(Font Poisoning)。一家叫 LayerX 的安全厂商披露说,这招能把 AI 整得“眼瞎”。
简单说,攻击者搞个自定义字体,配合 CSS 样式,把恶意指令伪装成正常的文字。AI 读出来是一堆乱码,觉得没啥事;可用户肉眼一看,明明是一串能跑 Reverse Shell(反向 Shell)的危险代码。
这到底是怎么骗过 AI 的?
核心就两个字:错位。
AI 处理的是文本,人看到的是画面。攻击者利用了这个巨大的认知差:
- 字符映射篡改:黑客改了字体文件,正常字母在屏幕上显示成乱码,但恶意指令在 AI 眼里却变成了普通文本。
- 视觉欺骗:用 CSS 把真实内容设成极小字号或透明色,用户根本看不见;恶意指令却放大得清清楚楚。
结果就是,AI 认为“完全安全”,用户却按 AI 说的去执行了高危命令,设备瞬间被接管。
厂商们反应太“冷淡”
LayerX 在 2025 年 12 月把这个漏洞报给各家厂商后,大家的反应差异挺大:
- 微软 Copilot:这是唯一一个“听劝”的。迅速响应,直接修了。
- 谷歌 Gemini:先定高风险,后来觉得是“用户太容易被骗”(社会工程学问题),就把案例降级关闭了。这理由有点像是在推卸责任。
- 其他厂商:基本无视,觉得这不在他们评估范围内。
我的担忧
说实话,看完这个案例,我对现在的大模型安全评估挺没底气的。
现在的 AI,像 ChatGPT、Claude 这些,主要靠分析文本。它们看不懂前端渲染(DOM/CSS)和后端逻辑之间的深层联系,很容易被这种“视觉欺骗”给糊弄过去。这就好比让你去审核一份代码,结果给你看的是一份排版过后的截图,你根本没法判断里面的逻辑是不是有问题。
除了微软,包括谷歌在内的其他巨头,对这种跨模态攻击的防御都严重不足。谷歌把责任推给“社会工程学”,而不是承认这是技术漏洞,这反映出整个行业对新型攻击面的认知还是太慢了。
咱们得怎么防?
既然指望 AI 自己“睁眼”没那么快,咱们得自己小心点:
- 别全信 AI 说的:尤其是涉及代码执行权限的时候,AI 给出的“安全”结论,千万别直接当真理。
- 保持警惕:处理任何通过 AI 评估的网页脚本或代码时,多留个心眼。
- 人工复核:对于 AI 说“安全”但来源不明的代码,最好还是拿个沙箱跑一跑,或者人工仔细检查一下。
注:文中提到的 ChatGPT 是 OpenAI 的,Copilot 是微软的,Claude 是 Anthropic 的。
注:部分细节基于公开技术报告整理,具体厂商响应时间请以官方公告为准。
