前言
近期 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》
漏洞代碼:
德意志銀行高管:比特幣火爆背后,銀行賬戶或將在5年內消失:德意志銀行高管馬庫斯申克認為,現在我們所熟悉的銀行賬戶可能會在短短五年內消失。“科技正在以不同的方式影響我們經營的業務,”申克指出零售銀行業務正“面臨一個全新的正常演變。”[2018/3/23]
(1)對 GPT 進行提問:
(2)GPT-3.5(Web) answer
(3)GPT-3.5-turbo-0301 answer
(4)GPT-4(Web) answer
區塊鏈概念持續火爆,板塊內再現漲停潮:區塊鏈概念持續火爆,板塊內再現漲停潮。截至發稿,滬指上漲0.1%,報收3425點;深成指上漲0.24%,報收11464點;創業板上漲0.73%,報收1804點。從盤面上看,區塊鏈等板塊漲幅居前。[2018/1/11]
可以看到結果:3 個測試版本都發現了關鍵的 tx.origin 相關問題。
測試二
用例:《智能合約安全審計入門篇 —— 溢出漏洞》
(1)對 GPT 進行提問:
區塊鏈概念行情火爆 區塊鏈概念股掀漲停潮:受外圍市場區塊鏈概念股持續大熱影響,A股市場上區塊鏈概念近日表現搶眼。區塊鏈指數昨日放量大漲5.88%,創該指數近一年來最大單日漲幅,同時成交量創歷史新高。區塊鏈概念股全線飄紅,18只個股漲幅在5%以上,其中10只個股相繼漲,包括廣電運通、遠光軟件、四方精創、易見股份、新晨科技、高偉達、飛天誠信、安妮股份等。從資金流向看,主力資金搶籌跡象較為明顯,昨日區塊鏈概念股整體主力資金凈流入16.03億元,7只個股主力資金凈流入逾億元,分別是利歐股份、恒生電子、廣電運通、游久游戲、浙大網新、飛天誠信、贏時勝。其中,利歐股份主力資金凈流入1.78億元,位居首位,該股昨日午后被拉升至漲停板,最新股價逼近60日線。[2018/1/11]
可以看到 GPT-3.5(Web)、GPT-3.5-turbo-0301 都發現了關鍵的 Overflow 漏洞,出乎意料的是 GPT-4(Web) 居然沒有相關提示。
區塊鏈概念行情火爆,多家公司回應參與情況:其中,漢王科技表示,目前暫時沒有該業務領域的布局。華誼嘉信表示,暫未涉足區塊鏈應用領域。浪潮信息、電連技術均表示未涉及區塊鏈板塊。第一創業則表示,是深圳市金融區塊鏈聯盟的發起會員,一直在參與區塊鏈在證券行業應用的相關課題研究,并在積極尋找合適的應用場景應用。萬達信息智慧城市業務涉及區塊鏈技術。[2018/1/10]
測試三
用例:《空手套白狼 —— Popsicle 被黑分析》
對比結果,我們可以看到 3 個版本都未發現關鍵的漏洞點。
數字貨幣市場日益火爆 ETC或將迎來新的暴漲:進入12月份以來,數字貨幣市場進入了一個癲狂狀態,各種主流的數字貨幣一路狂飆,屢創新高。比特幣從6萬人民幣一周之內迅速暴漲至12萬人民幣,緊隨其后的是萊特幣和以太坊,萊特幣價格飆升至2000元的歷史最高點,以太坊價格上漲了一倍達到5000元的高點,瑞波幣也不甘寂寞兩天價格翻3番,刷新歷史最高紀錄。作為數字貨幣第二梯隊的萊特幣、瑞波幣均已經出現價格的暴漲,那么同為第二梯隊的以太經典(ETC)也多次嘗試價格上的突破。現以太經典最新成交價格為193.52元,最高價格達225.76元,最低價格174.67元。[2017/12/15]
代碼片段的檢測總結
可以看到 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
原文作者:DX, Henry Ang, Mustafa Yilham, Allen Zhao, Jermaine Wong & Jinhao.
1900/1/1 0:00:00原文標題:一文讀懂以太坊二層項目Arbitrum原文作者:火必研究院 Stefanie 目錄 1. 項目情況介紹 1.1 技術方案及特點 2. Arbitrum 現狀 3. 技術升級 4.
1900/1/1 0:00:00作者:Colin Wu 本文內容僅用于信息分享,不對任何經營與投資行為進行推廣與背書,請讀者嚴格遵守所在地區法律法規按照香港證監會的最新要求,持牌平臺營運者如有意向零售客戶提供虛擬資產.
1900/1/1 0:00:00作者:閃電HSL 前幾天(2023年3月下旬)我和幾個朋友現場聊天,我口若懸河地吹噓ChatGPT哪哪牛逼。一位朋友打斷我,叫我現場問chatGPT一個問題.
1900/1/1 0:00:00來源:機器之心 ChatGPT 是個「智商超高」的人工智能,經過 GPT-4 內核的升級版更是如此.
1900/1/1 0:00:00▌ 去中心化交易所Orca將從3月31日開始限制美國訪問金色財經報道,據官方公告,Solana生態去中心化加密貨幣交易所Orca從3月31日開始限制美國交易員訪問.
1900/1/1 0:00:00