
前線紅隊:與 Mozilla 合作提升 Firefox 的安全性
我們的 Claude Opus 4.6 在兩週內發現了 Firefox 的 22 個漏洞,其中 14 個被 Mozilla 歸類為高風險漏洞,這顯示 AI 能夠大幅加速偵測嚴重安全漏洞的速度。
與 Mozilla 合作提升 Firefox 的安全性
AI 模型現在已經能夠獨立識別複雜軟體中的高嚴重性漏洞。正如我們最近所記錄的,Claude 在經過嚴格測試的開源軟體中發現了 500 多個零日漏洞(軟體維護者尚未知曉的安全缺陷)。
在本文中,我們將分享與 Mozilla 研究人員合作的細節。在為期兩週的合作中,Claude Opus 4.6 發現了 22 個漏洞。其中,Mozilla 將 14 個歸類為高嚴重性漏洞——這幾乎佔了 2025 年 Firefox 修復的所有高嚴重性漏洞的五分之一。換句話說:AI 使得以極高速度檢測嚴重安全漏洞成為可能。
作為此次合作的一部分,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 的研究人員聯繫了我們。在對各自的流程進行技術討論並分享了我們手動驗證的更多漏洞後,他們鼓勵我們批量提交所有發現,而無需逐一驗證,即使我們不確定所有崩潰測試案例是否都具有安全影響。到這項工作結束時,我們掃描了近 6,000 個 C++ 文件,共提交了 112 份獨特報告,其中包括上述的高嚴重性和中嚴重性漏洞。大多數問題已在 Firefox 148 中修復,其餘問題將在未來的版本中修復。
在對外部軟體進行此類漏洞挖掘時,我們始終意識到,我們可能會遺漏程式碼庫中某些關鍵信息,從而導致發現結果出現誤報。我們盡力對漏洞進行自我驗證,但總有出錯的空間。我們非常感謝 Mozilla 對其分類過程如此透明,並幫助我們調整方法,以確保我們只提交他們感興趣的測試案例(即使並非所有案例最終都與安全相關)。Mozilla 的研究人員此後也開始在內部嘗試將 Claude 用於安全目的。
從識別漏洞到編寫初步漏洞利用程式
為了衡量 Claude 網絡安全能力的上限,我們還開發了一項新評估,以確定 Claude 是否能夠利用我們發現的任何錯誤。換句話說,我們想了解 Claude 是否也能開發出駭客用來利用這些錯誤執行惡意程式碼的工具。
為此,我們讓 Claude 訪問我們提交給 Mozilla 的漏洞,並要求 Claude 針對每個漏洞創建一個漏洞利用程式(exploit)。為了證明它成功利用了漏洞,我們要求 Claude 演示一次真實攻擊。具體來說,我們要求它像攻擊者一樣,在目標系統中讀取和寫入一個本地文件。
我們使用不同的起點運行了數百次此測試,花費了約 4,000 美元的 API 額度。儘管如此,Opus 4.6 僅在兩個案例中成功將漏洞轉化為漏洞利用程式。這告訴我們兩件事:第一,Claude 發現這些錯誤的能力遠強於利用它們的能力。第二,識別漏洞的成本比為其創建漏洞利用程式的成本低一個數量級。然而,Claude 能夠自動開發出粗糙的瀏覽器漏洞利用程式,即使僅在少數情況下,這一事實仍令人擔憂。
「粗糙」是一個重要的前提。Claude 編寫的漏洞利用程式僅在我們的測試環境中有效,該環境特意移除了一些現代瀏覽器中的安全功能。這其中最重要的是沙盒(sandbox),其目的是減少此類漏洞的影響。因此,Firefox 的「深度防禦」本可以有效緩解這些特定的漏洞利用。但逃逸沙盒的漏洞並非聞所未聞,而 Claude 的攻擊是端到端漏洞利用的一個必要組成部分。您可以在我們的 Frontier Red Team 部落格上閱讀更多關於 Claude 如何開發其中一個 Firefox 漏洞利用程式的詳細信息。
AI 驅動網絡安全的下一步
AI 輔助漏洞利用開發的這些早期跡象,凸顯了防禦者加速「發現並修復」流程的重要性。為此,我們希望分享在進行此分析時發現的一些技術和程序上的最佳實踐。
首先,在研究使用 LLM 開發和驗證錯誤修復的「補丁代理」(patching agents)時,我們開發了幾種方法,希望能幫助維護者使用像 Claude 這樣的 LLM 更快地分類和處理安全報告。[1]
根據我們的經驗,當 Claude 能夠使用另一個工具檢查自己的工作時,其表現最佳。我們將這類工具稱為「任務驗證器」(task verifier):一種確認 AI 代理的輸出是否真正實現其目標的可靠方法。任務驗證器在代理探索程式碼庫時提供實時反饋,使其能夠深入迭代直到成功。
任務驗證器幫助我們發現了上述 Firefox 漏洞,[2] 且在獨立研究中,我們發現它們對於修復錯誤也很有用。一個好的補丁代理至少需要驗證兩件事:漏洞確實已被移除,且程式原有的功能得以保留。在我們的工作中,我們構建了自動測試工具,用於測試在建議的修復後是否仍能觸發原始錯誤,並單獨運行測試套件以捕捉回歸(regression,即意外破壞其他功能的更改)。我們預期維護者最清楚如何為自己的程式碼庫構建這些驗證器;關鍵點在於,給予代理一種可靠的方法來檢查這兩種屬性,能顯著提高其輸出質量。
我們不能保證所有通過這些測試的代理生成補丁都好到可以立即合併。但任務驗證器增強了我們的信心,即生成的補丁將修復特定的漏洞,同時保留程式功能——從而達到合理補丁的最低要求。當然,在審查 AI 編寫的補丁時,我們建議維護者應用與審查外部作者創建的任何其他補丁相同的嚴格標準。
放大到提交錯誤和補丁的過程:我們知道維護者工作量極大。因此,我們的方法是為維護者提供他們信任和驗證報告所需的信息。Firefox 團隊強調了我們提交內容中對於建立信任至關重要的三個組成部分:
- 重現案例: 一個能可靠觸發錯誤的最小測試案例。
- 根本原因分析: 對錯誤發生原因的詳細技術解釋。
- 建議的補丁: 修復漏洞的程式碼,以及證明該補丁有效的證據。
我們強烈建議使用 LLM 驅動的漏洞研究工具的研究人員,在根據此類工具的輸出提交報告時,包含類似的驗證和可重現性證據。
我們還發布了 Anthropic 發現漏洞的「協調漏洞披露」(Coordinated Vulnerability Disclosure, CVD)操作原則,其中描述了我們與維護者合作時將採用的程序。目前我們的流程遵循行業標準規範,但隨著模型的改進,我們可能需要調整流程以跟上能力的發展。
時刻的緊迫性
前沿語言模型現在已是世界級的漏洞研究員。除了我們在 Firefox 中識別的 22 個 CVE 外,我們還使用 Claude Opus 4.6 在 Linux 內核等其他重要軟體項目中發現了漏洞。在未來的幾週和幾個月裡,我們將繼續報告我們如何使用模型並與開源社區合作以提高安全性。
Opus 4.6 目前在識別和修復漏洞方面遠勝於利用漏洞。這給了防禦者優勢。隨著最近發布的 Claude Code Security 限量研究預覽版,我們正將漏洞發現(和補丁)能力直接提供給客戶和開源維護者。
但從進步速度來看,前沿模型的漏洞發現能力與漏洞利用能力之間的差距不太可能持續太久。如果未來的語言模型突破了這一漏洞利用障礙,我們將需要考慮額外的保障措施或其他行動,以防止我們的模型被惡意行為者濫用。
我們敦促開發者利用這段窗口期,加倍努力使他們的軟體更加安全。就我們而言,我們計劃顯著擴大網絡安全工作,包括與開發者合作尋找漏洞(遵循上述 CVD 流程)、開發工具幫助維護者分類錯誤報告,以及直接提出補丁。
如果您有興趣支持我們的安全工作——編寫新的腳手架(scaffolds)以識別開源軟體中的漏洞;分類、修復和報告漏洞;以及為 AI 時代開發強大的 CVD 流程——請在此處申請加入 Anthropic。
腳註
[1] 這裡分享的所有建議都是基於我們對 Claude 的使用,但它們應該適用於您偏好的任何 LLM。
[2] Mozilla 已獨立修復了這些漏洞。
相關內容
Anthropic 經濟指數報告:學習曲線
Anthropic 的第五份經濟指數報告研究了 2026 年 2 月的 Claude 使用情況,基於我們之前報告中引入的經濟原語框架。
介紹我們的科學部落格
我們正在推出一個關於 AI 與科學的新部落格。我們將分享 Anthropic 及其他地方正在進行的研究、與外部研究人員和實驗室的合作,並討論科學家在工作中使用 AI 的實際工作流程。
用於科學計算的長時間運行 Claude
關於運行 Claude Code 執行多日科學任務的實用指南——測試預言機(test oracles)、持久記憶體和編排模式。