技术深度剖析
该攻击链堪称多向量社会工程学的教科书级案例,融合了恶意广告、UI伪造和AI信任利用。其技术架构并非特别复杂,但精妙之处在于每一步都精准操控了用户心理。
第一阶段:谷歌广告投毒
攻击者针对“Loom下载”或“Notion安装程序”等高流量关键词购买谷歌广告。这些广告采用域名抢注技术——例如 `loom-download[.]com` 或 `notion-setup[.]pro`——并通过先托管一个良性着陆页来通过谷歌的广告审核。审核通过后,广告会重定向至一个恶意页面,该页面完美模仿了合法软件的下载界面。页面使用了相同的CSS、Logo和布局,但下载按钮触发的 `.dmg` 文件并非真正的应用程序。
第二阶段:虚假安装程序
下载的 `.dmg` 文件包含一个Mach-O二进制文件,看似合法的安装程序,实则为恶意软件投放器。执行时,它会进行一系列检查以规避沙箱检测:检查是否存在 `lldb` 或 `dtrace` 等常见分析工具,验证系统区域设置,并随机延迟30-120秒以逃避自动化分析。如果环境看似安全,则进入下一阶段。
第三阶段:Claude.ai界面劫持
这是本次攻击的新颖之处。投放器会打开一个本地Claude.ai实例(或一个模拟其界面的WebView),并注入一个精心构造的提示,使其看似正常的用户查询。实际上,该提示包含编码后的JavaScript,利用聊天界面的消息渲染管道进行攻击。恶意载荷以看似无害的AI回复形式呈现——一个“实用工具”或“安全更新”的链接——用户点击后,便会下载真正的恶意软件(后门或信息窃取器)。用户看到熟悉的Claude界面和看似合法的回复,便会毫无戒心地点击。
技术机制
该攻击利用了Claude.ai网页界面通过WebSocket连接进行实时消息流传输的特性。投放器会打开一个无头浏览器(通过Puppeteer或自定义WebView),使用窃取或生成的会话令牌进行身份验证。然后,它发送一条预先构造的消息,其中包含一个隐藏的iFrame或 `data:` URI,用于加载恶意软件。由于消息看似来自AI,浏览器的同源策略会将其视为受信任内容。这并非Claude代码中的漏洞,而是一种设计层面的信任假设:平台假定所有来自AI的消息都是安全的,但并未验证这些消息被渲染时的上下文。
相关开源工具
- Puppeteer Extra:一款流行的无头浏览器自动化工具(GitHub: `puppeteer/puppeteer-extra`,约20k星标),攻击者可能用它来编写与Claude交互的脚本。
- GoPhish:一款开源钓鱼框架(GitHub: `gophish/gophish`,约12k星标),可被改造用于AI界面伪造。
- Bettercap:一款网络攻击框架(GitHub: `bettercap/bettercap`,约18k星标),可用于中间人攻击,向合法AI会话中注入恶意内容。
数据表格:攻击阶段 vs. 检测难度
| 攻击阶段 | 技术手段 | 检测难度 | 常见防御措施 |
|---|---|---|---|
| 谷歌广告 | 恶意广告 | 低(绕过广告审核) | 广告拦截器、URL信誉 |
| 虚假下载页面 | 域名抢注 + UI伪造 | 中等 | 浏览器安全扩展 |
| 投放器二进制文件 | Mach-O规避 | 高(多态性) | 端点检测(EDR) |
| Claude界面劫持 | 信任利用 | 极高 | 行为分析 |
数据要点: Claude界面劫持阶段最难检测,因为它利用的是信任关系而非技术漏洞。传统的基于签名或异常的检测系统对此向量完全无效。
关键参与者与案例研究
Anthropic (Claude.ai)
Anthropic是此次被利用的主要平台。该公司的安全策略一直侧重于防止AI生成有害内容(例如越狱、虚假信息),但并未解决界面本身被用作投递机制的风险。这是其威胁模型中的一个盲点。Anthropic尚未就此次特定攻击活动公开发表评论,但据称内部安全团队正在调查其聊天API的攻击面。
谷歌(广告)
谷歌的广告平台是初始入口点。尽管谷歌每年在广告安全上投入50亿美元,恶意广告问题依然顽固存在。2024年,谷歌移除了34亿条不良广告,但复杂攻击活动的数量仍在持续增长。此次攻击凸显了自动化广告审核系统的局限性——它们无法检测依赖于上下文的恶意行为。
Mac用户
受害者群体尤其值得关注。由于平台历史上相对安全,Mac用户的安全意识普遍较低,这使得他们成为此类攻击的理想目标。