前言
近期 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》
漏洞代碼:
動態 | 區塊鏈、股權轉讓概念持續火爆 相關上市公司備受市場青睞:據證券市場周刊報道,上半周,兩市熱點題材萎靡,區塊鏈、股權轉讓、殼資源是僅存的幾個亮點。消息面上,11月8日,《上市公司證券發行管理辦法》、《創業板上市公司證券發行管理暫行辦法》等再融資規則發布,股權轉讓概念受關注,區塊鏈則是自10月底以來持續火爆的概念。上市公司中兼具兩個概念的為數不多,如恒久科技(11.600,-0.19,-1.61%)(002808)近日收購信息安全企業閩保股份正式涉鏈就被市場所挖掘;九鼎新材(23.720,0.71,3.09%)(002201)則再度霸占股權轉讓概念上漲榜。[2019/11/13]
(1)對 GPT 進行提問:
(2)GPT-3.5(Web) answer
(3)GPT-3.5-turbo-0301 answer
獨家 | Fomo3D第一輪大獎贏家揭曉 同類DAPP游戲或將再度火爆:第三方大數據評級機構RatingToken最新數據顯示,2018年8月21日全球共新增2014個合約地址,其中271個為代幣型智能合約。
另外RatingToken安全審計團隊專家指出,Fomo3D第一輪已經結束,獲獎者共獲得了10,469.660003123933104565個ETH。最后一筆有效買入交易發生在開獎前16分鐘,考慮到擁堵情況和參與者熱情,獲獎者操作極難復制。同時巨額利潤可能引起山寨類Fomo3D游戲再次爆發,參與此類游戲一定要注意智能合約代碼是否公開,合約安全是否有保障。特此提醒投資者需保持冷靜仔細甄別,警惕幸存者偏差誤導投資。
此外,昨日登上新增合約風險榜TOP10的合約包括Le Photon Token(LPT)、Relative Strengthening Index (RSI)、Your MOM(YMOM)、f3dplus(f3dplus)、JyagaEbiCoin(JEC)、FoMo3D Long Official(F3D)、FOMO Fast(FAST)、Okami PK Long Official(Okami)、SKW(SKW)和LandOwner VS Peasant(Land)。
如需查看更多智能合約檢測結果,請查看原文鏈接。[2018/8/22]
INT chain主鏈全球公測,答題送20萬INT糖果火爆進行中:為慶祝INT chain主鏈進行全球公測,連續多場贈送糖果活動正在進行中,用戶進入INT官方社群即可進行參與。INT chain是一個基于物聯網區塊鏈的項目,目標是要做一條可以中繼不同的物聯網的公鏈,形成邊緣計算網絡,有效流通資源,加快物聯網普及進度。大幅降低物聯網區塊鏈應用的開發難度,致力于使物聯網區塊鏈內化成如同 TCP/IP 一樣的物聯網基礎架構。INT將圍繞工業制造、無人駕駛、物聯網+區塊鏈避開交通堵塞、公共技術設施和智能城市等應用場景發力。[2018/5/10]
(4)GPT-4(Web) answer
可以看到結果:3 個測試版本都發現了關鍵的 tx.origin 相關問題。
測試二
用例:《智能合約安全審計入門篇 —— 溢出漏洞》
區塊鏈私募火爆 機構正在入場:近日,區塊鏈項目私募的火熱再次吸引了不少投資者的關注,而在今日,多位圈內大咖推出了門檻為500ETH的私募投資群,并表示入群者可以拿到市面上拿不到的私募額度。同時,郭宏才在微博表示有機構正在入場,網友認為,這是在花式割韭菜,不過也有人認為,這可能意味著大資金會進入場內。 ?[2018/1/2]
(1)對 GPT 進行提問:
數字貨幣市場日益火爆 ETC或將迎來新的暴漲:進入12月份以來,數字貨幣市場進入了一個癲狂狀態,各種主流的數字貨幣一路狂飆,屢創新高。比特幣從6萬人民幣一周之內迅速暴漲至12萬人民幣,緊隨其后的是萊特幣和以太坊,萊特幣價格飆升至2000元的歷史最高點,以太坊價格上漲了一倍達到5000元的高點,瑞波幣也不甘寂寞兩天價格翻3番,刷新歷史最高紀錄。作為數字貨幣第二梯隊的萊特幣、瑞波幣均已經出現價格的暴漲,那么同為第二梯隊的以太經典(ETC)也多次嘗試價格上的突破。現以太經典最新成交價格為193.52元,最高價格達225.76元,最低價格174.67元。[2017/12/15]
可以看到 GPT-3.5(Web)、GPT-3.5-turbo-0301 都發現了關鍵的 Overflow 漏洞,出乎意料的是 GPT-4(Web) 居然沒有相關提示。
測試三
用例:《空手套白狼 —— Popsicle 被黑分析》
對比結果,我們可以看到 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
作者寄語: (1) Arbitrum 基金會和 DAO Governance為Arbitrum One 和Arbitrum Nova網絡啟動.
1900/1/1 0:00:00數據驅動的DeFi研究員,收集了30個優秀加密協議的最新進展,頗具研究價值。 Lido Lido V2 最值得期待的特性:Staking Router / 質押路由器:允許任何人通過.
1900/1/1 0:00:00來源:DroomDroom編譯:比推BitpushNews Mary Liu以太坊將在 4 月 12 日迎來“Shapella 升級”(上海升級“EIP-4895”).
1900/1/1 0:00:00凌晨兩點半,你還在我身邊,……凌晨兩點半,你不在我身邊,……你以為,我唱的是,臺灣歌手張信哲那首叫《寬容》的歌曲么? 不不不,我唱的是,投資者和美聯儲的關系.
1900/1/1 0:00:00一個多月前,想要探索比特幣 NFT 世界,需要下載安裝 Bitcoin Core,花費可能數日的時間等待同步比特幣誕生至今的所有區塊數據.
1900/1/1 0:00:00頭條 ▌ 美聯儲宣布加息25個基點 鮑威爾:正在繼續大幅縮減資產負債表 今年不會降息金色財經報道,美聯儲宣布加息25個基點,將聯邦基金利率目標區間上調至4.75%~5%.
1900/1/1 0:00:00