ARGUZZ: Testing zkVMs for Soundness and Completeness Bugs
三句話摘要
Argus:首個針對 ZKVM 的模糊測試工具,可自動偵測健全性與完整性兩類嚴重漏洞。 對 ZKVM 進行模糊測試時,引入「對抗性 ZKVM」注入無效證明再讓正常驗證器審查,是唯一能系統性揭露無聲健全性漏洞的有效方法。 ZKVM 的複雜性帶來高風險:為了效能而持續優化的 ZKVM 極易引入漏洞,且它們即將成為以太坊 L1 等區塊鏈正確性與安全性的關鍵基礎,一旦出錯將對生態造成災難性的財務與聲譽損失。
重點整理
重點- 1
ZKVM 的複雜性帶來高風險:為了效能而持續優化的 ZKVM 極易引入漏洞,且它們即將成為以太坊 L1 等區塊鏈正確性與安全性的關鍵基礎,一旦出錯將對生態造成災難性的財務與聲譽損失。
- 2
兩類漏洞定義清晰:健全性錯誤(ZKVM 接受無效執行)與完整性錯誤(ZKVM 拒絕有效執行)是模糊測試的核心偵測目標,兩者都能透過比對「預期輸出 vs. 實際輸出」和「驗證器反應」來系統性發現。
- 3
對抗性 ZKVM 是關鍵創新:透過刻意修改現有 ZKVM 在執行中注入細微錯誤、產生無效證明,再讓正常驗證器判斷,能夠揭露傳統測試完全無法察覺的「無聲漏洞」。
- 4
前作 circus 建立基礎:Argus 建立在針對 Circum、Noir 等電路語言的模糊測試器 circus 之上,circus 已在頂級安全會議 CCS 發表論文,並在 Defcon 有完整演講。
實用技巧與重點
乾貨- 工具名稱:Argus(ZKVM 模糊測試)、circus(電路系統模糊測試)
- 支援 ZKVM 數量:6 種
- 已發現漏洞:11 個嚴重 bug(3 個健全性 + 8 個完整性),其中 3 個為無聲漏洞
- circus 成果:4 個系統中發現 20 個健全性與完整性錯誤
- 漏洞賞金:部分發現已獲 bug bounty
- 電路系統案例:Circum、Noir
- 技術流程步驟:
- 生成帶有預期輸出 E 的 Rust 程式 R
- 輸入生成器為程式產生測試輸入
- 在 ZKVM 上執行程式,崩潰 → 完整性錯誤
- 未崩潰則取得證明 P 與輸出 O,呼叫驗證器
- 驗證器崩潰或拒絕 → 完整性錯誤;驗證器接受但輸出與 E 不符 → 健全性錯誤
- 對抗性 ZKVM:注入錯誤生成無效證明 → 正常驗證器若接受 → 無聲健全性漏洞
- 發表場合:CCS(頂級安全學術會議)、Defcon
結論
結論“對 ZKVM 進行模糊測試時,引入「對抗性 ZKVM」注入無效證明再讓正常驗證器審查,是唯一能系統性揭露無聲健全性漏洞的有效方法。”
完整解析
詳細ZKVM(零知識虛擬機)正快速成為區塊鏈基礎設施的核心組件,尤其在以太坊 L1 的未來架構中扮演關鍵角色。然而,為了追求執行效率而不斷進行的底層優化,也使 ZKVM 成為漏洞滋生的溫床。研究團隊(與 Christophe、Maria 合作)指出,ZKVM 的漏洞主要分為兩類:健全性錯誤(ZKVM 接受本應被拒絕的無效執行,攻擊者可藉此偽造合法證明)以及完整性錯誤(ZKVM 拒絕本應接受的有效執行,導致正常交易無法被處理)。這兩類問題不僅威脅系統正確性,更可能對在 ZKVM 上構建應用的開發者造成財務與聲譽雙重打擊。
為了系統性地偵測這些問題,研究團隊開發了 Argus——業界首個能同時發現健全性與完整性錯誤的 ZKVM 模糊測試工具。Argus 的核心流程如下:首先自動生成一段帶有預期輸出 E 的 Rust 程式 R,接著透過輸入生成器為其產生多樣化的測試輸入,然後在目標 ZKVM 上實際執行。若 ZKVM 在執行或驗證過程中崩潰,即為完整性錯誤;若執行後產生的輸出 O 與預期 E 不一致,則為健全性錯誤。這個管線本身已能涵蓋大多數場景。
然而,最難捕捉的是「無聲漏洞」——驗證器沒有報錯、輸出看似正常,但底層的零知識證明實際上是偽造的。為此,Argus 引入了第二個核心創新:對抗性 ZKVM。研究人員刻意修改(patch)現有的 ZKVM,讓它在執行過程中注入細微錯誤,從而生成結構上無效的證明。接著,將這個無效證明交給正常的驗證器審查——若驗證器不但沒有拒絕,還讓輸出與預期不符悄悄通過,即揭露出一個無聲的健全性漏洞。正是透過這個機制,團隊成功找到並回報了三個此類危險漏洞。
目前 Argus 已支援六種主流 ZKVM,並在其中三種中發現共 11 個嚴重漏洞,部分已獲得漏洞賞金。Argus 建立在前作電路模糊測試器 circus 的基礎之上,後者針對 Circum、Noir 等電路語言,已在四個系統中發現 20 個漏洞,相關研究已發表於頂級安全學術會議 CCS,並在 Defcon 公開演講。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

