前言
近期ChatGPT爆火,其對傳統文字工作的效率提高及總結能力讓使用者驚艷。緊隨其后CodeGPT這樣基于GPT的插件出現,也充分體現了其對代碼編寫效率的提高。而最新GPT-4的發布,是否可以應用到對區塊鏈、Solidity智能合約的審計中呢?
基于這樣的疑問,我們進行了多種可行性測試。
測試環境及測試方法
測試使用的對比模型對象:GPT-3.5(Web),GPT-3.5-turbo-0301,GPT-4(Web)。
代碼片段使用Prompt:HelpmediscovervulnerabilitiesinthisSoliditysmartcontract.
漏洞代碼片段的檢測對比
在此部分,我們分三次測試,使用歷史上常見的漏洞代碼作為測試一和測試二的用例,來驗證其對基礎漏洞的檢測能力,測試三中使用中等難度的漏洞代碼作為測試用例。
測試一
用例:《智能合約安全審計入門篇——Phishingwithtx.origin》
漏洞代碼:
INT chain主鏈全球公測,答題送20萬INT糖果火爆進行中:為慶祝INT chain主鏈進行全球公測,連續多場贈送糖果活動正在進行中,用戶進入INT官方社群即可進行參與。INT chain是一個基于物聯網區塊鏈的項目,目標是要做一條可以中繼不同的物聯網的公鏈,形成邊緣計算網絡,有效流通資源,加快物聯網普及進度。大幅降低物聯網區塊鏈應用的開發難度,致力于使物聯網區塊鏈內化成如同 TCP/IP 一樣的物聯網基礎架構。INT將圍繞工業制造、無人駕駛、物聯網+區塊鏈避開交通堵塞、公共技術設施和智能城市等應用場景發力。[2018/5/10]
對GPT進行提問:
GPT-3.5(Web)answer
GPT-3.5-turbo-0301answer
GPT-4(Web)answer
德意志銀行高管:比特幣火爆背后,銀行賬戶或將在5年內消失:德意志銀行高管馬庫斯申克認為,現在我們所熟悉的銀行賬戶可能會在短短五年內消失。“科技正在以不同的方式影響我們經營的業務,”申克指出零售銀行業務正“面臨一個全新的正常演變。”[2018/3/23]
可以看到結果:3個測試版本都發現了關鍵的tx.origin相關問題。
測試二
用例:《智能合約安全審計入門篇——溢出漏洞》
漏洞代碼:
對?GPT?進行提問:
GPT-3.5(Web)answer
區塊鏈概念持續火爆,板塊內再現漲停潮:區塊鏈概念持續火爆,板塊內再現漲停潮。截至發稿,滬指上漲0.1%,報收3425點;深成指上漲0.24%,報收11464點;創業板上漲0.73%,報收1804點。從盤面上看,區塊鏈等板塊漲幅居前。[2018/1/11]
GPT-3.5-turbo-0301answer
GPT-4(Web)answer
可以看到GPT-3.5(Web)、GPT-3.5-turbo-0301都發現了關鍵的Overflow漏洞,出乎意料的是GPT-4(Web)居然沒有相關提示。
測試三
用例:《空手套白狼——Popsicle被黑分析》
漏洞代碼:
區塊鏈概念行情火爆 區塊鏈概念股掀漲停潮:受外圍市場區塊鏈概念股持續大熱影響,A股市場上區塊鏈概念近日表現搶眼。區塊鏈指數昨日放量大漲5.88%,創該指數近一年來最大單日漲幅,同時成交量創歷史新高。區塊鏈概念股全線飄紅,18只個股漲幅在5%以上,其中10只個股相繼漲,包括廣電運通、遠光軟件、四方精創、易見股份、新晨科技、高偉達、飛天誠信、安妮股份等。從資金流向看,主力資金搶籌跡象較為明顯,昨日區塊鏈概念股整體主力資金凈流入16.03億元,7只個股主力資金凈流入逾億元,分別是利歐股份、恒生電子、廣電運通、游久游戲、浙大網新、飛天誠信、贏時勝。其中,利歐股份主力資金凈流入1.78億元,位居首位,該股昨日午后被拉升至漲停板,最新股價逼近60日線。[2018/1/11]
對GPT進行提問:
GPT-3.5(Web)answer
GPT-3.5-turbo-0301answer
孫宇晨發微博分析以太坊云養貓火爆原因:Tron創始人孫宇晨發布微博分析以太坊云養貓火的原因,他認為:“1.貓的基因是真隨機數,血統高貴花費的努力與時間能夠被精準度量。2.數據去中心化,機制透明催生了公正市場。3.線上擼貓比線下省力,宅男女喜歡。4.數據透明,容易炫耀與比較。5.線上擼貓交易透明標準化易于交割,帶有投資屬性。6.交易智能合約7*24小時營業。”[2017/12/6]
GPT-4(Web)answer
對比結果,我們可以看到3個版本都未發現關鍵的漏洞點。
代碼片段的檢測總結
可以看到GPT模型對簡單的漏洞代碼塊的檢測能力還是不錯的,但是對稍微復雜一點的漏洞代碼暫時還無法檢測,并且在測試中可以看到GPT-4(Web)的整體上下文可讀性很高,輸出格式清晰、舒服,但是其對代碼的審計能力暫時沒有遠超GPT-3.5(Web)、GPT-3.5-turbo-0301,甚至在部分測試中由于Transformer輸出存在一定的不確定性反而導致GPT-4(Web)遺漏了一些關鍵問題。
對比已知漏洞的全量合約檢測
為了更加契合普通項目方在合約審計中的簡單操作需求,這里我們提高些難度,針對代碼量大的合約進行全量導入上下文,讓GPT-4模型進行審計。
用例:《千萬美元被盜——DeFi平臺MonoXFinance被黑分析》
整份合約分批輸入,在對話最后提出檢測漏洞請求
這里使用Prompt:
Hereisasoliditysmartcontract?
Contractcode
Theaboveisthecompletecode,helpmediscovervulnerabilitiesinthissmartcontract.
可以看到,GPT-4雖然在OpenAI公布的信息中其單次輸入字符總數已經是當前最高,但還是會由于文本超長導致在最后提問時GPT會上下文缺失而只識別到部分內容,所以這樣對大型合約而言就無法進行完整的上下文審計。
拆封整份合約,分批輸入分批檢測
這里使用Prompt:
對話1:
Helpmediscovervulnerabilitiesinthissoliditysmartcontract.
分段內容1
對話2:
Helpmediscovervulnerabilitiesinthissoliditysmartcontract.
分段內容2
對話3:
Helpmediscovervulnerabilitiesinthissoliditysmartcontract.
分段內容3
總結
GPT當前是否適合合約分析
優點
GPT對合約代碼中基礎的簡單的漏洞具備部分檢測能力,并且在檢測出漏洞后會以很高的可讀性來解釋漏洞問題,這樣的特性比較適合為初級合約審計工作者前期訓練提供快速指導和簡單答疑。
存在的問題
a.每次生成內容波動
GPT對每次對話的輸出存在一定的波動,可以通過API接口參數進行調整,但是依舊不是恒定的輸出,雖然這樣的波動性對語言對話來說是好的方式,大大提高了對話給人的真實感。但是這對代碼分析類的工作來說是一個不好的問題。因為為了覆蓋AI可能告知我的多種漏洞回答,我需要多次請求同一問題并進行對比篩選,這無形中又提高了工作量,違背了AI輔助人類提高效率的基準目標。
例如這里再次運行"漏洞代碼片段的檢測對比測試二:
可以看到其輸出結果比之前測試又多了一些額外內容。
b.?漏洞分析能力依舊有很大的提高空間
對稍微復雜的漏洞進行檢測即會發現當前的訓練模型不能正確的分析并找到相關關鍵漏洞點。
GPT輔助合約審計的可行性和潛力分析
雖然當前來看GPT對合約漏洞的分析及挖掘能力還處于相對較弱的狀態,但它對普通漏洞小代碼塊的分析并生成報告文本的能力依舊讓使用者興奮,在可預見的未來幾年伴隨這GPT及其他AI模型的訓練開發,相信對大型復雜合約的更快速,更智能,更全面的輔助審計一定會實現。當科技發展可指數級提高人工的效率時就會發生質變,我們非常期待AI對區塊鏈安全的助力,我們會持續關注新AI產品對區塊鏈安全的影響。最后可見的將來我們必將與AI在一定程度上進行融合,愿AI和區塊鏈與你同在。
Tags:GPT區塊鏈WEBINTBGPT價格區塊鏈存證證件具有更高的信任等級METAWEB3PA價格Financial Intelligence Group Token
隨著NFT生態系統的不斷發展,零收費或低收費的市場不斷涌現,許多創作者面臨著二次銷售的版稅收入減少。 因此,面臨的挑戰是,在這個版稅趨于不支付的新環境中,產生可持續的收入流.
1900/1/1 0:00:00撰文:JamesonLopp編譯:PengSUN,ForesightNews一項新技術看似毫無征兆地自發出現,但實際上是多位科學家數十年研究和開發的結晶.
1900/1/1 0:00:00作者:鏈上分析師@Lookonchain 編譯:Felix 近日,在硅谷銀行破產事件的席卷下,美元穩定幣USDC本周末開始脫錨并下跌,在監管機構干預下,事件漸息.
1900/1/1 0:00:00作者:yyy Twitter:@y_cryptoanalyst? 前言 Coinbase正大刀闊斧地建設鏈上基礎設施,近日宣布基于OPStack構建一條二層Rollup鏈——Base.
1900/1/1 0:00:00DeFi數據 1、DeFi代幣總市值:488.53億美元 DeFi總市值及前十代幣數據來源:coingecko2、過去24小時去中心化交易所的交易量22.
1900/1/1 0:00:00文/Consensys;譯/金色財經xiaozou以太坊轉向權益證明使新的ETH發行量減少了88%.
1900/1/1 0:00:00