A cat-and-mouse game: how to frontrun a transaction in the future | Qi Su (FuzzLand)
三句話摘要
通過模糊測試防禦以太坊Flash Bot攻擊智能合約的技術方案。 模糊測試是應對Flash Bot兩階段攻擊的快速有效手段,但需結合污點分析與LLM等進階技術才能應對日益複雜的攻擊變體。 黑客攻擊的標準流程:Flash Bot監控交易池發現套利機會,複製交易並提高Gas費搶占前位,導致原始交易失敗且損失費用。私有交易池隱藏待驗交易,迫使攻擊者採用兩階段模式(準備階段+觸發階段),給防禦者可乘之機。
重點整理
重點- 1
黑客攻擊的標準流程:Flash Bot監控交易池發現套利機會,複製交易並提高Gas費搶占前位,導致原始交易失敗且損失費用。私有交易池隱藏待驗交易,迫使攻擊者採用兩階段模式(準備階段+觸發階段),給防禦者可乘之機。
- 2
模糊測試的核心優勢:相比符號執行和靜態分析,模糊測試在12秒區塊時間內能快速執行具體輸入並分析結果,精準度高(因使用實際執行而無誤報),適合部署前合約檢驗。
- 3
輸入生成的關鍵策略:不僅使用純隨機數,還結合常數值(零地址、10^18等特殊值)與執行過程中收集的值(如相等性檢查中的臨界值),提高路徑命中率。
- 4
實務困境與前沿方向:搜尋空間隨參數數量指數增長,且無法覆蓋所有路徑,因此團隊正探索污點分析、控制流執行與LLM等Web 2技術融合,推動防禦與攻擊的持續演進。
實用技巧與重點
乾貨- 歷史案例:Curve Finance(2023年Vyper編譯器漏洞)、Kyber Swap(2023年Fun Run返還570萬美元)
- 區塊特性:以太坊出塊時間12秒
- 模糊測試5步驟:生成隨機輸入→執行程式/合約→分析執行軌跡→判斷是否有趣→利用信息重複迭代
- 輸入生成策略:(1)隨機數,(2)常數值(最小值、零地址、最大值),(3)遺傳規律(1e18等數學常數)
- 執行過程中收集的值:相等性檢查的臨界值、密碼或關鍵信息
- 模糊測試優點:速度快(遠快於符號執行)、精準無誤報、原型構建工作量小
- 模糊測試局限:參數數量增加時搜尋空間指數增長、有效性依賴輸入品質、無法覆蓋所有路徑
- 未來研究方向:污點分析(Taint Analysis)、控制流執行、二進制代碼分析、大型語言模型(LLM)應用
結論
結論“模糊測試是應對Flash Bot兩階段攻擊的快速有效手段,但需結合污點分析與LLM等進階技術才能應對日益複雜的攻擊變體。”
完整解析
詳細近年以太坊生態爆發大量Flash Bot攻擊事件,其中2023年的Curve Finance黑客因Vyper編譯器漏洞損失巨大,隨後Kyber Swap遭攻擊時Fun Run Bot成功返還570萬美元。這些攻擊暴露出一個核心問題:公共交易池的透明性使Flash Bot能監控待驗交易、複製套利機會並透過Gas價格競標搶占區塊位置,導致原始交易者血本無歸。雖然私有交易池隱藏了待驗交易,迫使攻擊者改變策略,但黑客轉向採用兩階段攻擊模式——先部署惡意合約進行準備工作,再發送觸發交易執行核心攻擊,使得防禦變得更加複雜。
針對這一問題,講者提出了模糊測試作為防禦手段。不同於Web 2世代的殺毒軟體檢測,模糊測試通過在實際執行環境中快速嘗試大量輸入,觀察合約行為是否觸發漏洞。其工作流程包括五步:首先生成一個結合隨機數與智能常數的輸入(如10^18這類以太坊常用值),將其送入合約執行,收集執行軌跡中的關鍵信息(例如相等性檢查的臨界值),判斷該輸入是否成功觸發漏洞,若否則利用收集到的信息生成下一輪輸入。這種方法的優勢在於相比符號執行快數倍,無精度折扣帶來的誤報,且原型構建簡單,即使最基礎的隨機模糊器有時也能發現可利用的攻擊路徑。
然而模糊測試並非銀彈。當攻擊函數需要多個參數時,搜尋空間呈指數增長,使窮舉變得不切實際;輸入生成品質直接決定了能否到達目標路徑,低品質輸入永遠無法觸發某些密碼驗證;加上模糊測試本質上使用偽隨機輸入,無法保證覆蓋所有執行路徑。面對這些限制,講者透露團隊正在探索污點分析追蹤信息流、控制流執行優化路徑探索,同時關注二進制代碼分析與大型語言模型等Web 2技術如何賦能Web 3防禦。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

