加固 Firefox:Mozilla 如何利用 Claude Mythos 消除數百個安全漏洞
加固 Firefox:Mozilla 如何利用 Claude Mythos 消除數百個安全漏洞
多年來,開源維護者與 AI 生成的錯誤報告之間的關係一直充滿挑戰。大多數報告被視為「slop」(垃圾資訊)——看似合理但最終是錯誤的,這造成了一種不對稱的成本:提示模型尋找問題很便宜,但讓人類去證實其錯誤卻很昂貴。
然而,Mozilla 最近宣布了一次範式轉移。透過將更強大的模型(特別是 Claude Mythos Preview)與複雜的「agentic harness」(代理框架)相結合,Mozilla 在 Firefox 中識別並修復了前所未有的潛在安全漏洞數量。這項工作不僅僅是發現了幾個邊緣案例;它在僅僅 Firefox 150 中就發現了 271 個漏洞,其中包括多年來一直逃避傳統 fuzzing 的關鍵沙盒逃逸漏洞。
從靜態分析到代理框架
Mozilla 早期對 LLM 的實驗涉及靜態分析——提示像 GPT-4 或 Sonnet 3.5 這樣的模型來掃描高風險代碼。雖然很有前景,但高誤報率使得這種方法難以擴展。
突破點在於實施了 agentic harness。
與靜態分析不同,agentic harness 可以動態測試假設。在提供正確介面的情況下,AI 可以創建並運行可重複的測試案例來驗證可疑漏洞是否存在。這將 AI 從單純的「建議者」轉變為「驗證者」。
加固流水線
發現漏洞只是第一步。為了在大規模範圍內使其發揮作用,Mozilla 構建了一個專案特定的流水線,將 AI 的發現整合到完整的安全漏洞生命週期中:
- Discovery(發現): 在臨時 VM 中進行並行化作業,每個作業負責在特定目標文件中尋找漏洞。
- Verification(驗證): harness 生成一個 proof-of-concept (PoC) 測試案例以消除猜測。
- Integration(整合): 將發現結果與已知問題進行去重,進行分級,並追蹤直到修復。
- Iteration(迭代): 在 AI harness 與 Firefox 工程師之間建立緊密的反饋迴圈,以優化提示詞和邏輯。
這種模組化架構允許 Mozilla 簡單地「更換」新發布的模型。當 Claude Mythos Preview 被引入時,現有的流水線允許 Mozilla 立即利用其卓越的推理能力來發現更複雜的漏洞,並更清晰地闡述其影響。
漏洞的性質
許多被識別出的漏洞特別危險,因為它們是 sandbox escapes(沙盒逃逸)。在瀏覽器的防禦縱深架構中,一個被攻破的內容進程被困在沙盒中;沙盒逃逸允許攻擊者將權限提升到特權的父進程。
Mozilla 分享了發現的各種漏洞樣本,突顯了 AI 在瀏覽器引擎跨越遙遠部分的推理能力:
- JIT Optimizations: 一個錯誤的相等性檢查導致 JIT 優化掉了 WebAssembly GC struct 的初始化,從而創建了一個偽造對象的原語。
- Legacy Code: 一個存在於
<legend>元素中、已有 15 年歷史的漏洞,是由遞歸棧限制和週期收集(cycle collection)的複雜協調所觸發的。 - IPC Race Conditions: 利用進程間通信 (IPC) 的競態條件來操縱 IndexedDB refcounts 並觸發 Use-After-Free (UAF) 漏洞。
- Logic Gaps: 通過利用值複製過程中的驗證邏輯漏洞,逃逸 RLBox(第三方庫的進程內沙盒)。
有趣的是,AI 也驗證了 Mozilla 先前的架構加固工作。團隊觀察到模型反覆嘗試使用 prototype pollution 來逃逸沙盒——這是一條 Mozilla 已經通過默認凍結原型(prototypes)的路徑。看到 AI 的「攻擊」在現有的防禦措施面前失敗,為其安全架構提供了另一種形式的驗證。
規模化工作量
這項行動的規模非常龐大。在 2026 年 4 月,Mozilla 交付了 423 個安全漏洞修復。雖然其中 271 個歸功於 Claude Mythos Preview,但其他修復來自傳統 fuzzing、手動檢查和其它 AI 模型。
在 Mythos 為 Firefox 150 發現的 271 個漏洞中,嚴重程度分佈如下:
- sec-high: 180
- sec-moderate: 80
- sec-low: 11
Mozilla 澄清,「sec-high」評級並不一定意味著在野外存在實際的利用程序,但這意味著該漏洞(例如 UAF 或越界內存記憶體問題)在理論上透過足夠的努力是可以被利用的。
行業界影響與社群反應
這條流水線的成功引發了關於軟體安全性的未來更廣泛的討論。一些觀察者認為這標誌著傳統 zero-days 的終結,而其他人則擔心人類因素。
Hacker News 上的社群討論突顯了幾個關鍵的緊張關係:
- Human vs. AI Reports: 一些用戶擔心維護者可能會開始忽略人類創建的漏洞報告,轉而選擇高產出的 AI 流水線。
- Toolchain Evolution: 行業內存在明顯的分歧;雖然 Mozilla 正在擁抱這一點,但其他專案(例如 Zig 語言團隊)則因著名的拒絕考慮 LLM 生成的漏洞報告而聞名。
- Static Analysis Replacement: 目前正在討論代理式 AI 是否最終會取代傳統的靜態分析工具,因為後者通常被批評為速度慢且容易產生誤報。
最終總結
Mozilla 的經驗表明,AI 安全審計的「內迴圈」——「代碼中的這部分存在一個漏洞,請找到它並構建一個測試案例」——對於生產級軟件軟體現在是可行的。透過從簡單的提示詞工程轉而使用完整的代理式流水線,Mozilla 已將 AI 從噪音源轉變為安全基礎設施的關鍵組成部分。他們的下一個目標是將此分析直接整合到他們的持續集成 (CI) 系統中,以便在代碼庫提交補丁的提交時進行掃描。