使用 ChatGPT 來做安全審計?Coinbase 對此做了個實驗
Lotist/odaily/Annie編譯
2023-03-22 10:50

在人工智慧熱潮席捲全球的當下,「ChatGPT」無疑是近期互聯網上最火紅的一個話題,而 ChatGPT 在區塊鏈領域也引起了不小的爭議,從最基礎的「你問我答」到簡單的行情分析,甚至是設計一套量化策略來炒幣……ChatGPT 的「超能力」也滲透進了區塊鏈領域的每一角落。

上周,ChatGPT-4 正式上線。據其開發商 OpenAI 表示,「ChatGPT-4 在各種專業和學術基準測試中,擁有人類水準的性能」。在實際應用中,ChatGPT-4 在 SAT 考試中獲得高分,並能成功監測出以太坊智慧合約中的漏洞,甚至提出利用漏洞的潛在方法。

Coinbase 主管 Conor Grogan 隨即證實了這一點,他在社交媒體上表示,自己已在 ChatGPT-4 中插入了一個即時以太坊智慧合約,結果 AI 瞬間就找到了安全漏洞,甚至還展示了如何利用這些漏洞進行攻擊。Conor Grogan 還表示,該合約的確在 2018 年被駭客利用漏洞攻擊,此外他透露也嘗試了 Euler 的智慧合約,但由於合約過長而無法被 ChatGPT-4 處理。Conor Grogan 坦言道,AI 最終將使智慧合約更安全、更容易構建。

隨著這篇推文的發佈,OpenAI ChatGPT 檢測安全漏洞能力也成為了圈內最熱門的話題之一,ChatGPT 真的可以檢查出去中心化應用的安全漏洞嗎?準確率有多高?安全公司慌不慌?為了回答以上問題,Coinbase 快速開展專項研究。

就在本週二,Coinbase 在其官方網站中正式發佈了利用 ChatGPT 使用 ERC 20 代幣審查框架,來執行自動審查與區塊鏈安全工程師執行審查的對比實驗及其報告成果。

實驗的目的是透過將審查結果與區塊鏈安全工程師執行的標準審查結果進行比較,以確定 ChatGPT 代幣安全審查的準確性。實驗中,區塊鏈安全工程師將利用內部工具審查代幣智慧合約中的每個功能,並根據標記到功能的風險輸出風險評分;同樣,為了將 ChatGPT 的準確性與標準評審的準確性進行比較,也需要 ChatGPT 生成一個風險評分。

為了讓 ChatGPT 使用 Coinbase 的 ERC 20 安全審查框架生成風險評分,在此之前,Coinbase 需要對 ChatGPT 下達部分指令:

「我想讓你擔任區塊鏈安全工程師。您的任務是根據與其功能相關的風險識別代幣智慧合約中的安全風險。這是我們的框架[+風險框架]。以下智慧合約中是否存在這些風險?[+智慧合約代碼]、」如此,Coinbase 便可在 ChatGPT 的提示中定義其風險框架,並詢問它是否存在任何風險。

那麼,ChatGPT 的表現到底如何呢?

Coinbase 在其實驗中對比了 ChatGPT 和人工安全審查之間的 20 個智慧合約風險評分,其中,ChatGPT 12 次生成了與人工審查相同的結果。然而,在另外 8 次失誤中,有 5 次是 ChatGPT 錯誤地將高風險資產標記為低風險資產。

看似表現還可以,然而我們都知道,低估風險評分的後果比高估風險評分更加嚴重,可能就因為一不小心的低估風險導致上架部分高風險幣種,這將嚴重危害交易所以及用戶的權益。

根據實驗結果所得出的報告顯示,ChatGPT 只能說「淺」具備了快速評估智慧合約風險的能力,但並不符合 Coinbase 安全審查流程中的準確性要求:

首先,ChatGPT 無法識別何時缺少上下文來執行穩健的安全分析。這會導致覆蓋缺口,額外的依賴項並未被審查。為了防止任何覆蓋缺口,每次都需要對 ChatGPT 的審查範圍進行初步的分類。

其次,ChatGPT 的輸出可能不一致;當多次對 ChatGPT 輸入同一個問題時,並總是輸出相同的答案。ChatGPT 似乎也受到代碼中注釋的影響,並且似乎偶爾會默認注釋而不是函數邏輯。

最後,OpenAI 繼續更新 ChatGPT 版本,導致額外的輸出不穩定。過去可能用於提供一致輸出的詳細提示可能會在版本更改後產生替代輸出。可能需要及時維護和輸出質量控制,以確保一致的響應並避免任何操作故障。

綜上所述,或許,Coinbase 可以透過進一步工程設計,提高 ChatGPT 代幣安全審核的準確性。不過目前,Coinbase 依舊無法僅單獨依靠 ChatGPT 來執行安全審查。Coinbase 希望未來可以提高其準確性,將 ChatGPT 作為二次 QA 檢查的工具,從而使安全工程師可以利用該工具執行額外的控制檢查,以捕捉可能被忽略的任何風險。ChatGPT 提示將被保存以供工程師將來使用,並計劃在以後進行改進。

正如 Coinbase 的實驗一樣,我們可以透過調節 ChatGPT 的指令設計來進一步提高其準確性,但是對於安全審核這樣偏機動性的工作而言,單靠 ChatGPT 使無法保證能在變量無法統一的情況下做出準確判斷的,仍然需要進行人工干預,根據具體額外的控制檢查來改進 ChatGPT 的提示。

總得來說,在區塊鏈產業引入 AI,無疑給圈內創企提供了透過人工協作 AI 進行高效 build 的可能——ChatGPT 擁有廣泛的知識庫,人工輸入特定的業務邏輯和提示,而開發人員可以透過使用 ChatGPT 在更短的時間內完成更多的工作。此外,對於安全工程師對智慧合約審計的高成本而言,ChatGPT 提供了一種即時且經濟高效的合約審計輔助。

就像區塊鏈開發人員 Salman Arshad 在 ETHDubai 會議上回答的那樣,「ChatGPT 和 AI 工具是福音;他們不是我們的敵人,也不是用來結束開發者職業生涯的。」ChatGPT 的協作性質,與自動化流程和取代人工的潛在威脅相比,或許對於廣大用戶更大有利。

最後,我想問作為用戶的你,是否敢使用接受 ChatGPT 審計過的 DeFi 協議呢?

本文為火星財經授權刊登,原文標題為「ChatGPT來做安全審計?Coinbase說還早呢