分類即產品:運行AI代理分析以太坊協議代碼
以太坊基金會協議安全團隊分享瞭如何使用協調AI代理對實際協議代碼進行安全審計的經驗。重點不在於發現漏洞本身,而在於如何從大量看似可信的候選結果中篩選出真正的漏洞。文章詳細介紹了工作組織方式、候選結果的驗證標準以及保持結果可信的方法。
以太坊基金會協議安全團隊近日發佈了一篇技術文章,詳細介紹了他們如何運行協調的AI代理對以太坊協議代碼進行安全審計。文章由團隊負責人Nikos Baxevanis撰寫,發佈於2026年7月9日。團隊強調,AI代理確實發現了真實漏洞,例如libp2p的gossipsub實現中一個可遠程觸發的panic(已分配CVE-2026-34219),但真正的挑戰在於如何從大量候選結果中高效篩選出真正的安全問題。
文章指出,AI代理本質上是一種搜索工具,類似於模糊測試器,但返回的結果更加豐富,包括調用鏈、影響評估、嚴重性建議以及可運行的概念驗證(PoC)。然而,這種豐富性也帶來了噪聲問題——大多數候選結果是錯誤的、重複的或超出範圍的。因此,衡量AI代理效果的關鍵指標不是它產生了多少候選結果,而是其中有多少被證實為真實漏洞。
團隊採用了一種去中心化的協作方式:多個代理並行運行,通過版本控制共享狀態,無需中央協調器。工作流程分為四個動態角色:偵察(將攻擊面轉化為可測試的假設)、狩獵(針對單一假設追蹤代碼路徑並嘗試構建重現器)、填補空白(根據已接受和拒絕的結果生成新假設並跟蹤覆蓋率)、驗證(獨立複核候選結果、去重並做出最終判定)。這種架構借鑑了Anthropic構建C編譯器時使用的“代理艦隊”方法,以及Cloudflare在安全研究中描述的類似流水線。
每個候選結果必須滿足嚴格的模式才能被視為有效發現:包括可到達的攻擊目標、必須成立的不變性、具體的破壞機制、可觀察的失敗證明,以及一個獨立於任何解釋的可重現工件。團隊特別強調,可重現性是最高準則——一個候選結果如果沒有能夠在真實代碼上獨立運行的復現程序,就不能算作發現。常見的假陽性包括僅在調試構建中發生的panic、通過手動構造不可達路徑產生的崩潰,以及形式化驗證中空洞的定理證明。
信號噪聲比是工作的核心。團隊通過獨立複核、對攻擊者成本和網絡影響的評估,以及與已知問題列表的比對來過濾候選結果。接受率因目標而異:對成熟且經過充分審計的代碼,幾乎不會有候選結果倖存,但這本身就是一個有價值的結果。文章還列舉了AI代理擅長的領域(如結合規範和代碼閲讀、陳述並驗證不變性、從簡單想法構建重現器、提示根本原因)以及容易誤導的方面(看似可達的調用鏈、遊戲化成功檢查、誇大嚴重性、難以發現涉及多步驟序列的漏洞)。對於後者,代理更適合作為狀態性測試工具的建議者,而非替代品。
最後,團隊總結了保持結果可信的實踐:為每個工件記錄來源、確保環境確定性、用規範而非腳本指導代理行為,並堅持由人類做出最終決策。作者認為,AI並沒有取代安全研究人員,而是將工作重心從尋找漏洞轉移到了信任漏洞——這個瓶頸依然存在,但現在是人類判斷真正起作用的地方。隨着工具能力的快速提升(作者引用了Nicholas Carlini的指數級增長觀點),判斷側的能力也必須同步跟進,否則產生的候選結果與實際已驗證結果之間的鴻溝只會不斷擴大。