KeyFrame內部研究專用

DeFi security Summit 2023 - Session 18: Focused Talks 4 - Antonio Viggiano

DeFi Security Summit - DSS·7月17日週一·9 min英文

三句話摘要

模糊測試器有效性的衡量方法與實驗對比——以 Echidna 和 Foundry 在 Uniswap V2 中的應用為例。 模糊測試器的有效性因種子、環境、工具而異,必須採用科學的測量方法論(中位數、多種子、長運行、統計檢驗)和多工具並用才能可靠評估其真實性能。 模糊測試器性能本質隨機且高度波動——同一個漏洞的發現時間可能相差 100 到 1000 倍,從幾分鐘到一整天,種子選擇和運行環境(多核 vs 單核)都會影響結果。

重點整理

重點
  • 1

    模糊測試器性能本質隨機且高度波動——同一個漏洞的發現時間可能相差 100 到 1000 倍,從幾分鐘到一整天,種子選擇和運行環境(多核 vs 單核)都會影響結果。

  • 2

    測量方法論至關重要——不能用平均時間衡量,應對比中位數與標準差、嘗試多個種子值、進行長時間運行、尋找獨特錯誤而非重複計算、最後用統計檢驗確保結果統計顯著。

  • 3

    Uniswap V2 實驗揭示漏洞難度差異——12 個注入漏洞中,漏洞 6、7、8、9 容易被發現,其他則困難,且不同漏洞的分布方差也不同,反映不同代碼結構對模糊測試的影響。

  • 4

    工具性能無絕對優劣——Foundry 在某些測試中更快破壞環境,但在其他測試上表現不佳,因此應多工具組合測試,只需稍作代碼修改即可。

實用技巧與重點

乾貨
  • 研究對象:Echidna 最新版本、Foundry
  • 測試目標:Uniswap V2 合約
  • 注入漏洞數量:12 個
  • 種子值試驗數:30 個不同種子
  • 超時設定:1 天、24 小時
  • 性能波幅:100~1000 倍(同一漏洞)
  • Uniswap V2 不變式數量:20~22 個
  • 關鍵不變式:
  • k 值增加(添加流動性時)
  • LP 代幣總供應量增加
  • 流動性添加激勵機制維持
  • 測量指標:破壞規則所需時間的中位數
  • 統計方法:置信水平檢驗

結論

結論

模糊測試器的有效性因種子、環境、工具而異,必須採用科學的測量方法論(中位數、多種子、長運行、統計檢驗)和多工具並用才能可靠評估其真實性能。

完整解析

詳細

模糊測試是一種通過向代碼輸入隨機值來發現漏洞的安全測試技術。講者 Antonio Viganò 首先說明了模糊測試器的運作原理:從隨機值和歷史輸入紀錄開始,不斷修改並測試,直到找到能破壞程式邏輯或導致崩潰的輸入。然而,雖然所有模糊測試器都基於隨機輸入原理,其核心函數的實現差異會大幅影響效能,這也是為什麼直觀認為「所有模糊測試器都差不多」是錯的。

衡量模糊測試器的有效性面臨多重挑戰。首先,隨機性導致同一漏洞的發現時間波動巨大——可能在開始就被發現,也可能需要數小時。其次,不同運行環境(多核實例 vs 單一工作節點)和種子值選擇都會改變結果。第三,難以比較不同工具,因為你需要明確定義「發現漏洞」的標準。針對這些問題,講者引用學術論文提出的解決方案:不使用平均時間(因隨機性致差異過大),而是比較不同運行的中位數和標準差;嘗試多個種子值;進行長時間運行而非短時測試;尋找獨特的錯誤而非重複計算;最後使用統計檢驗確保觀察結果在統計學上有效。

為驗證這套方法論,講者在 Uniswap V2 上進行了深入實驗。他們注入了 12 個不同的漏洞,使用 30 個種子值,設定 1 天和 24 小時的超時時間進行長時間運行。實驗定義了 20~22 個 Uniswap V2 的不變式(例如添加流動性時 k 值必須增加、LP 代幣總供應量增加),任何不變式被破壞都表示存在 bug。結果顯示差異巨大:某些漏洞(如 6、7、8、9)容易被發現,其他則困難;不同漏洞的分布方差也不同;且 Echidna 和 Foundry 的性能不一致——某工具在特定測試中更快,在其他測試上則較慢。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web3 安全」的內容

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️
8 min
Web3 安全英文8月14日

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️

Zach Humphries

  • 機構支撐的積極意義:價格操縱常被視為負面,但Ripple掌握大量XRP供應與escrow,在熊市期間提高價格下限,實際上替零售投資者鎖定了低風險的積累區間,這不是剝削而是市場穩定機制。
  • 歷史模式驗證:2024年7月至11月XRP在50美分附近橫盤整理,低點觸及42美分(wick),高點65美分;隨後11月5日至12月5日單月上漲456%,年底到2025年初累計漲幅534%,這個歷史周期正在1美元價位重演。
  • 比特幣聯動邏輯:講者在4-5月就預測「如果比特幣跌至60k以下,XRP會跌至1美元或更低」,此預測精準應驗,反映出熊市中兩者的明確連動關係。
Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady
72 min
Web3 安全英文PODCAST8月5日

Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady

Zero Knowledge

  • 反向 Linux 架構:Commonware 刻意暴露棧各層級控制,讓開發者自訂執行環境、共識機制、密碼學實現,而非像 Cosmos SDK 只允許應用層以上定制。2-3 個月能組裝一條定製鏈,代價是額外深度但回報是長期維護成本降低及效能優化彈性。
  • 容錯假設的典範轉移:Alpine Glow(Solana 2025)實現單輪投票定終的關鍵是將容錯預算分離為獨立的 Byzantine 和 Crash 容限。傳統系統把 33% 當一個整體預算;新模型允許 20% 惡意加 20% 崩潰,打破了 PBFT 理論界線,釋放單輪設計空間。
  • Minimet 與 Multimet 的遞進:Minimet 是 5F+1 設定下的乾淨構造,實現更短視圖延遲;Multimet(剛發布)進一步允許並行 mini-commits 且驗證者可推翻領導者審查,使用者交易在全球分布式網路達到 200-300 毫秒端到端定終。
Private Information Retrieval (PIR) with Alex Hoover
64 min
Web3 安全英文PODCAST7月29日

Private Information Retrieval (PIR) with Alex Hoover

Zero Knowledge

  • PIR 保護的是訪問模式,不是資料本身
  • PIR 與加密不同,它關注的是隱藏「客戶端查詢了什麼」,而非「資料是否加密」。在公開資料庫(如區塊鏈)上,客戶端可以在不洩露查詢對象給伺服器的情況下檢索特定條目,解決了輕量級客戶端的隱私和防審查問題。
  • 客戶端預處理方案是突破瓶頸的關鍵