背景介紹

four.meme是一個Binance Academy 孵化的一個類似pump.fun 的memecoin launchpad 。平台遭受遭受駭客攻擊。損失約180,000 USD 。攻擊交易為:

https://bscscan.com/tx/0xd9177f643e29fea98a609a9a82cd97bb843f914e3eddf4fbaa6f0da7b5824f3d

攻擊及事件分析

背景知識在先前的分析中已經詳細描述,具體詳情可以訪問先前的文章查看。

零時科技|| Four.meme 攻擊事件分析

攻擊步驟1:

攻擊交易hash為:

https://bscscan.com/tx/0x5a3abc55b60fbf73f186e153293325feaf06945f9033b7a11f07da6ff72554e4

在步驟1中,攻擊者利用buyTokenAMAP 將指定的token 轉給尚未建立的PancakeSwap PairWBNB-MubaraKing ,buyTokenAMAP 的描述如下:

Four.meme 攻擊事件分析

可以看到,函數可以用BNB 和BEP20 Token 為指定地址購買meme coin 。攻擊者使用buyTokenAMAP 的原因主要是因為當Token 在內盤交易時,無法透過transfer 自由轉帳。而且,由於PancakeSwap Pair 的地址是可預測的,所以攻擊者提前算好了PancakeSwap PairWBNB-MubaraKing 的地址。導致攻擊者在專案移轉到DEX 前就完成了向Pair 轉帳meme coin 的操作。

Four.meme 攻擊事件分析

我們可以看到,這筆交易所在的區塊為47556809 ,區塊時間為2025-03-17 22:54:53 (UTC) 。

攻擊步驟2:

攻擊交易hash為:

https://bscscan.com/tx/0xf5d95531a1dd612f5e1c65b513d227360a66287e35f67e6e04a97321d3faae14

https://bscscan.com/tx/0xd9177f643e29fea98a609a9a82cd97bb843f914e3eddf4fbaa6f0da7b5824f3d

當Token在內盤完成交易目標,即Bonding Curve Process 達到100% 會將內盤遷移到PancakeSwap 上,即外盤。攻擊者利用MEV 進行sandwich 攻擊,將遷移交易夾在中間,透過向Pair 添加流動性,再等官網添加完流動性後便撤回流動性,再將手中的MubaraKing 兌換為WBNB 從而獲取巨額利潤。

Four.meme 攻擊事件分析

在攻擊交易1中,攻擊者透過PancakeSwap Factory 創建了PancakeSwap Pair WBNBMubaraKing,由於在攻擊步驟1中,已經利用buyTokenAMAP 向這個Pair 中轉入了MubaraKing ,所以此時Pair 的MubaraKing 的餘額為4,620,000,000,000

Four.meme 攻擊事件分析

隨後,攻擊者又轉入87.9 WBNB ,使用mint 取得LP Token 完成提前添加流動性。

Four.meme 攻擊事件分析

在攻擊交易2中,攻擊者先利用burn 撤回自己添加的流動性,獲得了87.9 WBNB 和157,784,147,190,821,450,996,866,034 MubaraKing ,

Four.meme 攻擊事件分析

隨後,利用PancakeSwap 將手中的MubaraKing 兌換為20 WBNB ,最終完成攻擊。

Four.meme 攻擊事件分析

這些交易的區塊號碼為47561733 ,區塊時間為2025-03-18 03:01:05 (UTC )。

總結

本次漏洞的成因是:

1. 在內盤交易時,可以利用buyTokenAMAP 向沒法發起交易的地址轉賬,繞過了內盤不可transfer 的限制,導致提前添加了流動性。

2. Four.meme 在內盤的bondingcurve process 為100%,向DEX進行遷移時,沒有考慮到已經被提前添加了流動性的情況。導致遷移後隨攻擊者利先撤回提前添加的流動性,再用手中的memecoin 將池子中的WBNB 掏空完成攻擊。建議專案方在設計經濟模型和程式碼運作邏輯時要多方驗證,合約上線前審計時盡量選擇多個審計公司交叉審計。