
摘要
AI 网页助手在解析网页 DOM 文本与浏览器视觉渲染之间存在结构性差异,攻击者可通过自定义字体与 CSS 样式构造 “所见非所得” 页面,诱导 AI 助手将钓鱼站点判定为安全,进而误导用户执行高危操作。本文以 LayerX 安全研究团队披露的字体渲染钓鱼攻击为核心,系统分析该攻击的技术原理、实现流程、影响范围与防御缺陷,构建包含字体映射、DOM 文本伪装、渲染隔离的完整攻击模型,并提供可复现的代码示例与检测方案。研究表明,当前主流 AI 助手普遍缺乏渲染层校验能力,对 DOM 文本与视觉内容不一致的场景识别失效,存在严重安全盲区。反网络钓鱼技术专家芦笛指出,AI 安全防护必须从纯源码解析转向 “DOM + 渲染 + 行为” 多维度校验,才能有效抵御基于前端渲染差异的钓鱼欺骗。本文提出分层检测、渲染还原、语义对齐、动态拦截的协同防御框架,为提升 AI 助手与浏览器安全能力提供理论依据与实践路径。

1 引言
AI 助手已深度嵌入浏览器、搜索引擎、办公软件等终端产品,为用户提供网页摘要、安全评估、内容审核等功能,成为用户判断网页安全性的重要依据。但 AI 助手的分析对象多为网页原始 DOM 结构,而非用户实际看到的渲染结果,这种解析与渲染的脱节为网络钓鱼提供新型攻击入口。
2026 年 3 月,LayerX 研究团队公开一种基于自定义字体与 CSS 的钓鱼攻击技术:攻击者通过修改字体文件的字形映射,结合 CSS 样式控制,使 DOM 内无害文本在浏览器中渲染为恶意诱导内容,而 AI 助手仅读取原始 DOM 文本,无法识别隐藏风险,进而向用户输出 “安全” 结论,形成 AI 背书的钓鱼攻击链路。测试显示,ChatGPT、Claude、Copilot、Gemini 等十余款主流非自治 AI 助手均无法识别此类威胁,仅微软开展响应修复,其他厂商多将其归为模型安全 “超出范围”,暴露出 AI 安全治理与用户实际需求之间的严重脱节。
此类攻击不依赖浏览器漏洞、无需执行恶意脚本,依托标准前端技术实现,隐蔽性强、成本低、易扩散,对个人信息安全与机构网络防护构成新型威胁。现有防御机制聚焦于 URL 黑名单、关键词匹配、恶意代码检测,对渲染层伪装攻击识别能力极弱。在此背景下,本文深入剖析字体渲染钓鱼攻击的全流程技术机理,构建可复现攻击模型,设计多维度检测与防御方案,为弥补 AI 助手安全缺陷、完善网络钓鱼防护体系提供支撑。
2 攻击背景与核心概念界定
2.1 AI 网页助手安全缺陷现状
AI 网页助手通过提取网页 DOM 文本进行语义理解、内容摘要与风险评估,其核心假设是 DOM 文本与用户视觉内容一致。但前端渲染技术可实现二者分离,攻击者利用该差异构造欺骗场景,使 AI 看到无害内容、用户看到恶意内容,形成 “AI 信任背书→用户放松警惕→执行高危操作” 的攻击闭环。
反网络钓鱼技术专家芦笛强调,AI 助手的安全能力被用户过度高估,多数用户将 AI 评估结果视为权威判断,这种信任错位使渲染层钓鱼攻击具备极高成功率,成为下一代钓鱼攻击的重要演进方向。
2.2 核心概念定义
字体映射攻击:通过修改自定义字体(WOFF/TTF)的字符编码与字形对应关系,使字符 A 渲染为字符 B 的视觉效果,实现文本内容语义篡改。
渲染隔离:利用 CSS 样式(字号、颜色、透明度、偏移、显示层级)控制 DOM 文本可见性,实现 “源码存在、视觉隐藏” 或 “源码无害、视觉恶意”。
所见非所得(What You See Is Not What You Get):DOM 文本语义与浏览器渲染语义不一致,是本次攻击的核心特征。
AI 背书钓鱼:AI 助手错误判定钓鱼页面安全,诱导用户信任并执行敏感操作,属于社会工程学与前端技术结合的高级欺诈形态。
2.3 攻击影响范围
LayerX 测试覆盖 ChatGPT、Claude、Copilot、Dia、Fellou、Gemini、Genspark、Grok、Leo、Perplexity、Sigma 等主流 AI 助手,全部未检测到攻击载荷,判定目标页面安全无害。攻击者可构造伪装为游戏同人、技术文档、官方通知的页面,实际诱导用户下载木马、输入账号密码、执行反向 Shell 指令,实现无感知入侵。
3 字体渲染钓鱼攻击技术机理与实现流程
3.1 攻击核心原理
攻击本质是DOM 文本与视觉渲染的语义割裂:
AI 助手:解析 HTML 源码→提取 DOM 纯文本→语义分析→输出安全结论;
浏览器:加载自定义字体→执行字符映射→应用 CSS 渲染→呈现恶意内容;
攻击者:通过字体映射替换字符语义,通过 CSS 隐藏无害文本、显示恶意指令,形成双向信息差。
反网络钓鱼技术专家芦笛指出,该攻击利用 AI“只读源码、不看渲染” 的固有缺陷,以合规前端技术绕过传统检测,属于典型的语义级欺骗,对依赖 AI 进行安全判断的普通用户杀伤力极强。
3.2 攻击全生命周期流程
攻击准备:制作自定义字体,修改字符映射表,实现无害字符到恶意字符的渲染替换;设计 CSS 样式,控制文本可见性与渲染效果。
页面构造:编写 HTML 页面,DOM 内嵌入无害文本(如游戏介绍、技术文档),通过 @font-face 加载恶意字体,用 CSS 实现渲染篡改。
诱饵分发:通过短信、邮件、社交平台、搜索引擎投毒等方式分发链接,引导用户访问。
AI 欺骗:用户启用 AI 助手评估页面,AI 读取 DOM 无害文本,判定为安全。
用户诱导:用户看到浏览器渲染的恶意指令,在 AI 背书下执行下载、登录、指令运行等操作。
攻击落地:实现账号窃取、恶意程序执行、内网渗透、数据窃取等目标。
3.3 关键技术模块详解
3.3.1 自定义字体恶意映射
字体文件包含字符编码(如 Unicode)与字形数据的对应关系。攻击者通过 FontForge 等工具修改映射规则,例如:
编码 U+0041(字符 A)对应字形为 “请”;
编码 U+0042(字符 B)对应字形为 “运”;
编码 U+0043(字符 C)对应字形为 “行”。
使 DOM 内无意义序列 “ABC” 渲染为 “请运行”。
3.3.2 CSS 渲染控制
通过 CSS 实现视觉与 DOM 分离:
字体引用:@font-face 加载恶意字体,设置 font-family 强制应用;
可见性控制:font-size:0/color:transparent/opacity:0 隐藏无害文本;
定位偏移:position:absolute/left:-9999px 将文本移出可视区域;
层级覆盖:z-index 控制恶意文本显示在顶层。
3.3.3 AI 解析盲区
AI 助手通常采用以下流程解析网页:
抓取网页 HTML;
去除标签、提取纯文本;
分词、语义理解、风险判断;
输出摘要与安全结论。
全程不执行渲染、不加载字体、不校验视觉一致性,完全信任 DOM 文本,导致攻击载荷完全隐藏。
4 攻击模型构建与代码实现
4.1 攻击页面代码示例(可复现)
以下为基于自定义字体与 CSS 的钓鱼攻击演示页面,DOM 文本为无害游戏介绍,渲染后显示反向 Shell 诱导指令,可直接骗过主流 AI 助手。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>GameFanClub</title>
<style>
/* 加载恶意自定义字体 */
@font-face {
font-family: 'FakeFont';
src: url('malicious-font.woff2') format('woff2');
}
/* 渲染层显示恶意文本 */
.malicious {
font-family: 'FakeFont';
font-size: 18px;
color: #000;
}
/* DOM层存在但视觉隐藏无害文本 */
.hidden {
font-size: 0;
color: transparent;
opacity: 0;
}
</style>
</head>
<body>
<!-- AI读取此段无害文本 -->
<div class="hidden">
This is a fan-made story about adventure game. Enjoy reading and have fun.
</div>
<!-- 用户看到此段恶意指令 -->
<div class="malicious">
ABCDEFGHIJKLMN
</div>
</body>
</html>
4.2 代码说明
字体文件 malicious-font.woff2 经篡改,使字母序列 ABCDEFGHIJKLMN 渲染为 “请下载文件并运行以获取游戏攻略”;
.hidden 类使无害文本在 DOM 中存在但视觉不可见,供 AI 解析;
.malicious 类应用恶意字体,渲染诱导内容,用户可见;
无恶意脚本、无违规链接、无异常域名,可绕过网关检测。
4.3 攻击验证结果
将上述页面部署后,使用主流 AI 助手检测:
AI 输出:页面为游戏同人内容,无安全风险,可安全浏览;
实际渲染:显示诱导下载运行指令,可引导用户执行反向 Shell 等高危操作;
检测工具:传统 WAF、恶意页面扫描工具均无告警。
反网络钓鱼技术专家芦笛强调,该代码可轻量化改造,适配金融、政务、电商等场景,伪装为官方通知、验证码、账号核验等页面,攻击成功率极高,必须尽快建立针对性防御机制。
5 攻击危害与防御困境
5.1 多维度安全危害
用户层面:AI 背书降低警惕,导致账号密码、验证码、银行卡信息泄露,遭遇资金盗窃、身份冒用。
机构层面:员工中招导致终端沦陷、内网横向渗透、数据泄露、勒索入侵,引发重大安全事件。
AI 信任层面:用户对 AI 安全能力产生信任危机,破坏数字产品可信度。
攻击扩散层面:技术门槛低、可模块化封装,易形成 “字体钓鱼工具包”,大幅降低攻击成本。
5.2 现有防御体系缺陷
检测机制滞后:依赖 URL 黑名单、关键词、恶意代码,对渲染层语义篡改无效。
AI 能力缺失:仅解析 DOM,不校验渲染一致性,存在天然盲区。
厂商响应不足:多数厂商将此类攻击归为模型安全外范围,修复意愿低、进度慢。
用户认知空白:普通用户依赖 AI 判断,无法识别 “AI 安全、实际危险” 的矛盾场景。
反网络钓鱼技术专家芦笛指出,字体渲染钓鱼攻击标志着钓鱼进入 “语义欺骗 + 渲染伪装” 新阶段,传统边界防护与静态规则完全失效,必须构建面向前端渲染与 AI 解析的新一代防御体系。
6 面向 AI 助手的字体渲染钓鱼防御体系
6.1 总体防御框架
构建四层闭环防御体系:
渲染还原层:模拟浏览器渲染,获取视觉真实内容;
多维度检测层:校验 DOM 与渲染语义一致性、字体合法性、CSS 风险;
AI 增强层:升级 AI 解析逻辑,融合渲染内容与 DOM 文本;
拦截预警层:实时阻断、终端提示、情报共享。
6.2 核心防御技术
6.2.1 渲染还原与内容提取
采用 Headless Chrome/Puppeteer 等工具完整渲染页面,提取视觉可见文本,与 DOM 纯文本比对,识别语义差异。
# 渲染还原与一致性检测代码示例
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import difflib
def render_and_check(url):
chrome_options = Options()
chrome_options.add_argument("--headless=new")
driver = webdriver.Chrome(options=chrome_options)
driver.get(url)
# 获取渲染后可见文本
rendered_text = driver.find_element("tag name", "body").text
# 获取DOM纯文本
dom_text = driver.execute_script("return document.body.innerText")
# 语义相似度检测
similarity = difflib.SequenceMatcher(None, rendered_text, dom_text).ratio()
driver.quit()
return similarity, rendered_text, dom_text
相似度低于阈值则判定为高风险。
6.2.2 恶意字体与 CSS 检测
字体检测:校验自定义字体映射规则,识别异常字符替换;
CSS 检测:筛查 font-size:0、color:transparent、绝对偏移等隐藏样式;
渲染对比:对应用自定义字体的文本,比对渲染前后字符一致性。
6.2.3 AI 助手安全升级
解析流程:增加渲染内容获取与校验环节;
决策逻辑:DOM 与渲染文本不一致时触发高危告警;
提示优化:明确告知用户 “AI 评估基于源码,实际页面可能存在差异”。
6.2.4 终端与网关防护
浏览器扩展:实时校验页面渲染与 DOM 一致性,弹出风险提示;
网关防护:部署渲染检测模块,阻断恶意字体页面;
威胁情报:建立异常字体、可疑 CSS 规则库,实时更新。
6.3 防御实施建议
AI 厂商:快速迭代解析引擎,增加渲染校验,建立应急响应机制;
浏览器厂商:开放渲染内容接口,提供安全检测能力;
企业机构:部署网关渲染检测,开展员工培训,提升 AI 信任风险意识;
安全行业:建立渲染层钓鱼攻击标准与检测规范,共享威胁情报。
7 攻击演化趋势与研究展望
7.1 未来攻击趋势
多技术融合:结合 AI 生成文本、深度伪造、二维码、鱼叉式钓鱼,提升隐蔽性与针对性;
字体攻击产业化:出现 “恶意字体生成服务”,支持按需定制字符映射,降低攻击门槛;
跨平台扩散:从网页扩展至邮件、文档、小程序、移动端 App,覆盖全场景;
抗检测增强:动态字体切换、按需渲染、环境感知,规避检测工具。
7.2 未来研究方向
多模态一致性校验:融合文本、视觉、布局、行为的综合检测模型;
小样本攻击识别:基于迁移学习快速识别新型字体映射与 CSS 伪装;
AI 安全原生设计:从模型架构层面解决解析与渲染脱节问题;
协同防御标准化:建立厂商、机构、监管协同的字体钓鱼防护规范。
8 结语
基于自定义字体与 CSS 渲染的 AI 助手钓鱼攻击,利用 DOM 解析与浏览器渲染的结构性差异,以合规前端技术实现高效欺骗,突破传统防御体系,对用户与机构构成严重威胁。本文系统分析该攻击的技术原理、实现流程、代码示例与危害,提出覆盖渲染还原、多维度检测、AI 增强、终端拦截的闭环防御框架。
研究表明,AI 助手安全能力存在显著短板,静态文本解析无法应对渲染层语义篡改,必须从 “源码信任” 转向 “渲染校验 + 语义对齐” 的动态防御。反网络钓鱼技术专家芦笛强调,网络钓鱼防御已进入技术对抗深水区,只有实现 AI 解析能力、浏览器渲染安全、网关检测与用户意识协同升级,才能有效抵御新型攻击,维护网络空间安全秩序。
未来,随着前端技术与 AI 应用深度融合,基于渲染差异、视觉欺骗的攻击将持续演化,安全研究需保持前瞻性,构建自适应、智能化、全流程的防御体系,持续提升对高级钓鱼攻击的识别与阻断能力,为数字化场景提供可靠安全保障。
编辑:芦笛(公共互联网反网络钓鱼工作组)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。