Zabu Finance閃電貸安全事件分析
前言
9月12日,知道創宇區塊鏈安全實驗室 監測到 Avalanche 上的 DeFi 協議 Zabu Finance 項目遭受閃電貸攻擊。實驗室第一時間跟蹤本次事件並分析。
涉及對象
攻擊合約
攻擊合約1:
0x0e65Fb2c02C72E9a2e32Cc42837df7E46219F400
攻擊合約2:
0x5c9AD7b877F06e751Ee006A3F27546757BBE53Dd
漏洞合約
ZABUFarm:
0xf61b4f980a1f34b55bbf3b2ef28213efcc6248c4
SPORE:
0x6e7f5c0b9f4432716bdd0a77a3601291b9d9e985
漏洞成因分析
漏洞產生原因在於 Defi 協議與代幣協議之間的不兼容,其不兼容主要是 zabuFarm 合約質押功能與 spore 合約轉账功能出現衝突,下面從雙方功能實現邏輯來分析衝突。
zabuFarm合約質押功能
zabuFarm 合約質押功能由函數 deposit 實現
簡述 deposit 函數實現邏輯:
1.由傳參_pid 獲取對應礦池信息與用戶信息
2.更新_pid 對應礦池信息,當用戶账戶不為 0 向用戶發送質押已產生獎勵
3.將傳參_amount 數量的代幣從函數調用者轉移到該合約
4.更新用戶添加的代幣以及最新獎勵狀態
5.觸發質押事件
spore合約轉账功能
spore 合約轉账功能由函數_transferStandard 實現(ps:_transferStandard 函數是 zabuFarm 合約質押功能轉账時調用的函數)
簡述_transferStandard 函數實現邏輯:
1.由傳參 tAmount 通過_getValues 函數獲取五個值,分別是 rAmount 實際轉账數量, rTransferAmount 收費後轉账數量, rFee 實際費用,tTransferAmount 初始轉账數量,tFee 初始費用
2.對相應账戶進行實際轉账代幣數量更新
3.通過_reflectFee 函數進行費用記錄更新
由此我們可以發現 zabuFarm 合約質押功能與 spore 合約轉账功能出現衝突的本質在於 deposit 函數僅是對用戶傳入轉账金額_amount 做用戶账戶更新記錄,而不是對_transferStandard 函數在收取費用後實際轉账做用戶账戶更新記錄,導致實際收款小於账戶記錄,俗稱虧本买賣。
簡述攻擊過程
1.利用攻擊合約1 0x0e65,將 WAVAX 代幣通過 Pangolin 置換成 SPORE 代幣,並質押到 ZABUFarm 合約中;
2.通過攻擊合約2 0x5c9A 從 Pangolin 閃電貸借出 SPORE 代幣,並利用 SPORE 代幣不斷在 ZABUFarm 合約進行質押-提現的操作,消耗原本屬於ZABUFarm 合約的SPORE 代幣,由於 ZABUFarm 合約是通過 SPORE 代幣總量計算獎勵,攻擊合約1 0x0e65 會獲得巨額 ZABU 代幣獎勵;
3.最後取出質押 SPORE 代幣,歸還閃電貸,拋售 ZABU 代幣獲利。
總結
此次攻擊屬於 defi 協議與代幣協議之間不兼容導致的,迄今為止此類攻擊事件已發生數次,知道創宇區塊鏈安全實驗室再次提醒,近期各鏈上頻頻爆發攻擊事件,合約安全愈發需要得到迫切重視,合約審計、風控措施、應急計劃等都有必要切實落實。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
突破傳統預言機:Chaos Labs 發布 Edge,如何保障超 300 億美元交易的安全?
從隱祕中嶄露頭角:Edge Oracle Network 今天,@chaos_labs 推出了 E...
mETH協議將迎來爆發:參與Methamorphosis活動,解鎖$COOK空投和重質押收益
mETH協議正在“COOK-ing”。$mETH已經是第四大ETH LST,有50萬枚$ETH被質...
Hypernative 榮獲1600 萬美元融資,如何打造 Web3 安全防线
隨着 DeFi 的不斷發展,安全性仍然是該生態系統面臨的重大挑战,每年因安全問題而導致的資產損失高...
特朗普強勢入局加密市場!DeFi項目首度曝光,創始團隊引發軒然大波
World Liberty Financial 白皮書中列出的四名團隊成員之前曾在 Dough F...