-
火爆出圈的最強 AI GPT 是否可用于合約安全審計?
liurui
2023-03-21
2791
元宇宙
-
摘要:前言近期 ChatGPT 爆火,其對傳統文字工作的效率提高及總結能力讓使用者驚艷。緊隨其后 CodeGPT 這樣基于 GPT 的插件出現,也充分體現了其對代碼編寫效率的提高。而最新 GPT-4 的發布,是否可以應用到對區塊鏈 、Solidity 智能合約的審計中呢?基于這樣的疑問,我們進行了多種
序言
最近 ChatGPT 爆紅,其對于傳統式文本工作的效率提升及匯總能力讓使用人震撼。略遜一籌 CodeGPT 那樣根據 GPT 的軟件產生,也充分展現了其對于代碼編寫質量的提升。而全新 GPT-4 的出臺,能否運用到對區塊鏈 、Solidity 智能化合約的審核中呢?
根據這樣一個問題,大家展開了多種多樣可行性分析檢測。
接口測試及測試標準
檢測應用對比模型對象:GPT-3.5(Web), GPT-3.5-turbo-0301, GPT-4(Web)。
代碼片段應用 Prompt:Help me discover vulnerabilities in this Solidity smart contract.
漏洞代碼片段的檢測比照
在這里一部分,大家分三次檢測,應用在歷史上比較常見的漏洞編碼做為測試一和驗證二的測試用例,來檢驗其對于基本漏洞的檢測能力,檢測三中應用中等水平挑戰性的漏洞編碼做為功能測試。
-
測試一
測試用例:《智能化合約安全審計初級教程 —— Phishing with tx.origin》
漏洞編碼:
(1)對 GPT 開展提出問題:
(2)GPT-3.5(Web) answer
(3)GPT-3.5-turbo-0301 answer
(4)GPT-4(Web) answer
能夠看見結論:3 個測試版本都看到了關鍵性的 tx.origin 有關問題。
-
檢測二
測試用例:《智能化合約安全審計初級教程 —— 外溢漏洞》
漏洞編碼:
(1)對?GPT?開展提出問題:
(2)GPT-3.5(Web) answer
(3)GPT-3.5-turbo-0301 answer
(4)GPT-4(Web) answer
能夠看見 GPT-3.5(Web)、GPT-3.5-turbo-0301 都看到了關鍵性的 Overflow 漏洞,出乎意料的是 GPT-4(Web) 竟然沒有有關提醒。
-
檢測三
測試用例:《空手套白狼 —— Popsicle 被黑分析》
漏洞編碼:
(1)對 GPT 開展提出問題:
(2)GPT-3.5(Web) answer
(3)GPT-3.5-turbo-0301 answer
(4)GPT-4(Web) answer
比照結論,大家可以看到 3 個新版本都沒有發現關鍵性的漏洞點。
- 代碼片段的檢測匯總
能夠看見 GPT 實體模型對簡單漏洞編碼塊檢驗能力還是很不錯的,但是對于略微繁雜一點的漏洞編碼暫時還沒法檢驗,而且在測試中可以看出 GPT-4(Web) 的總體前后文易讀性非常高,輸出格式清楚、舒適,可是其對于代碼的財務審計能力目前沒有遠高于 GPT-3.5(Web)、GPT-3.5-turbo-0301,甚至是在一部分檢測中因為 Transformer 導出存在一定的可變性反倒造成 GPT-4(Web) 忽略了一些重要環節。
比照已經知道漏洞的全量合約檢驗
因為更為切合一般新項目放在合約財務審計里的簡單操作要求,接下來我們提升些難度系數,對于編碼量大合約開展全量導進前后文,讓 GPT-4 模型進行財務審計(GPT-3?對語義的標識符數量限定比較小這里不做檢測)。
測試用例:《千萬美元被盜 —— DeFi 平臺 MonoX Finance 被黑分析》
- 整份合約分次鍵入,在會話最終明確提出檢驗漏洞要求
這兒應用 Prompt:
Here is a solidity smart contract
Contract code
The above is the complete code,help me discover vulnerabilities in this smart contract.
能夠看見,GPT-4 盡管在 OpenAI 發布的內容中其一次輸入字符數量已是現階段最大,但是還是會因為文字較長造成最后發言時 GPT 會前后文缺少而只鑒別到一些內容,而且這樣對大中型合約來講就不能進行完整的前后文財務審計。
-
拆開整份合約,分次鍵入分次檢驗
這兒應用 Prompt:
會話 1:
Help me discover vulnerabilities in this solidity smart contract.
按段具體內容 1
會話 2:
Help me discover vulnerabilities in this solidity smart contract.
按段具體內容 2
會話 3:
Help me discover vulnerabilities in this solidity smart contract.
按段具體內容 3
匯總
-
GPT 現階段適合不適合合約剖析
(1)優勢
GPT 對合約編碼中基本的簡單漏洞具有一部分檢驗能力,而且在檢測到漏洞之后以非常高的易讀性來描述漏洞難題,那樣的特點較為適合為初中級合約財務審計工作者早期練習給予迅速幫助和簡易答疑解惑。
(2)存在的不足
a. 每一次形成具體內容起伏
GPT 對每一次聊天的導出存在一定的起伏,能通過 API 接口參數作出調整,但是依然并不是相對穩定的導出,盡管這種不確定性對知識會話來講是好的方式,大大提升了會話給人帶來的現實感??墒沁@會對代碼分析類工作中來說是一個不太好問題。由于為了能遮蓋 AI 很有可能告知我的各種漏洞回應,我們需要數次要求同一難題并進行比較挑選,這無形之中又提高了任務量,違反了 AI 協助人們提高工作效率的標準總體目標。
比如這兒再度運作 "漏洞代碼片段的檢測對比測試二(在其中簡易更改函數名后重新形成):
能夠看見其輸入參數比以前檢測又多了一些附加具體內容。
b.漏洞剖析能力依然有很大的提高室內空間
對略微繁雜的漏洞進行檢驗便可發覺現階段的(2024.3.16)訓練算法不可以恰當的解讀然后找到有關重要漏洞點。
- GPT 協助合約審計可行性分析和潛質剖析
盡管現階段來說 GPT 對合約漏洞的分析與發掘能力還處在較弱狀態,但是它對于大部分漏洞小編碼塊剖析并生成報告文字的能力依然讓使用人激動,能夠在預見的未來數年隨著這 GPT 及其它 AI 模型練習開發設計,堅信對大型的繁雜合約的更快,更加智能,更專業的協助財務審計一定會實現。當科技水平發展可指數級提升人工高效率時也會發生量變,大家十分期待 AI 對區塊鏈安全助推,我們也會密切關注新 AI 商品對區塊鏈安全危害。最終看得到的未來大家終將與 AI 在一定程度上進行結合,愿 AI 和區塊鏈從未離開。
來源:liurui
免責聲明:世鏈財經作為開放的信息發布平臺,所有資訊僅代表作者個人觀點,與世鏈財經無關。如文章、圖片、音頻或視頻出現侵權、違規及其他不當言論,請提供相關材料,發送到:2785592653@qq.com。
風險提示:本站所提供的資訊不代表任何投資暗示。投資有風險,入市須謹慎。
世鏈粉絲群:提供最新熱點新聞,空投糖果、紅包等福利,微信:trr3544。
-