以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > UNI > Info

DEF:火爆出圈的最強 AI GPT 是否可用于合約安全審計?

Author:

Time:1900/1/1 0:00:00

前言

近期 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》

漏洞代碼:

冉小波:算法交易誕生的流動性挖礦推動整個DeFi進入火爆階段:9月4日消息,NULS聯合發起人冉小波在做客《HyperPay焦點》欄目時提及:DeFi大熱,資金都傾向于玩DeFi,反而應該是其他公鏈的一個挑戰。所以公鏈也需要一些結合DeFi的一些創新的玩法了,不然大部分的資金和流量可能都會流轉到一些毫無實際意義項目的流動性挖礦中。這一點相信其他的公鏈團隊應該也感觸頗深。DeFi的分支有很多,各家公鏈也都有在做一些探索,總的來看,推動整個DeFi進入火爆階段的是算法交易誕生的流動性挖礦。近期大熱的項目基本上都是一些新的項目,通過流動性挖礦來進行籌碼的分配,以非常高的收益率來進行高通脹的Token分配,從而吸引大量的資金短時間內快速加入。[2020/9/4]

(1)對 GPT 進行提問:

(2)GPT-3.5(Web) answer

彭博社:8月加密市場因DeFi火爆增加超500種新代幣:由于DeFi熱潮涌動,2020年8月加密貨幣市場已經增加超500種新代幣,或導致加密泡沫再次變得越來越大。在投機欲望激增的推動下,豬排(Porkchop)、Davecoin、意面(PASTA)、壽司(Sushiswap)Newtonium等新代幣紛紛登場,許多項目沒有實際效用,但投資者已經投入數十億美元。根據DeFi市場數據提供商DeFi Pulse數據顯示,截至9月2日,用戶向所有DeFi應用程序投入的資金超過94.6億美元。(彭博社)[2020/9/2]

(3)GPT-3.5-turbo-0301 answer

(4)GPT-4(Web) answer

“區塊鏈大爺”火爆2018全球區塊鏈精英峰會會場:據火訊財經報道稱,4月28日,在2018全球區塊鏈精英峰會會場外,一個頭發花白的大爺吸引了很多人的注意,大爺手持宣傳牌,上面寫著“全球首個保潔鏈-Clean Chain,去中介化的保潔服務與管理”,同時發布需求“求技術合伙人!求交易所聯系方式!”在宣傳語中還表達了保潔行業是人類剛需,與區塊鏈技術相結合勢不可擋的強烈意愿。現場很多人稱其為“區塊鏈大爺”。[2018/4/28]

可以看到結果:3 個測試版本都發現了關鍵的 tx.origin 相關問題。

測試二

用例:《智能合約安全審計入門篇 —— 溢出漏洞》

(1)對 GPT 進行提問:

火幣HT搶購火爆,數據驚人:火幣全球通用積分Huobi(HT)搶購數據:1分40秒售罄, 1月25日第二天比首日更加激烈,其中1萬元點卡套餐6秒被秒光~其次是1000元1分4秒;100,000萬1分5秒;100元1分40秒。HT在1月24日上午10點推出后就引發幣圈瘋搶,2分26秒內售罄。[2018/1/25]

可以看到 GPT-3.5(Web)、GPT-3.5-turbo-0301 都發現了關鍵的 Overflow 漏洞,出乎意料的是 GPT-4(Web) 居然沒有相關提示。

測試三

用例:《空手套白狼 —— Popsicle 被黑分析》

比特幣期貨上市后反應火爆 還有很多投資者難以進入市場:全球最受歡迎的加密貨幣的期貨在CBOE首次交易中上漲了26%,引發了兩次暫停交易,旨在平息市場。DV Chain首席執行官Garrett See表示,一些想要交易比特幣期貨的人很難進入這個市場,因為并不是所有的經理人都在最初支持它。[2017/12/12]

對比結果,我們可以看到 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 會上下文缺失而只識別到部分內容,所以這樣對大型合約而言就無法進行完整的上下文審計。

拆封整份合約,分批輸入分批檢測

對話 1:

Help me discover vulnerabilities in this solidity smart contract.

分段內容 1

對話 2:

分段內容 2

對話 3:

分段內容 3

(1)優點

GPT 對合約代碼中基礎的簡單的漏洞具備部分檢測能力,并且在檢測出漏洞后會以很高的可讀性來解釋漏洞問題,這樣的特性比較適合為初級合約審計工作者前期訓練提供快速指導和簡單答疑。

(2)存在的問題

a. 每次生成內容波動

GPT 對每次對話的輸出存在一定的波動,可以通過 API 接口參數進行調整,但是依舊不是恒定的輸出,雖然這樣的波動性對語言對話來說是好的方式,大大提高了對話給人的真實感。但是這對代碼分析類的工作來說是一個不好的問題。因為為了覆蓋 AI 可能告知我的多種漏洞回答,我需要多次請求同一問題并進行對比篩選,這無形中又提高了工作量,違背了 AI 輔助人類提高效率的基準目標。

例如這里再次運行 "漏洞代碼片段的檢測對比測試二(其中簡單改變函數名后再次生成):

可以看到其輸出結果比之前測試又多了一些額外內容。

b. 漏洞分析能力依舊有很大的提高空間

對稍微復雜的漏洞進行檢測即會發現當前的(2024.3.16)訓練模型不能正確的分析并找到相關關鍵漏洞點。

GPT 輔助合約審計的可行性和潛力分析

雖然當前來看 GPT 對合約漏洞的分析及挖掘能力還處于相對較弱的狀態,但它對普通漏洞小代碼塊的分析并生成報告文本的能力依舊讓使用者興奮,在可預見的未來幾年伴隨這 GPT 及其他 AI 模型的訓練開發,相信對大型復雜合約的更快速,更智能,更全面的輔助審計一定會實現。當科技發展可指數級提高人工的效率時就會發生質變,我們非常期待 AI 對區塊鏈安全的助力,我們會持續關注新 AI 產品對區塊鏈安全的影響。最后可見的將來我們必將與 AI 在一定程度上進行融合,愿 AI 和區塊鏈與你同在。

慢霧科技

個人專欄

閱讀更多

金色財經 善歐巴

金色早8點

白話區塊鏈

Odaily星球日報

MarsBit

歐科云鏈

深潮TechFlow

Arcane Labs

BTCStudy

Tags:GPTDEFDEFIEFIBGPT幣Defi.financePEET DeFidefibox幣價格

UNI
HAI:ChatGPT插件功能最令人震動的地方:自然語言編程

作者:木遙,來源:作者微博你可能已經看到 ChatGPT 今天宣布推出插件功能的新聞了。這可能是近期一系列進展中最令人驚訝和震撼的一個.

1900/1/1 0:00:00
ETH:深入了解再質押(Restaking):EigenLayer

Eigenlayer 提出的再質押(Re-staking)方案,允許用戶將 ETH、lsdETH 及 LP Token 質押在其他公鏈、預言機、中間件等,作為節點并得到驗證獎勵.

1900/1/1 0:00:00
POL:走向模塊化區塊鏈未來之路:Rollups-as-a-Service揭秘

原文作者:0xjim 原文編譯:Biteye 核心貢獻者 Crush 我們之前已經討論過未來數百萬個區塊鏈的樣子,一些是通用的公鏈,但其中絕大多數是用于特定的應用程序,即應用鏈.

1900/1/1 0:00:00
ETH:老牌算法穩定幣 Frax Finance 是如何憑借 LSD 熱點重拾“江湖地位”的?

作者:西柚,ChainCatcher自2月初,以太坊基金會核心開發人員在會議中表示即將在3月份計劃完成上海升級后.

1900/1/1 0:00:00
比特幣:晚間必讀 | SEC 對孫宇晨及其公司的 50 頁指控文件

提款功能即將到來!Shapella網絡升級計劃于epoch 194048在以太坊網絡上激活,也就是UTC時間2023年4月12日22:27:35.

1900/1/1 0:00:00
APE:倒計時26天:上海升級已定 以太坊將發生哪些重大變化?

3月16日,據以太坊核心開發者Tim Beiko 的推文,以太坊基金會核心開發團隊已經確認上海升級將于網路區塊高度6209536 時進行,具體為UTC 時間4月12日晚上22:27:35.

1900/1/1 0:00:00
ads