iVest 代幣漏洞:攻擊者如何利用捐贈功能操縱價格

本文為機器翻譯
展示原文

幣安智能鏈上的項目iVest於 2024 年 8 月 12 日遭受攻擊,截至撰寫本文時估計損失約為 172,000 美元。該事件凸顯了用於提供稅收捐贈等附加功能的ERC20自定義轉賬功能中的漏洞。

概述

攻擊者:

https://bscscan.com/address/0x4645863205b47a0A3344684489e8c446a437D66C

脆弱合約:

https://bscscan.com/address/0x786fcf76dc44b29845f284b81f5680b6c47302c6

交易攻擊: https://bscscan.com/tx/0x12f27e81e54684146ec50973ea94881c535887c2e2f30911b3402a55d67d121d

漏洞分析

攻擊重點是__MakeDonation函數,該函數在轉移iVest代幣時被調用。在某些情況下,此函數會從發送者處銷燬或捐贈額外的代幣。從發送者處扣除的代幣數量超過發送金額會導致交換池出現嚴重問題,因為攻擊者可以使用它來減少池中的代幣數量,改變k比率並實現價格操縱。

攻擊者首先借出WBNB並將其換成iVest代幣。然後,他們將一定數量的iVest代幣轉移WBNB / iVest對,並將代幣撇取(轉出代幣以強制餘額與儲備匹配)到地址 (0) ,這會觸發__MakeDonation從池子儲備中銷燬更多代幣。接下來執行同步以操縱k比率。iVest幣的價格現在比開始時高得多,允許攻擊者將剩餘的iVest代幣換回WBNB並從上漲的價格中獲利。

經驗教訓

ERC20合約至關重要,因為它管理著生態系統中的所有資金。因此,開發人員在創建合約時必須格外小心。儘可能避免自定義ERC20合約中的邏輯。在AMM池中執行代幣之間的交換時,應格外小心地處理轉移函數的任何自定義邏輯。

強烈建議進行安全審計,無論是簡單的、只有一些小改動的ERC20合約,還是複雜的、有數十萬行代碼的DeFi協議。

相关赛道:
來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論