MEV 機器人漏洞2500萬美元事件分析

北京時間4月3日,MEV機器人在以太坊的16964664區塊被黑客利用。一名惡意驗證者替換了數筆MEV交易,導致約2538萬美元損失。

MEV機器人會不斷追踪用戶在mempool (內存池)中的交易,以尋找套利機會。它們經常進行所謂的“三明治攻擊”,即在用戶交易的前後分別放置一筆交易,將其“夾在中間”。三明治攻擊類似於frontrun(搶先交易),用戶可以通過預測下一輪交易進行獲利,但不同之處在於,三明治攻擊會在用戶交易後發起第二筆交易。

攻擊流程:

  1. 許多MEV機器人正在16964664區塊進行三明治交易。在以太坊區塊16964664中,有8個MEV交易某惡意驗證者利用。

  2. 該漏洞主要是由於驗證者權力過於集中。 MEV執行了一個三明治式攻擊,他們搶先交易(front-run)然後進行尾隨交易(back-run)以獲利。惡意驗證者front-run了MEVs back-run的交易。

  3. 我們以STG-WETH對https://etherscan.io/address/0x410fb10ba8af78a1e191fe3067208d3212ded961… 為例。合約0xe73F15想拉高交易對中的STG價格。每次試圖拉高價格時,MEV機器人就會front-run 和back-run以獲取WETH利潤。

  4. 在一次MEV三明治攻擊中,MEV調用swap函數換取STG代幣後,惡意驗證者利用搶先交易(front-run)替換了尾隨交易(back-run)。結果導致2,454 WETH通過0xe73F15合約被轉移至https://etherscan.io/address/0x84cb986d0427e48a2a72be89d78f438b3a3c58d1。

  5. 總共有大約2500萬美元被盜,這也是我們迄今為止所見過的最大的MEV Bot漏洞損失之一。

本次MEV攻擊事件的核心原因是拿到了bundle的原始信息,對交易進行了替換。但是MEV機器人的代碼並不是開源的。驗證者一般需要訪問某些特定信息來挖掘交易,而惡意驗證者其實可以從中諸如公共內存池(mempool)中獲取bundle的信息。 flashbot驗證者通常比較可靠,因為他們都要通過MevHUB的KYC驗證,以保證數據來源安全可信。在這種情況下,因為驗證者掌握了信息,所以能先於mevsearcher或mevbot發起搶先交易。需要注意的是,該情況僅限於non-atomical 攻擊或策略(如三明治攻擊),因為惡意驗證者無法從發送者身上套利,而只能從策略中獲利(如清算)。

此事件也可能成為MEV生態系統的轉折點:日後MEV搜尋者(Searchers)可能會對non-atomical 策略(如三明治攻擊)提高警惕。 Flashbot團隊或將可能更傾向於使用一些有驗證歷史記錄的“靠譜”驗證者。

Total
0
Shares
Related Posts