原文:《BurgerSwap和JulSwap閃電貸攻擊啟示錄—你真的懂Uniswap嗎? 》
來源:PeckShield派盾


2021 年BSC 鏈的推行將去中心化金融(DeFi)推向另一個熱潮,DeFi 協議的總鎖倉值一度衝擊1,300 億美元,整個幣圈為之瘋狂,各式DeFi 協議如雨後春筍般冒出來,但隨著比特幣價格的大跌和頻繁發生的安全事件,DeFi 協議的鎖倉量開始呈現下降的趨勢。

早期,BSC 提供的固定且較以太坊低的交易費,以及對開發者友好的操作系統,吸引了一批DeFi 協議遷移到新鏈上來,同時,也吸引了一批將自己定位為Uniswap 挑戰者的AMM。當然,從目前的狀況來看,它們還只是簡單的分叉者。

5 月28 日, BSC 鏈上首個自主治理AMM BurgerSwap 和DEX 協議JulSwap 接連遭到閃電貸攻擊。值得注意的是,BurgerSwap 和JulSwap 的代碼都是Fork Uniswap 的,但似乎它們並沒有完全理解Uniswap 背後的邏輯。

如果沒有完全理解Uniswap 背後的數學,那為什麼要去模仿呢?為了快速得到資本的青睞?還是害怕錯過熱點帶來的流量?我們無法阻止模仿行為的發生,但我們很快看到了結果:BurgerSwap 損失700 萬美元,$JULB 短時下跌逾95% 以上。



PeckShield「派盾」安全人員快速定位到BurgerSwap 遭到閃電貸攻擊的原因是攻擊者利用重入攻擊,在智能合約正常啟動第二次存入之前,調用_update()函數,先兌換了45,453 BURGER 。

PeckShield「派盾」簡述攻擊過程:



第一步,攻擊者從PancakeSwap WBNB-BUSDT 池中藉出6,047.13 WBNB 閃電貸;

第二步,在BurgerSwap 中,調用函數DemaxPlatform.swapExactTokensForTokens() 將 6,029 WBNB 兌換為92,677 BURGER;

第三步,在BurgerSwap 平台創造假幣BURGER-Fake LP,並增發100 枚假幣和45,316.6 BURGER;

第四步,將100 枚假幣兌換為45,316.6 WBNB;

第五步,在此步驟中攻擊者通過重入攻擊來攻擊合約,做了另一筆兌換,將45,453 BURGER 兌換為4,478.6 WBNB;

攻擊者從上述兩步中,共計獲得8,800 WBNB。接著,攻擊者將493 WBNB 在BurgerSwap 中兌換為108,700 BURGER,並返還閃電貸完成攻擊。

“優秀者模仿, 偉大者剽竊。”

對於目前的BurgerSwap 和JulSwap,甚至其他Fork Uniswap 的協議來說,談及超越Uniswap 還為時過早。

DeFi 領域是區塊鏈領域中發展的重要一環,但是目前處於DeFi 協議超發的時代,隨著時間的推移,大浪淘沙,那些注重安全、愛護自己羽毛的DeFi 協議才能存活下來。

PeckShield「派盾」提示Fork Uniswap 的DeFi 協議務必自查代碼,排除類似漏洞,或尋求專業代碼審計攻擊的幫助,畢竟,Attacker is watching you!