DCF 代幣於2024年11月24日遭受攻擊,攻擊造成的損失約為40萬美元。攻擊的根本原因是在新增流動性時缺乏滑點保護。
概述
攻擊者:https://bscscan.com/address/0x00c58434f247dfdca49b9ee82f3013bac96f60ff
漏洞合約:https://bscscan.com/address/0xA7e92345ddF541Aa5CF60feE2a0e721C50Ca1adb
攻擊交易:https://bscscan.com/tx/0xb375932951c271606360b6bf4287d080c5601f4f59452b0484ea6c856defd6fd
攻擊分析
DCF 代幣合約在出售時收取5%的代幣作為手續費,並自動將手續費兌換成 USDT 併購買 DCT 新增到 USDT-DCT 流動性池中。
問題在於合約中的所有買入/賣出操作都缺乏滑點價格保護(最小接收金額設定為0)。攻擊者使用閃電貸購買 DCT 和 DCF 代幣,操縱其價格大幅上漲。然後,他們轉入少量 DCF 代幣以觸發手續費,隨後將其出售為 USDT。
由於沒有滑點保護,合約以極高的價格將 USDT 兌換為 DCF 並將流動性添加回交易對。攻擊者隨後以較高價格出售他們購買的所有 DCF 和 DCT 代幣,償還閃電貸並獲利。
經驗教訓
在使用 Uniswap 協議時,滑點保護非常重要。沒有滑點保護的自動買賣代幣的合約是攻擊者的理想目標,因為他們可以輕鬆對自動交易進行三明治攻擊,利用價格波動獲利。在交換時務必使用滑點保護,並儘可能避免在合約中實施自動買賣功能。
強烈建議進行安全審計,無論是簡單的 ERC20 合約還是有數十萬行程式碼的複雜 DeFi 協議。