SushiSwap仿盤,YUNO與KIMCHI智慧合約漏洞或存安全隱患

買賣虛擬貨幣

北京時間8月31日和9月1日,CertiK安全研究團隊發現Sushiswap仿盤的兩個專案YUNo Finance (YUNO)與KIMCHI.finance (KIMCHI),其智慧合約均存在漏洞。如果利用該漏洞,智慧合約擁有者可以無限制地增發專案對應的代幣數目,導致專案金融進度通脹並最終崩潰。

無限增發漏洞

以Yuno專案中智慧合約為例,CertiK安全研究團隊對於該無限增發漏洞進行了詳細分析,技術細節如下:

在Yuno專案中的MasterChef.sol智慧合約第1354行中,dev方法可以允許當前擁有devaddr身份的智慧合約呼叫者,將devaddr身份轉移給另外一個地址。

截圖出自:

https://etherscan.io/address/0x450f143f1a8650fff968d890814bd5884bdc8f1d#code

下圖中可以看到在智慧合約1282行的mint方法是由修飾器onlyOwner進行限制,修飾器onlyOwner決定了只能是智慧合約擁有者來執行這個合約。

以上三截圖均出自:

https://etherscan.io/address/0x450f143f1a8650fff968d890814bd5884bdc8f1d#code

擁有devaddr身份的呼叫者,當其身份恰好同時為owner身份的時候,可以透過呼叫MasterChef.sol智慧合約1282行的mint方法,來無限制的增發代幣。1282行的mint方法會繼續呼叫1130行的mint方法,並繼續由1130行mint方法呼叫1044行的_mint方法,並最終完成代幣增發的操作。

Kimichi專案智慧合約中存在的無限增發漏洞與以上漏洞基本相同,因此在這裡不進行重複敘述。

如果owner和devaddr的地址如果相同,那麼在外部沒有對智慧合約擁有者限制的情況下,智慧合約擁有者擁有權利增發任意數量的代幣,這將會將投資者置於風險之中。那麼Yuno和Kimichi這兩個專案中的devaddr和owner是否為同一人呢?是否有其他外部制約機制可以限制這兩個專案的智慧合約擁有者呢?

下圖為Yuno專案MasterChef.sol智慧合約中擁有devaddr和owner身份的地址(截止北京時間9月1日晚11點)。

截圖出自:

https://etherscan.io/address/0x9dd5b5c71842a4fd51533532e5470298bfa398fd#readContract

下圖為Kimichi專案中KimchiChef.sol智慧合約中擁有devaddr和owner身份的地址(截止北京時間9月1日晚11點)。

截圖出自:

https://etherscan.io/address/0x9dd5b5c71842a4fd51533532e5470298bfa398fd#readContract

從上兩圖中可以看到,Yuno專案中擁有devaddr和owner身份的地址為同一個,因此其智慧合約擁有者有權利進行無限制的代幣增發。而Kimichi專案中擁有devaddr和owner身份不同,但由於devaddr的身份可以進行轉移,因此也存在一定的風險。

目前措施

為了確保無限增發漏洞不會被觸發,對於Yuno和Kimichi兩個專案的智慧合約擁有者必須由外部進行限制。當前已經實施的限制條件與Sushiswap專案一致,即對任何由智慧合約擁有者進行的智慧合約操作,均有48小時的延遲。任何來自智慧合約擁有者的操作都會被所有投資者觀察到,並有48小時進行應對操作。

CertiK安全團隊建議

當前DeFi以及相關Farming專案異常火爆,由於區塊鏈專案對於專案程式碼公開性有要求,因此上線新專案門檻極低。如果盲目借鑑其他專案,任意漏洞都可能被引入到專案中。因此在專案上線之前,應該對專案進行嚴格的安全審計。

從投資者角度,當前Farming專案動輒百分之幾千的回報率,極易促使投資者在沒有對專案本身有足夠了解的情況下進行盲目投資。例如SushiSwap,Yuno以及Kimchi三個專案均沒有經過嚴謹的安全驗證就快速上線。投資者可能會被巨大的利益回報迷惑,將寶貴資金投入到有極大風險的智慧合約中。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;