北京時間2023年2月16日凌晨,Avalanche上的DeFi平台Platypus Finance遭遇閃電貸攻擊,被盜走約900萬美元。攻擊者部署了未經驗證的合約,並利用閃電貸消耗了協議中的約900萬美元。
三次攻擊,我們將選擇金額最大的用來解析流程:
1. 攻擊者將閃電貸獲得的4400萬USDC存入Platypus USDC池,並獲得4400萬 LP-USDC。
2. 攻擊者將這4400萬LP-USDC存入MasterPlatypusV4。
3.該平台的借貸限額被設置爲95%,這意味着攻擊者最多可以用他們的4400萬LP-USDC借到大約4180萬USP。
4. 攻擊者在PlatypusTreasure合約中調用了borrow來鑄造大約4180萬USP。
5. 由於借來的USP數額沒有超過限額,協議的isSolvent值將總是返回true。
6. 由於isSolvent變量爲true,攻擊者可以調用EmergencyWithdraw來提取其質押的4400萬LP-USDC全部資金。
7. 攻擊者在支付了移除流動性的手續費用後,總共提取了43,999,999,921,036 USDC(LP-USDC)。
8. 攻擊者償還了閃電貸款,並以多個穩定幣的形式獲利約850萬美元。
2,425,762 USDC
1,946,900 USDC.e
1,552,550 USDT
1,217,581 USDT.e
687,369 BUSD
691,984 DAI.e
在撰寫本文時,共大約900萬美元被盜。其中攻擊者部署的合約中仍有價值850萬美元的資產;171,000美元在攻擊者的地址(EOA);399,400美元在一個Aave池。
造成該事件的漏洞在於MasterPlatypusV4合約的函數emergencyWithdraw中償付能力檢查出現問題。其償付能力檢查沒有考慮到用戶的負債價值,而只檢查了債務金額是否達到最大限額。償付能力檢查通過後,合約允許用戶提取所有存入的資產。
函數platypusTreasure.isSolvent會返回兩個值。第一個值是solvent,是一個決定了用戶的債務金額是否低於借款限額的布爾值。第二個值debtAmount則顯示用戶所欠的債務金額。
如果用戶的債務額不超過用戶抵押物的95%的借款限額,那么solvent的值將爲true。
然而,在emergencyWithdraw函數中,償付能力檢查只驗證了布爾值solvent,而忽略了債務金額。這意味着,如果用戶的債務不超過借款限額,用戶可以調用函數emergencyWithdraw來提取所有存入的抵押品。
通過安全審計,可以發現該設計缺陷問題。
本次事件的預警已於第一時間在CertiK官方推特進行了播報。歡迎大家隨時關注CertiK官方推特,獲取更多與漏洞、黑客襲擊以及Rug Pull相關的社群預警信息。
近千萬美金級的攻擊不斷,這年頭黑客來錢甚至比黑道快多了。
合約審計,才是Web3世界中的“安心”!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:黑客开啓狂飆模式 Platypus閃電貸攻擊 盜走900萬美元
地址:https://www.torrentbusiness.com/article/24544.html
標籤: