區塊鏈

損失超 750 萬美元:針對 MEV Bot 的蜜罐攻擊分析與被盜資金追蹤

金色財經

6 月 21 日,以太坊網路上最活躍的 MEV Bot 之一 Jaredfromsubway.eth 遭遇了一次精心設計的「蜜罐攻擊」(honeypot attack),損失超過 750 萬美元的加密資產。以下是 Beosin 安全團隊對此次攻擊的分析與被盜資金流向追蹤。

攻擊流程分析

攻擊合約族

  • 協調器合約(0xb84db016324e8f2bfdd8dd9c260338aee0a8df52):負責記錄當前區塊是否處於 armed 狀態,並在最終階段循環調用子合約提取資金。

  • 觸發器合約(0x4de8c729a064ff6087cc84a4152969349e4feb98):負責在同一區塊內設置偽造的交易對狀態,使套利路徑看起來可執行。

  • 子合約 / 假代幣合約:偽裝成正常的 ERC-20 代幣,用於獲得真實的授權

  • Hub 合約:負責支付少量真實收益,讓 MEV Bot 覺得有利可圖。

  • Ring V2 pair:偽造的 Uniswap v2 交易對。

  • 假中間代幣合約:用於構造多跳套利路徑,如 fCAP、fUSDC。


攻擊的關鍵:誘騙授權

通過分析鏈上交易,攻擊者構造了多組誘餌交易:

  • 大額 USDC:機器人盈利約 36.997120 USDC,但留下 20 個 USDC 授權。

  • 大額 USDT:機器人盈利約 37.053440 USDT,但留下 20 個 USDT 授權。

  • 大額 WETH:機器人盈利約 0.0179 WETH,但留下 16 個 WETH 授權。

  • 小額交易則表現正常,授權在同一交易內被消耗,用於降低懷疑。

在小額交易中,機器人授權真實代幣額度後,子合約會立即把真實代幣轉走,授權被消耗,看起來完全正常。

而大額交易中,子合約並不會調用 transferFrom 轉移真實的代幣,而是直接通過偽造交易對鑄造假的代幣。機器人以為自己完成了正常的 swap 前置步驟,但真實的代幣授權仍然被保留。

這就是整個攻擊的核心:小額交易正常消耗授權,大額交易保留授權。

攻擊流程

以針對 USDC 的攻擊交易為例:

(1)攻擊者調用協調器,將當前區塊設為 armed

(2)攻擊者調用觸發器,更新多個偽造 Ring V2 pair 的狀態

(3)MEV Bot 發現套利機會並執行交易

MEV Bot 交易內部大致流程如下:

(1)MEV Bot 合約向某個子合約授權了大額的 USDC 額度

(2)MEV Bot 調用子合約的 wrapTo/wrap 函數

(3)子合約因為當前狀態為 armed,不消耗真實 USDC,而是向 pair 鑄造假代幣,USDC 授權被保留

(4)MEV Bot 繼續調用偽造 pair 的 swap

(5)第二跳 pair 將代幣發給 MEV Bot

(6)hub 合約向 MEV Bot 支付少量真實 USDC 利潤

approval example 

tx hash: 0x0121e07a916c06eea3e7daf11893f3f0b95b9e1684124545ae14c32aee6029bb

MEV Bot 看到的結果:一筆成功的套利交易,獲得了真實的 USDC 利潤。但 USDC 的授權被子合約保留了下來。這類流程分別針對 USDC、USDT、WETH 重複執行,最終形成大量授權。

攻擊交易哈希為:

0x2be8704f5a59b69e0b71f64aefdb99eb0e8ae9fb3926147c581910d71bcf3e65

攻擊者調用協調器合約的 drain loop,calldata 中包含 66 個子合約地址,以及 MEV Bot 合約地址。只要 MEV Bot 合約此前給子合約留下了額度授權,子合約就可以直接把對應真實代幣轉給攻擊者。

最終結果:

  • 20 個 USDC 大額授權被全部消耗

  • 16 個 WETH 大額授權被全部消耗

  • USDT 的部分授權額度仍存在,但 USDT 餘額已不足

資金流向分析

攻擊得手後,攻擊者地址(0x3e37f4A10d771Ba9dE44b6d301410b1BEdeA65d0)收到 $2.87M USDC、$2.04M USDT 和 1,474 WETH。隨後攻擊者將穩定幣兌換成 ETH 並轉移至以下 4 個地址:

  • 0xe3Da36E4bd1a5738fa5D6Ef4F0e4dF40bDeB5f17(約 1,000 ETH)

  • 0x74Dc5b93586D248D5Aec64b3586736FF0A0D0e65(1,001 ETH)

  • 0xd8C125efCBc99408eC8723E9BBd81d1E8D39D845 (1,001 ETH)

  • 0x71d4416A7A85e08a5Fe7227Ca3B44Fc639e94e97(1,423 ETH)

其中 0xe3Da3 已轉移 1,000 個 ETH 至 Tornado Cash,其它三個地址的 ETH 未有進一步的轉移。其資金流向圖如下所示:

結語

本次攻擊展示了一種高度精密的攻擊方式:攻擊者不直接攻擊合約代碼,而是根據 MEV Bot 的業務邏輯,通過構造對應的套利場景,從而誤導 MEV Bot 做出看似無問題的授權,最後將其資產轉移。對於套利機器人和 MEV Bot 來說,不能只依賴模擬收益判斷路線安全,尤其當套利路徑中存在陌生合約、偽造 token 或自定義 wrapper 時,應當謹慎並且對交易後的 allowance 變化可考慮進行強制檢查。

來源:金色財經

發佈者對本文章的內容承擔全部責任
在投資加密貨幣前,請務必深入研究,理解相關風險,並謹慎評估自己的風險承受能力。不要因為短期高回報的誘惑而忽視潛在的重大損失。

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與加密貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠


section icon

鉅亨講座

看更多
  • 講座
  • 公告

    Empty
    Empty