時間:2023-07-30|瀏覽:295
上一篇文章簡單介紹了5月份幣安智能鏈遭受了11次DeFi安全事故,并列出了幣安智能鏈上的無損挖礦項目排行榜,該榜單綜合考慮了收益和安全性。
今天我們將繼續(xù)解讀幣安智能鏈上PancakeBunny遭受的攻擊。
5月20日,幣安智能鏈上的DeFi協(xié)議PancakeBunny遭受了黑客的閃電貸攻擊。這個備受關注的項目也無法幸免于灰色5月的破壞,Bunny代幣的價格暴跌,短時間內跌幅高達97%。
那么黑客是如何攻擊的呢?根據(jù)零時科技給出的攻擊簡述:
一、攻擊者通過閃電貸借出約232萬枚BNB,并從ForTube閃電貸借出296萬枚USDT。然后用7744枚BNB和296萬枚USDT,添加到BNB-USDT流動性中,獲得大約14萬枚LP代幣。
二、攻擊者將借來的232萬枚BNB在PancakeSwap兌換為382萬枚USDT。由于V1池已被放棄,資金儲備很低,大量的BNB代幣進入池子,導致BNB的價格急劇下降,攻擊者可以控制價格。
三、攻擊者通過調用VaultFlipToFlip合約中的getReward方法,將之前抵押過的資金轉換出來。具體流程如下:
1. 從BNB-USDT池子中取出296萬枚USDT和7744枚BNB。 2. 將296萬枚USDT換成231萬枚BNB。 3. 將其中一半的115萬枚BNB換成17萬枚Bunny。 4. 將剩余的115萬枚BNB轉入BNB-Bunny池子中,獲得對應的LP代幣。 5. 將之前取出的7744枚BNB按1:1的比例添加到BNB-Bunny池子中,增加流動性。 6. 將獲得的所有LP代幣添加到PancakeSwap,最終獲得697萬枚Bunny代幣。
四、攻擊者利用合約中鑄幣計算的缺陷,將獲得的697萬枚Bunny代幣轉換成BNB和USDT,并將其中69萬枚Bunny轉入自己的錢包。
五、最后,攻擊者還回了借出的資金,并將剩余的11萬枚BNB轉入自己的錢包。
攻擊的關鍵在于WBNB-BUNNYLP價格計算存在缺陷,而BunnyMinterV2合約鑄幣數(shù)量依賴于這個價格計算方式,從而導致攻擊者操縱了WBNB-BUNNY池子的價格,獲取了大量的鑄幣。
Bunny團隊已經公布了補償方案,大致包括發(fā)行新代幣pBUNNY,發(fā)放給攻擊前持有BUNNY的用戶,并重新開放機槍池,調整BUNNY的產出;同時開設一個pBUNNY池子,將所有收益都給這個池子,包括機槍池的挖礦收益、團隊的BUNNY分配以及追回的資金等;在90天后,pBUNNY可以按一定比例換回BUNNY。
這次攻擊對Bunny的價值和用戶的信任度造成了毀滅性的打擊。我們需要重視項目團隊的可信度,不要忽視審計報告,了解報告中審計的內容,對自己的財務負責。同時,DeFi領域作為區(qū)塊鏈中重要的一環(huán),項目方也需要及時更新合約代碼,擁有可靠的預言機,確保安全可靠的金融環(huán)境。