慢霧:PancakeBunny 被黑簡析

2021-05-20 18:05:49

據慢霧區情報,幣安智能鏈上 DeFi 收益聚合器 PancakeBunny 項目遭遇閃電貸攻擊,慢霧安全團隊第一時間介入分析,並將結果以簡訊的形式分享,供大家參考:

1. 攻擊者先發起一筆交易,使用 0.5 個 WBNB 與約 189 個 USDT 在 PancakeSwap 中添加流動性並獲取對應的 LP,隨後將 LP 抵押至 PancakeBunny 項目的 VaultFlipToFlip 合約中。

2. 在 LP 抵押完成後,攻擊者再次發起另一筆交易,在這筆交易中攻擊者先從 PancakeSwap 的多個流動性池子中閃電貸借出巨量的 WBNB 代幣,並從 Fortube 項目的閃電貸模塊借出一定數量的 USDT 代幣。隨後使用借來的全部 USDT 代幣與 部分 WBNB 代幣在 PancakeSwap 的 WBNB-USDT 池子添加流動性,並把獲得的 LP 留在 WBNB-USDT 池子中。

3. 由於在步驟 1 攻擊者已經在 VaultFlipToFlip 合約中進行了抵押,因此攻擊者在添加完流動性後直接調用 VaultFlipToFlip 合約的 getReward 函數來獲取 BUNNY 代幣獎勵並取回先前抵押的流動性。

4. 在進行 getReward 操作時,其會調用 BunnyMinterV2 合約的 mintForV2 函數來為調用者鑄造 BUNNY 代幣獎勵。

5. 在 mintForV2 操作中,其會先將一定量 (performanceFee) 的 LP 轉至 WBNB-USDT 池子中移除流動性,但由於在步驟 2 中攻擊者把大量的 LP 留在了池子中,因此 BunnyMinterV2 合約將會收到大量的 WBNB 代幣 與 USDT 代幣。

6. 在完成移除流動性後會調用 zapBSC 合約的 zapInToken 函數分別把步驟 5 中收到的 WBNB 與 USDT 代幣轉入 zapBSC 合約中。

7. 而在 zapInToken 操作中,其會在 PancakeSwap 的 WBNB-USDT 池子中把轉入的 USDT 兌換成 WBNB。隨後再將合約中半數 WBNB 在 PancakeSwap 的 WBNB-BUNNY 池子中兌換成 BUNNY 代幣,並將得到的 BUNNY 代幣與剩余的 WBNB 代幣在 WBNB-BUNNY 池子中添加流動性獲得 LP,並將此 LP 轉至 mintForV2 合約中。而由於步驟 5 中接收到的非預期的大量的 WBNB,並且進行 WBNB 兌換成 BUNNY 代幣的操作,因此 WBNB-BUNNY 池子中的 WBNB 數量會大量增加。

8. 在完成 zapInToken 操作後會計算 BunnyMinterV2 合約當前收到的 WBNB-BUNNY LP 數量,並將其返回給 mintForV2。隨後將會調用 PriceCalculatorBSCV1 合約的 valueOfAsset 函數來計算這些 LP 的價值,這裏計算價值將會以 BNB 結算 (即單個 LP 價值多少個 BNB)。

9. 在 valueOfAsset 計算中,其使用了 WBNB-BUNNY 池子中 WBNB 實時的數量乘 2 再除以 WBNB-BUNNY LP 總數量來計算單個 LP 的價值 (valueInBNB)。但經過步驟 7,我們可以發現 WBNB-BUNNY 池子中的 WBNB 非預期的數量大量變多了,這就導致了在計算單個 LP 的價值會使得其相對 BNB 的價格變得非常高。

10. 隨後在 mintForV2 中,合約會以在步驟 9 中計算出的 LP 價值來通過 amountBunnyToMint 函數計算需要給攻擊者鑄造多少 BUNNY 代幣。但由於價格計算方式的缺陷導致最終 LP 的價格被攻擊者惡意的操控擡高了,這就導致了 BunnyMinterV2 合約最終給攻擊者鑄造了大量的 BUNNY 代幣 (約 697 萬枚)。

11. 在拿到 BUNNY 代幣後,攻擊者將其分批賣出成 WBNB 與 USDT 以歸還閃電貸。完成整個攻擊後拿錢走人。

總結:

這是一次典型的利用閃電貸操作價格的攻擊,其關鍵點在於 WBNB-BUNNY LP 的價格計算存在缺陷,而 BunnyMinterV2 合約鑄造的 BUNNY 數量依賴於此存在缺陷的 LP 價格計算方式,最終導致攻擊者利用閃電貸操控了 WBNB-BUNNY 池子從而拉高了 LP 的價格,使得 BunnyMinterV2 合約鑄造了大量的 BUNNY 代幣給攻擊者。慢霧安全團隊建議,在涉及到此類 LP 價格計算時可以使用可信的延時喂價預言機進行計算或者參考此前 Alpha Finance 團隊。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

AI Agent 2024年回顧展望:我們從哪兒來,又將到哪兒去?

0x Jeff @web3_golem 2024 年 AI Agent 發展回顧 2024 年對於...

星球日報
3 3小時前

起底OKX客服部:平均3分鐘回復、100%反饋率、變被動為主動

Star 鮮少出席线下活動,卻以开放的姿態活躍於 X 平臺。他的推特傾向於親自回復用戶疑問和跟進用...

星球日報
2 3小時前

如何理解近期下跌走勢:第一波“特朗普震撼”來襲

作者 : @Web3_Mario 摘要 :上周加密貨幣市場經受了較大的回撤,市場上普遍歸因為美聯儲...

馬裏奧看Web3
2 3小時前

一文盤點 2025 年七大 DeFi 質押平臺:如何最大化 DeFi 質押收益?

撰文:Siddhant Kejriwal 編譯:Glendon,Techub News 加密貨幣行...

TechubNews
3 3小時前

特朗普也被“割”?旗下加密項目浮虧超百萬美元

聖誕節前後,加密市場似乎也隨着節日的到來進入休整。 自上周鮑威爾一句話帶崩加密市場後,整體市場下挫...

陀螺財經
2 3小時前

Blockworks Mippo:關於2025年的27個加密猜想

原文來源: @Mippo 編譯: Odaily星球日報( @OdailyChina ) 譯者:We...

星球日報
2 3小時前