當我們看合約審計時,我們在看什麼?

買賣虛擬貨幣

隨著 DeFi 專案數量的爆發,安全審計機構已經要忙不過來了。從某種程度上講,合約審計是把握智慧合約風險的第一道門檻。

根據安全團隊的解讀,一個完整的 DeFi = 智慧合約 + 前端頁面。這即是說,在智慧合約安全審計後,仍會存在幾個風險。

當在我們看審計報告的時候,我們在看什麼?

作為 DeFi 參與者,合約審計能夠真正給出哪些借鑑和參考?

隨著「Swap系」數量越來越多,DeFi 專案「暴雷」、「跑路」的事件也在增多。

面對社羣對於 DeFi 專案風險的擔憂,很多專案方都選擇了進行合約審計,或是為了自證清白,或是為了取信於投資人,有時,DeFi 專案進行合約審計,也被當做是一種利好來進行解讀。

這種方式似乎是有效的:在「壽司」Sushiswap 創始人被爆套現離場、專案控制權易主之後,一條關於「Sushiswap 專案智慧合約審計工作進展順利」的訊息,讓 Sushi 立刻展示出了小幅度漲幅,也讓一部分投資者重獲信心;在 JustSwap 連續三個專案均爆出漏洞、並被指專案方未做好詳盡的測試和審計之後,Tron 官方挖礦專案 SUN 透過報告審計的訊息,也讓波場社羣的熱度再次增加。

同時,也有一些平臺因為出現漏洞而在審計上備受質疑,上週,就有投資人對新興的「Swap 系」平臺 Moonswap 提出了關於「發現有預挖」、「合約沒有時間鎖」、「平臺出現多個 Bug」等問題,並對其審計做出質疑,引發社羣關注。

目前,MoonSwap 已於啟動當天 18 點多已經加上了時間鎖,慢霧安全團隊釋出了正式安全審計報告。

當在我們看審計報告的時候,我們在看什麼?

作為 DeFi 參與者,合約審計能夠真正給出哪些借鑑和參考?

在面對這些問題的同時,Blocklike 還發現,對於審計能夠起到的作用,有人作出了這樣的總結:「程式碼可以審計,人性無法審計。」

審計範圍有限,合約風險暗藏

DeFi 熱潮之下,很多投資人的現狀可能正如 Primitive Ventures 創始合夥人 Dovey 所描述的那樣:「千萬別問我 xxx 能不能挖。現在一個人全職幫我看新地,一個人全職幫我看專案,還有兩個 trader 全職做交易(各種,包括農產品打理),還有各種內應外援程式設計師幫我看合約安全,我就是個確認錢包多籤的機器人,現代化農業哪裡有那麼簡單。」

的確,合約安全是很多投資者都關心的話題。近期,為了給跟多投資者提示風險,社羣就總結出了這樣一份 DeFi 生態思維導圖及風險點:

1. 合約風險,程式碼漏洞,未經審計,駭客攻擊造成資產損失

2. 私鑰風險,沒有多籤的 DeFi 合約意味著掌握合約私鑰的可以隨意更改合約或者跑路

3. 無常損失風險,例如流動性挖礦本身的無常損失,尤其是兩種風險資產的流動性對收益高風險也高

4.交易摩擦風險,現在以太坊交易 Gas 費率極高,幾個交易下來可能就要花費一個以太,散戶的本金來回幾次可能都不夠折騰

5.操作失誤風險,在轉賬過程中失誤導致資產永久丟失,最近有幾次大額轉賬失誤 建議投資國外經過開源審計多籤和社羣民主自治的專案,僅供參考。

從中看出,風險點之中首當其衝的便是「合約風險,程式碼漏洞,未經審計,駭客攻擊造成資產損失」。從某種程度上講,合約審計成為了把握合約風險的第一道門檻。

到了 DeFi 這裡,從投資者參與未經審計專案的情況與熱度來看,很多人對於安全審計的含義並不明瞭。早在 Yam 啟動之時,市場的 Fomo 情緒已經被帶動起來,雖然 Yam 已經被宣告瞭「未經審計」的、一週內寫出來的合約,但其所受到的追捧仍讓人咋舌。

那麼,作為 DeFi 投資者,該如何看待合約審計呢?

Blocklike 從慢霧安全團隊處瞭解到,目前,智慧合約基礎安全審計主要分為 ETH 部分(波場、幣安智慧鏈類似,都是基於 EVM)和 EOS 部分。其中,ETH 安全審計包含 13 個大類,EOS 安全審計包含 15 個大類。

(ETH 安全審計樣例)

不過,由於 DeFi 整個安全模型上會更加複雜,慢霧安全團隊將 DeFi 風險點分為了合約層與前端層兩個部分:

合約層:

1. 智慧合約基礎安全審計項,其中精度問題是個需要特別注意點

2. 許可權過大風險:鑄幣,授權遷徙

3. 經濟模型風險:預挖、團隊分配及用途

4. 同鏈平臺遷移風險

5. 新增池風險:新增惡意 Token 薅獎勵

6. 合約直接收到打幣風險

7. 代幣相容性風險:通縮型代幣,777 代幣

8. DoS 風險: 迴圈遞迴,惡意合約拒絕接受以太幣

9. 治理合約風險: 治理投票雙花, 治理壟斷風險

10. 鏈平臺遷移風險:各鏈之間相容 EVM 的方式可能不一致

11. 閃電貸攻擊風險:透過閃電貸對系統穩定性造成影響(暫定)

12. 預言機操控風險

13. 借貸清算風險:全部清算、部分清算、無人清算、競價清算

前端層:

1. 精度風險

2. 中間人攻擊風險,如替換合約地址

3. 合約替換風險

4. 授權釣魚風險

5. Gas Limit 限制風險

「這些確實普通使用者很難去一一理解」,慢霧安全團隊進一步解釋道:「但普通使用者可以簡單理解為:DeFi 透過安全審計後,使用者參與進去被安全審計的智慧合約裡的本金是安全的。至於因為參與 DeFi 導致的炒幣經濟虧損或在非合約層面導致的虧損,都不在智慧合約安全審計範圍。」

需要注意的是,根據安全團隊的解讀,一個完整的 DeFi = 智慧合約 + 前端頁面。

這即是說,在智慧合約安全審計後,還會存在幾個風險:第一,安全審計可能都沒發現的漏洞或新型攻擊方式;第二,智慧合約可升級或可篡改,如何讓可升級或可篡改成為不可能或有效可信的社羣治理行為;第三,隨著專案方的發展,智慧合約會增加新的,如新池子、新功能模組,需要注意看智慧合約安全審計報告明確審計的是哪些。

由於前端頁面屬於中心化內容,如果前端出 Bug 或漏洞或作惡,實際上危害可能會更直接更大。這個不僅是安全審計機構可以去審計的事(實際上也很難),還是社羣監督的事。

而到了 EOS 安全審計上,情況便又有所不同了。

虎符創始人王瑞錫就曾公開表示:「EOS 的合約特性是可修改,大家要看清楚,不要盲目相信審計了。因為目前大多數 EOS 上的合約都沒有開源。審計了沒開源和沒審計是一樣的。出了問題審計還背鍋,得不償失。」

對於 EOS 上的智慧合約,慢霧安全團隊補充道:「如果專案方 Owner 許可權已進行多籤,需要專案方與至少 2 個可信方共同多籤進行合約更新或者轉賬等操作,且 active 許可權已刪除專案方私鑰許可權。就可以比較好控制 EOS 智慧合約專案方許可權過大問題。」

因此,即便是透過了安全審計的 DeFi 專案,投資者仍然需要仔細甄別,注意風險。

投資人該如何參考?

根據工作經驗,慢霧安全團隊也對投資者們提出了一些建議:「智慧合約安全審計雖然不是銀彈,但有總比裸奔好,職業的安全審計機構會大大降低 DeFi 風險;切記不要進入到釣魚網站,亂授權會導致本金歸零;即使去投資被多家安全審計機構審計過的 DeFi,也做好黑天鵝爆發可能性,切勿沉迷;用靠譜的環境去玩靠譜的 DeFi,靠譜環境指(電腦是安全的、瀏覽器是安全的、手機是安全,使用的錢包是知名的、使用的網路是安全的等);不要把所有資金放到一個籃子裡,分散安全管理很重要。」

成都鏈安智慧合約安全負責人對 Blocklike 總結道:「從成都鏈安的經驗來看,合約審計的目的主要是檢查程式碼規範性 、常規漏洞(主要指一般的 Bug,如資料顯示錯誤等)、安全漏洞(比如溢位、重入等常規的安全漏洞)、業務邏輯漏洞。主要排除的風險主要在於兩點,減少遭受駭客攻擊的可能性、減少因程式碼導致的業務無法按預期正常運轉(比如 Yam 事件)。」

「審計報告會指出業務邏輯和功能描述等,可以對比看看專案方宣傳與功能是否對的上;審計報告也會描述許可權相關,普通投資者可以根據描述的許可權,看看專案方是否有跑路的能力,比如專案方有權利將合約中的錢全部轉走等,或者可以控制某些關鍵引數,變相控制使用者資金」,成都鏈安提出建議。

而目前可以看到的現狀是,DeFi 大熱導致了很多專案方過於急切,現在明顯是安全審計機構遠遠忙不過來的狀況,這對於使用者來說不是個好事。由於不少使用者缺乏安全意識,即使一個 DeFi 沒有透過安全審計,也可能有大量使用者直接湧入。

Blocklike 提示各位投資者,在參與 DeFi 專案的同時,注意智慧合約安全問題,進行投資時,本金安全作為第一重要的評估引數來看待,面對龐大的參與資金,駭客們可比普通投資者更狂熱。

畢竟,早在8月中旬,就已經有社羣聲音對熱情的投資者們靈魂發問:「你們想過嗎,這些形形色色的 DeFi 專案真是出了問題,維權橫幅上面你要印誰的名字?」

免責聲明:

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

推荐阅读

;