作者:昏鴉
日期:2021年3月3日

前言

AVAT是一個基于火幣Heco生態鏈的DeFi質押挖礦協議,同時也是阿凡達團隊發行的治理代幣,用戶可以將自己的資產質押在協議中可以獲取智能合約質押獎勵AVAT代幣。

據AVAT官方群消息,2021年3月2日,AVAT項目代幣在Mdex交易所上出現無法賣出的問題。知道空間安全團隊第一時間跟進分析,分享如下。

分析

由于AVAT代幣合約在HECO平臺上未開源驗證,只能通過HECO平臺提供的反編譯查看偽代碼:

在合約偽代碼中并未發現明顯問題,但注意到approve函數中有一處細節:

approve函數中,存在這樣一行校驗,這段代碼邏輯在合約代碼中通常編寫如下:

require(allowance[msg.sender][_to] == 0 || _value == 0);

實際作用就是在調用approve函數授權的時候,要求已授權額度為0或者授權額度為0,才能授權成功,主要用于防范交易順序依賴的問題。

存在這段校驗,再加上官方公告的說法,不難推斷此次問題的原因大概率是在于和Mdex交易所對接的問題,Mdex方面在調用transferFrom前進行approve授權,但僅調用一次去設置授權額度,并未先清空原先的已授權額度,調用方法不對,導致在上面的校驗中過不去,進而revert回退,交易失敗,所以最后代幣賣不出去。

在流動性挖礦的引領下,DeFi 于 2020 年再次起飛,成為金融革新的焦點,DeFi領域的玩法也變得逐漸多樣化。而協議內存放著的各種有價資產,也使DeFi領域成為了被攻擊的重災區。

知道空間安全專家表示:“DeFi對每個環節的審計至關重要,各個項目方實現的合約標準參差不齊,這就要求對項目合約上線對接前進行充足、全面的安全審計,而不是在啟動前打勾。”在處理資產時,需謹慎授權。DeFi 正經歷一個前所未有的增長時期,在這個時期,信任的成本將變得非常之高。

隨著 DeFi 行業規模迅猛增長,尤其是業務和運營合作上的不斷發力,組合過程中潛在的安全問題會愈發凸顯出來。黑客在攻擊某一 DeFi 合約漏洞獲利后,會利用同原理的漏洞對其他 DeFi 合約進行依次攻擊。

總結

通過對整個事件的分析來看,此次事故并不在安全漏洞的范疇內,主要原因在于合約方法的實現標準不同,對接出現問題,項目上線前沒有做足充分的審查。

建議

目前,由于對接問題,AVAT代幣在Mdex交易所上賣不出去,引起社區的恐慌和潛在的資金損失。

AVAT官方已經發出補救措施的公告,進行資產回退,后續發布新的合約,及時關注官方消息。


Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1493/