Claude 两周发现 22 个 Firefox 漏洞

深度Anthropic2026年3月6日5 分钟阅读
Claude 两周发现 22 个 Firefox 漏洞
Anthropic 与 Mozilla 合作,让 Claude Opus 4.6 在两周内发现了 22 个 Firefox 安全漏洞,其中 14 个被评定为高危。这占 2025 年 Firefox 修复的所有高危漏洞的近五分之一。

大语言模型(LLM)已经能独立识别复杂软件中的高危漏洞。我们最近记录过,Claude 在久经测试的开源软件中发现了超过 500 个零日漏洞(即软件维护者未知的安全缺陷)。

这篇文章分享我们与 Mozilla 研究人员合作的具体细节:Claude Opus 4.6 在两周内发现了 22 个漏洞。其中,Mozilla 将 14 个评定为高危漏洞——这几乎占了 2025 年 Firefox 修复的所有高危漏洞的五分之一。换句话说,AI 正以前所未有的速度帮助发现严重的安全漏洞。

一张图表显示 Opus 4.6 如何显著提高了每月发现的 Firefox 安全漏洞数量。

各来源报告的 Firefox 安全漏洞(按月统计)。Claude Opus 4.6 在 2026 年 2 月发现了 22 个漏洞,超过了 2025 年任何单月的报告数量。

在这次合作中,Mozilla 处理了我们提交的大量报告,帮助我们理解哪些发现值得提交漏洞报告,并在 Firefox 148.0 中向数亿用户推送了修复。他们的合作以及我们学到的技术经验,为 AI 赋能的安全研究人员与软件维护者如何协作应对当下挑战提供了一个模型。

从模型评估到安全合作

2025 年底,我们注意到 Opus 4.5 几乎能解决 CyberGym 中的所有任务,这是一个测试 LLM 能否复现已知安全漏洞的基准。我们想构建一个更困难、更贴近现实的评估,包含更多技术复杂的漏洞,比如现代网络浏览器中的那些。因此,我们建立了一个包含先前 Firefox 常见漏洞与暴露(CVE)的数据集,看看 Claude 能否复现它们。

我们选择 Firefox,因为它既是一个复杂的代码库,也是世界上测试最充分、最安全的开源项目之一。这使得它成为测试 AI 发现新型安全漏洞能力的更严苛挑战,比我们之前测试模型用的开源软件更难。数亿用户每天依赖它,而浏览器漏洞尤其危险,因为用户经常遇到不受信任的内容,并依赖浏览器来保护安全。

我们的第一步是使用 Claude 在旧版 Firefox 代码库中寻找先前已识别的 CVE。我们惊讶地发现,Opus 4.6 能复现其中很高比例的历史 CVE,要知道每个漏洞当初都需要大量人力才能发现。但我们仍不确定该多大程度上信任这个结果,因为至少部分历史 CVE 可能已经存在于 Claude 的训练数据中。

于是,我们让 Claude 在 Firefox 的当前版本中寻找新型漏洞——这些漏洞按定义不可能被报告过。我们首先关注 Firefox 的 JavaScript 引擎,随后扩展到浏览器的其他部分。JavaScript 引擎是一个方便的起点:它是 Firefox 代码库中一个可以独立分析的切片,并且由于其广泛的攻击面(当用户浏览网页时,它处理不受信任的外部代码),确保其安全尤为重要。

仅仅探索了二十分钟后,Claude Opus 4.6 就报告称在 JavaScript 引擎中发现了一个释放后使用(Use After Free)漏洞(一种内存漏洞,可能允许攻击者用任意恶意内容覆盖数据)。我们的一名研究人员在装有最新 Firefox 版本的独立虚拟机中验证了这个漏洞,然后转发给另外两名 Anthropic 的研究人员,他们也验证了该漏洞。随后,我们在 Mozilla 的问题追踪系统 Bugzilla 中提交了一份漏洞报告,附上漏洞描述和一份建议补丁(由 Claude 编写,并由报告团队验证),以帮助分析根本原因。

在我们验证并向 Firefox 提交这第一个漏洞的时间里,Claude 已经发现了另外五十个独特的崩溃输入。当我们正在对这些崩溃进行分类时,一位 Mozilla 的研究人员联系了我们。在就各自流程进行技术讨论并分享了几个我们手动验证的漏洞后,他们鼓励我们批量提交所有发现,即使我们不确定所有崩溃测试用例都具有安全影响。到这次努力结束时,我们扫描了近 6000 个 C++ 文件,总共提交了 112 份独特报告,包括上述的高危和中危漏洞。大部分问题已在 Firefox 148 中修复,其余将在后续版本中修复。

在进行这类外部软件漏洞挖掘时,我们始终意识到,我们可能遗漏了关于代码库的某些关键信息,从而导致发现是误报。我们尽力尽职调查,自行验证漏洞,但总有可能出错。我们非常感谢 Mozilla 对其分类过程的透明,并帮助我们调整方法,确保我们只提交他们关心的测试用例(即使并非所有最终都与安全相关)。Mozilla 的研究人员此后已开始在内部尝试将 Claude 用于安全目的。

从识别漏洞到编写初级漏洞利用程序

为了衡量 Claude 网络安全能力的上限,我们还开发了一项新的评估,以确定 Claude 是否能够利用我们发现的任何漏洞。换句话说,我们想了解 Claude 是否也能开发出黑客用来利用这些漏洞执行恶意代码的那类工具。

为此,我们让 Claude 访问我们提交给 Mozilla 的漏洞,并要求 Claude 针对每个漏洞创建一个漏洞利用程序。为了证明它成功利用了漏洞,我们要求 Claude 演示一次真实攻击。具体来说,我们要求它像攻击者那样,在目标系统中读取和写入一个本地文件。

我们用不同的起点运行了这个测试数百次,花费了大约 4000 美元的 API 额度。尽管如此,Opus 4.6 仅在两种情况下能够真正将漏洞转化为可用的漏洞利用程序。这告诉我们两件事。第一,Claude 在发现这些漏洞方面远比利用它们更擅长。第二,识别漏洞的成本比为其创建漏洞利用程序低一个数量级。然而,Claude能够自动开发出粗糙的浏览器漏洞利用程序,即使只在少数情况下成功,这一点也令人担忧。

“粗糙”在这里是一个重要的限定词。Claude 编写的漏洞利用程序只在我们特意移除了现代浏览器中部分安全功能的测试环境中有效。这包括最重要的沙箱,其目的正是为了减轻这类漏洞的影响。因此,Firefox 的“纵深防御”本可以有效缓解这些特定的漏洞利用。但能逃逸沙箱的漏洞并非闻所未闻,而 Claude 的攻击是端到端漏洞利用的一个必要组成部分。你可以在我们的 Frontier Red Team 博客上阅读更多关于 Claude 如何开发其中一个 Firefox 漏洞利用程序的细节。

AI 赋能网络安全的下一步

这些 AI 赋能漏洞利用开发的早期迹象,凸显了为防御者加速“发现-修复”流程的重要性。为此,我们想分享一些在执行此分析过程中发现的技术和流程最佳实践。

首先,在研究“补丁智能体”(Patch Agent)时(即使用 LLM 开发和验证漏洞修复),我们开发了一些方法,希望帮助维护者使用像 Claude 这样的 LLM 更快地分类和处理安全报告。

根据我们的经验,当 Claude 能够用另一个工具检查自己的工作时,效果最好。我们将这类工具称为“任务验证器”(Task Verifier):一种可信的方法,用于确认 AI 智能体(Agent)的输出是否真正实现了其目标。任务验证器在智能体探索代码库时提供实时反馈,使其能够深入迭代直至成功。

任务验证器帮助我们发现了上述 Firefox 漏洞,并且在独立研究中,我们发现它们对于修复漏洞也很有用。一个好的补丁智能体需要至少验证两件事:漏洞是否确实被移除,以及程序的预期功能是否得以保留。在我们的工作中,我们构建了工具来自动测试在应用建议的修复后,原始漏洞是否仍能被触发,并单独运行测试套件以捕捉回归(即意外破坏其他功能的更改)。我们预计维护者最清楚如何为自己的代码库构建这些验证器;关键在于,为智能体提供可靠的方法来检查这两个属性,能显著提高其输出质量。

我们不能保证所有通过这些测试的智能体生成的补丁都足够好,可以立即合并。但任务验证器让我们更有信心,生成的补丁将修复特定漏洞,同时保留程序功能——因此达到了一个可行补丁的最低要求。当然,在审查 AI 编写的补丁时,我们建议维护者应用与审查外部作者创建的任何其他补丁相同的严格标准。

放大到提交漏洞和补丁的流程:我们知道维护者已经不堪重负。因此,我们的方法是向维护者提供他们需要的信息,以便信任和验证报告。Firefox 团队强调了我们提交内容中的三个关键部分,对于信任我们的结果至关重要:

  1. 附带的最小化测试用例
  2. 详细的原理证明
  3. 候选补丁

我们强烈鼓励使用 LLM 驱动的漏洞研究工具的研究人员,在提交基于此类工具输出的报告时,包含类似的验证和可复现性证据。

我们还发布了我们的协调漏洞披露操作原则,其中描述了我们在与维护者合作时将使用的程序。目前,我们的流程遵循标准的行业规范,但随着模型的改进,我们可能需要调整流程以跟上能力的发展。

当下的紧迫性

前沿语言模型现在已是世界级的漏洞研究员。除了我们在 Firefox 中发现的 22 个 CVE,我们还使用 Claude Opus 4.6 在 Linux 内核等其他重要软件项目中发现了漏洞。在接下来的几周和几个月里,我们将继续报告我们如何使用我们的模型,并与开源社区合作以提升安全性。

目前,Opus 4.6 在识别和修复漏洞方面远比利用漏洞更擅长。这给了防御者优势。随着 Claude Code Security 最近以有限研究预览版发布,我们正将漏洞发现(和修补)能力直接带给客户和开源维护者。

但看看进展速度,前沿模型在漏洞发现和利用能力之间的差距不太可能持续很久。如果以及当未来的语言模型突破这个利用障碍时,我们将需要考虑额外的安全护栏(Guardrails)或其他措施,以防止我们的模型被恶意行为者滥用。

我们敦促开发者利用这个窗口期,加倍努力使他们的软件更加安全。就我们而言,我们计划显著扩展我们的网络安全工作,包括与开发者合作寻找漏洞(遵循上述 CVD 流程)、开发工具帮助维护者分类漏洞报告,以及直接提出补丁。

如果你有兴趣支持我们的安全工作——编写新的脚手架以识别开源软件中的漏洞;分类、修补和报告漏洞;并为 AI 时代开发一个稳健的 CVD 流程——请在此申请加入 Anthropic 工作

相关内容

与战争部的现状

Dario Amodei 的声明。

阅读更多

关于战争部长 Pete Hegseth 评论的声明

Anthropic 对战争部长的回应以及对客户的建议。

阅读更多

Dario Amodei 关于我们与战争部讨论的声明

我们首席执行官关于 AI 国家安全用途的声明。

阅读更多

本文编译自 Partnering with Mozilla to improve Firefox’s security,版权归原作者所有。

觉得有用?分享给更多人

获取每周 AI 工具精选

工具推荐、实战教程和生态洞察,每周更新。

相关文章

Simon Willison 正在重构 LLM Python 库的抽象层,以支持服务器端工具执行等新功能。他利用 Claude Code 分析了四大 LLM 提供商的客户端库,生成了用于测试的 curl 命令和 JSON 输出。这些调研材料已开源,旨在帮助设计更通用的 API 抽象。

深度Simon Willison·4月5日·1 分钟

智能体技能——包含程序性知识和可执行资源的结构化包,供智能体在推理时动态加载——已成为增强 LLM 智能体的可靠机制。然而,推理时技能增强存在根本性限制:检索噪声引入无关指导,注入的技能内容带来大量 token 开销,而模型从未真正习得它所遵循的知识。我们提出一个问题:技能是否可以被内化到模型参数中,使其在无需任何运行时技能检索的情况下实现零样本自主行为?我们提出 Skill0,一个专为技能内化设计的上下文强化学习框架。Skill0 引入了一种训练时课程,从提供完整技能上下文开始,逐步撤除。技能按类别离线分组,并与交互历史一起渲染为紧凑的视觉上下文,教授模型工具调用和多轮任务完成。动态课程机制…

深度·4月5日·17 分钟

评论