ClaudeBleed:Claude 浏览器扩展中的一个漏洞允许任何扩展劫持它
摘要
LayerX 的研究人员发现 Anthropic 的 Claude Chrome 扩展存在一个严重漏洞,被称为“ClaudeBleed”,该漏洞允许任何其他扩展劫持其功能并执行未经授权的操作,例如访问私有数据或发送邮件。
<p><a href="https://lobste.rs/s/r1eihn/claudebleed_flaw_claude_s_browser">评论</a></p>
查看缓存全文
缓存时间:
2026/05/11 04:59
# ClaudeBleed:Claude 浏览器扩展中的一个漏洞允许任何扩展劫持它 - LayerX
来源:https://layerxsecurity.com/blog/a-flaw-in-claudes-browser-extension-allows-any-extension-to-hijack-it/
## **执行摘要**
LayerX 的安全研究人员发现 Claude 的 Chrome 扩展(https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn)(“Claude in Chrome”)中存在一个漏洞,该漏洞允许任何扩展(即使没有任何特殊权限)通过向其注入恶意指令来有效地劫持 Claude 的扩展,提取攻击者希望的任何信息,并让 Claude 代表攻击者执行主动的代理操作。
LayerX 向 Anthropic 报告了该漏洞。Anthropic 回复称他们已经意识到这个问题,并且会在扩展的下一个版本中修复。然而,Anthropic 仅发布了部分修复,未解决漏洞的根本原因,该漏洞仍然可以被利用。
该漏洞源于扩展代码中的一条指令,该指令允许在源浏览器中运行的任何脚本与 Claude 的大语言模型(LLM)通信,但不验证运行脚本的身份。因此,任何扩展都可以调用内容脚本(不需要任何特殊权限)并向 Claude 扩展发送命令。
作为我们研究的一部分,我们以多种方式利用了此漏洞,以展示它如何被武器化:
- 从 Google Drive 文件夹中提取文件并与外部人员共享
- 代表远程攻击者发送邮件
- 窃取 Github 上私有仓库中的源代码
- 总结最近五封邮件,将其发送给外部用户,并删除已发送的邮件以掩盖踪迹
在更新扩展时,Anthropic 保留了外部访问权限,但添加了另一层内部安全检查,以防止处于“标准”模式的扩展执行远程命令。然而,将扩展切换到“特权”模式(甚至无需通知用户或征求其同意)可以绕过这些检查,并允许执行与之前相同的远程命令。
为了说明此漏洞的工作原理以及可以通过它获取的数据类型,下面是一个演示视频,展示了一个没有任何权限的概念验证扩展如何写入 Claude for Chrome 扩展的“已修补”版本(v.1.0.70),指示其进入用户的 Google Drive,打开名为“Top Secret”的文件并将其与外部用户共享。
此漏洞突显了困扰许多 AI 工具的根本问题:在生产率、自动化和成为 AI 供应商先驱的竞赛中,它们将信任边界扩展得过于遥远,忽略了基础安全考虑,为恶意行为者的利用敞开了大门。
**技术概述**
我们在 Claude Chrome 扩展中发现了一个关键的设计缺陷,该缺陷允许任何 Chrome 扩展——即使**零声明权限**——完全控制 Claude 的行为,并在多个 Web 服务上间接代表用户进行操作。
根本原因是**信任边界违规**:
- 扩展通过 externally_connectable 向主 claude.ai (http://claude.ai/) LLM 暴露了一个特权消息接口,这是一个 manifest 设置,定义哪些外部网站或扩展被允许与你的扩展通信。
- 它信任**来源(claude.ai)**而不是**实际执行上下文**
因此,在 claude.ai 内部运行的任何 JavaScript——包括由另一个扩展注入的脚本——都可以发出特权命令。
我们证明了一个最小扩展可以:
- 执行任意提示
- 突破 Claude LLM 的内置护栏
- 绕过用户确认流程
- 操纵 Claude 对 UI 的感知
- 执行敏感的跨站点操作(Gmail、Google Drive、GitHub)
**不需要权限、用户交互或漏洞利用链。**
## **影响**
此漏洞通过允许零权限扩展继承受信任 AI 助手的功能,有效地**破坏了 Chrome 的扩展安全模型**。
恶意扩展可以:
- 窃取敏感数据(Gmail、Google Drive、GitHub)
- 代表用户执行操作(发送邮件、删除数据、共享文档)
- 绕过用户同意机制
- 操纵 AI 驱动的决策
在实践中,这使 Claude 成为一个困惑的代理人(confused deputy),以用户权限执行由攻击者控制的工作流。
### **为何严重**
- 无需权限 → 高度隐蔽,可能通过审核
- 按设计工作 → 无需漏洞利用链或漏洞串联
- 无需用户交互
- 难以检测或归因
这创建了一个**跨扩展的特权提升原语**,这是 Chrome 安全模型明确旨在防止的。
## **技术概述**
图 1. Claude Chrome 扩展中的信任边界违规
### **1. 信任边界错误**
漏洞源于扩展 manifest:
这允许在 claude.ai 上运行的任何脚本与扩展通信:
**关键问题:**
- 扩展信任*来源*
- 但无法区分*谁*在该来源内执行
### **2. 获取 claude.ai 上下文中的执行权**
我们没有动态注入脚本,而是采用了一种更干净的方法:
- 创建了一个最小扩展
- 声明了一个**内容脚本**
- 配置其在**MAIN world** 中运行
这确保作为页面本身的一部分执行——而不是在隔离的扩展环境中。
### **3. 与 Claude 扩展通信**
Chrome 需要公开可用的扩展 ID:
然后我们发送一条模仿合法流量的消息:
由于这是在 claude.ai 内部运行,发送者受到信任。
### **4. 触发提示执行**
我们识别了一个接受并转发任意提示的消息处理器:onboarding_task。
此时,我们实现了:
- 远程提示注入到 Claude
- 对其操作的完全控制
### **5. 第一道障碍:权限模型**
Claude 对敏感操作(如发送邮件或访问外部服务)强制执行用户确认。这些提示需要显式的用户批准。
*绕过:批准循环*
图 2. 批准循环
我们发现,重复发送“是,继续”最终会满足确认流程,即使 Claude 明确要求**结构化或特定输入**。
这表明:
- 确认是**基于状态的,而不是基于意图的**
- 系统没有将批准与特定操作强绑定
**结果:**
用户同意可以被程序化伪造。
### **6. 第二道障碍:可见性**
我们可以可靠地触发操作,但缺乏对执行的直接可见性。
原因:
- Claude 在**侧边栏(隔离上下文)** 中运行
- 页面无法访问 DOM
*绕过:**间接执行信心**
我们依赖于:
- 重复触发
- 可观察的副作用(邮件发送、文件共享)
### **7. 硬性限制:策略执行**
某些操作始终被阻止,例如:将组织拥有的 Google Drive 文件外部共享。
### **8. 最终突破:感知操纵**
Claude 的决策严重依赖于:
- DOM 结构
- 可见文本
- UI 语义
- 截图解释
这些输入在页面内是**完全由攻击者控制的**。
*绕过:DOM 操纵*
我们动态修改了 UI:
- 移除了像“private”和“password”这样的敏感指标。
- 重命名 UI 标签(例如,“Share” → “Request feedback”)
然后发出提示:“点击‘Request feedback’按钮”。
从 Claude 的角度来看,这是一个无害的操作。实际上它触发了外部文件共享。
**这通过攻击感知而不是逻辑来绕过策略执行。**
### **9. 完整攻击链**
1. 通过零权限扩展将脚本注入 claude.ai
2. 向 Claude 扩展发送消息
3. 触发任意提示执行
4. 通过批准循环绕过确认
5. 操纵 DOM 以改变 Claude 的感知
6. 执行敏感的跨站点操作
## **演示的现实世界场景**
为了便于执行,我们在 PoC 扩展中实现了远程 shell。这不應被视为一个独立的阶段。
**窃取私有 GitHub 仓库代码:**
**将受限制的 Google Drive 文档外部共享:**
**通过远程指令发送邮件:**
**总结收件箱中的最后 5 封邮件,通过电子邮件将其发送到外部地址,并删除邮件以掩盖踪迹:**
## **根本原因分析**
这不是单个漏洞,而是**系统性信任模型失败**:
- ### 基于来源的信任 – 信任 claude.ai 而不是执行上下文
- ### 缺少身份验证层 – 不存在验证消息发送者身份的机制
- ### 弱同意执行 – 用户批准未与操作进行加密或语义绑定
- ### 基于感知的安全 – 安全决策依赖于攻击者控制的 UI 信号
## **披露时间线:**
- **报告日期**:2026年4月27日
- **受影响版本**:1.0.69(2026年4月22日发布)
- **供应商响应**:4月28日,Anthropic 回复称:“在审查此提交后,我们确定它是跟踪相同问题的先前报告的重复。一个删除受影响消息处理器的修复已合并,并将在即将到来的扩展版本中发布。”
- **修复状态**:Anthropic 于2026年5月6日发布了更新的扩展版本(版本 1.0.70)。与他们最初的回复相反,externally_connectable 消息处理器未被删除,但 Anthropic 确实为特权操作引入了额外的批准流程。然而,切换到“特权”模式,即使没有通知用户或征得同意,也能绕过这些安全检查并将提示注入 Claude 扩展,如同之前一样。底层信任边界问题在某些操作模式和侧边栏初始化路径下仍然可利用。
## **建议的修复措施**
在 Anthropic 的缓解更新之后,我们观察到扩展执行模型的显著变化。需要提升浏览器交互权限的操作——如导航、页面交互或内容摘要——现在会在 Claude 侧边栏中触发显式批准流程。
乍一看,这似乎缓解了问题。因为侧边栏在隔离的扩展上下文中执行,零权限扩展无法以编程方式直接与这些提示交互或批准。
然而,缓解措施不完整,仅部分解决了根本问题。
Claude 目前支持两种操作模式:
- **行动前询问**(默认,“标准”模式)
- **不问自行动**(“特权”模式)
第二种模式出于可用性原因存在,允许 Claude 继续自主操作,而无需重复的用户确认。
当扩展处于“**不问自行动**”模式时,新引入的批准层变得无效。我们能够可靠地确定 Claude 何时处于活动状态,并检测是否启用了自主执行模式。一旦启用,原始攻击路径通过现有外部通信通道仍然完全可利用。
因此,攻击者控制的扩展仍然可以向 Claude 发出任意指令并触发特权浏览器操作,而无需额外的用户交互。
重要的是,缓解措施侧重于引入额外的基于 UI 的权限层,而不是强制验证外部消息发送者。因此,核心信任边界问题保持不变。
### **替代侧边栏滥用**
Anthropic 的修复未验证特权模式的初始化流程。因此,恶意扩展可以通过滥用侧边栏初始化流程来启动特权模式会话。
这允许攻击者创建一个替代的 Claude 执行上下文,绕过新引入的批准流程。因此,即使用户配置为使用**行动前询问**,攻击者也可以实例化一个类似于**不问自行动**模式行为的单独侧边栏。
此时,无论用户配置何种交互模式,攻击者都恢复了对 Claude 驱动的浏览器操作的无限制控制。
### **安全影响**
在发布后不久就能绕过缓解措施,表明底层架构问题未完全解决。
缓解措施解决了可见症状——批准 UI 流程——但未解决根本原因:对允许与特权扩展功能通信的实体验证不足。
只要外部提供的消息仅基于来源上下文而不是经过身份验证的执行上下文受到信任,未经授权的扩展就可以继续以意想不到的方式与 Claude 的特权接口交互。
## **建议的修复措施**
- ### 引入扩展到页面的身份验证令牌(例如,签名的请求)
- ### 将 externally_connectable 限制为受信任的扩展 ID,而不是来源
- ### 将用户批准绑定到:
- ### 特定操作
- ### 一次性令牌
- ### 不可重放的流程
相似文章
Lobsters Hottest
安全研究人员发现,Anthropic 的 Claude Desktop 应用在未经用户同意的情况下,秘密为基于 Chrome 的浏览器安装未记录的原生消息清单文件,创建了一个后门,允许浏览器扩展以系统权限级别执行代码。文章认为,这违反了电子隐私指令和计算机访问法律。
Lobsters Hottest
在 Anthropic 的 Claude Code CLI 和 SDK 中发现了严重命令注入漏洞(CVE-2026-35022,CVSS 9.8),攻击者能够通过环境变量、文件路径和身份验证助手执行任意命令并窃取凭据。这些缺陷使得在 CI/CD 环境中能够进行毒化流水线执行攻击,需要立即修补和配置更改。
Lobsters Hottest
一位安全研究员发现 Claude Code 中存在远程代码执行 (RCE) 漏洞,该漏洞由深层链接设置的不当解析引起,允许通过钩子 (hooks) 注入任意命令。此问题已在版本 2.1.118 中修复。
YouTube AI Channels
Anthropic 推出了“Claude for Chrome”,这是一款浏览器扩展程序,使 AI 模型能够自主查看、点击、输入和浏览网页,从而处理复杂的工作流。
Reddit r/ArtificialInteligence
Anthropic的Claude Mythos Preview模型在50家合作伙伴的使用中,已发现超过10,000个高严重性和关键严重性的软件漏洞,其中包括Cloudflare系统中的2,000个bug以及wolfSSL中的一个关键缺陷,这标志着软件安全领域的范式转变。