2022年11月,OpenAI推出了創新的人工智能項目。
除了可用于進行文章的撰寫和總結、笑話和詩歌的創作以外,ChatGPT還可以用來調試和生成代碼。
2022年全年,Web3.0領域因黑客攻擊和欺詐等事件造成的資產損失超過了37億美元,這樣巨額損失不禁讓業內人思考:如ChatGPT這樣的新技術是否可以用以改善智能合約代碼的安全性。
ZKasino是一個去中心化的平臺,近期通過ChatGPT進行了一次預審計。
ZKasino希望在CertiK開展全面審計的同時,讓CertiK為ChatGPT所得出的結果進行一個初步的審查,以測試ChatGPT作為AI「智能合約審計師」的能力。
那么ChatGPT的測試結果如何呢?
其是否已經準備好接替人工代碼審計專家的工作?
或者說它仍不足以完全替代人工?
三星電子禁止員工使用ChatGPT等生成式AI,擬推出內部工具:5月2日消息,出于安全考慮,三星電子已禁止員工使用ChatGPT、Google Bard和Bing等流行的生成式AI工具,正準備推出內部工具。
公司內部備忘錄顯示,三星電子擔心傳輸到生成式AI平臺的數據被存儲在外部服務器上,導致其難以被追回和刪除,并可能最終被泄露給其他用戶。三星電子的新規禁止在公司所屬的電腦、平板電腦、電話及內部網絡使用生成式AI系統,但不影響出售給消費者的設備,由用戶自行決定。
此前,摩根大通、美國銀行和花旗等華爾街大行已禁止或限制使用ChatGPT。(金十)[2023/5/2 14:38:28]
2022年12月23日,ZKasino「聘請」了ChatGPT來識別智能合約中潛在的安全風險。該工具也的確提出了幾個表面上聽起來很合理的風險擔憂。
然而,盡管ChatGPT不可否認地為Web3.0安全社區提供了一些有價值的服務,但是我們發現其仍有相當大的改進空間——ChatGPT遺漏了一些嚴重或關鍵性的漏洞,同時又「誤傷」了那些沒問題的代碼。在此,我們希望CertiK安全專家的深度數據和建議能夠助力ChatGPT成為一個更強大的Web3.0應用安全工具。
BNB Chain將于2023年上半年探索zkBNB、Optimistic Rollup等拓展解決方案:2月16日消息,據 BNB Chain 2023 年路線圖內容顯示,BNBChain 將于 2023 年上半年通過啟動 ZkBNB 以及 Optimistic Rollup 主網來探索多樣化的網絡擴展解決方案,為不同的業務案例提供更多選擇。ZkBNB 以及 Optimistic Rollup 主網都將繼續使用 BNB 作為 Gas Token,Optimistic Rollup 主網的網絡吞吐量大約在 5000-10000Tps/s,Gas 將比 BSC 更少。[2023/2/16 12:10:54]
下文,我們將為大家詳細介紹此次事件中ChatGPT的兩類錯誤發現。
ChatGPT發現了合約中的哪些問題?
ChatGPT遺漏了什么
嚴重或關鍵性的漏洞?
“大空頭”Michael Burry:對加密交易所的審計是“毫無意義的”:金色財經報道,投資公司Scion Asset Management創始人Michael Burry周五表示,對加密貨幣交易所(包括Binance和倒閉的交易所FTX)的儲備證明(POR)審計毫無意義。在評論會計師事務所Mazars Group停止對加密貨幣公司的儲備證明審計時,Burry在推特上寫道:這就是問題所在。2005年,當我開始使用一種新的信用違約互換時,我們的審計師正在邊做邊學。
此前Binance首席執行官趙長鵬在接受采訪時談到對其交易所POR的擔憂,他還聲稱大多數會計師事務所不知道如何審計加密貨幣交易所。(news.bitcoin)[2022/12/17 21:50:55]
ChatGPT提到了在許多智能合約實現中都會存在的幾個常見安全問題。
但是,它未能識別某些嚴重的風險,包括:
項目特定的邏輯漏洞
不準確的數學計算和統計模型
代碼實現和項目設計的不一致
漏洞#1:項目特定的邏輯問題
去中心化DeFi應用Chainge Finance與1inch達成合作:據官方消息,去中心化DeFi應用Chainge Finance已完成與 DEX 聚合器 1inch 的整合。通過此次與 1inch 的合作,Chainge 用戶將可以在數個網絡上獲得深度的跨鏈流動資金,這些網絡包括:以太坊、BNB Chain、Polygon、Arbitrum、Optimism、Gnosis、Avalanche 和 Fantom。目前Chainge平臺可交易幣種提升至近 200 種。[2022/6/15 4:27:59]
ChatGPT未能識別出一個關鍵漏洞,該漏洞會導致攻擊者可以不斷地贏取并耗盡Bankroll合約中用戶的資金。玩家可以通過調用可驗證隨機函數加入游戲,Chainlink的VRF會使用隨機數觸發fulfillRandomWords()函數以完成游戲。
ZKasino的代碼允許用戶在fulfillRandomWords()調用失敗的情況下將資金取回。
MXC抹茶即將上線BCHA和BCHN,并支持BCH分叉兌換:據官方公告,10月31日20:00,MXC抹茶上線BCHA和BCHN,開放USDT交易,并將上線BCHA/USDT、BCHN/USDT期貨交易。現已開啟BCH分叉兌換功能。11月15日正式分叉前,在MXC抹茶持有BCH,可將BCH1:1兌換為BCHA和BCHN,同時也可以在11月15日前同比例反向兌換回BCH。分叉鏈有歸零風險,請投資者謹慎參與。[2020/10/30 11:16:25]
在CertiK對同一智能合約代碼的審查中,發現了一個潛在且有害的_transferPayout()調用,該函數被設計為可將贏取的資金轉移至玩家的賬戶。
然而攻擊者可以在輸了的時候調用_transferPayout()使其回滾,導致整個fulfillRandomWords()調用失敗——這會使其進入長為100個區塊的等待期,繼而觸發CoinFlip_Refund()進行退款,這意味著攻擊者相當于永遠不會輸錢。
雖然ChatGPT認識到了調用失敗的問題,但卻未能發現在這個項目中利用調用失敗的攻擊手法。
因此,ChatGPT沒有發現該漏洞與項目邏輯相結合所產生的影響。有關具體攻擊流程的描述,請參閱ZKasino的完整審計報告。
漏洞#2:不準確的數學計算和統計模型
確保滿足合理預期的隨機性和結果在任何游戲項目中都至關重要。為了證實這一點,需要在審計過程中對所有游戲結果的隨機性進行全面評估。
盡管ChatGPT同樣「認同」這一點的重要性,但它并未發現任何不公平的游戲結果。它提出了VRF的使用,以及如果VRF合約被破壞或被操縱,可能會出現不公平的結果:
“如果VRF合約不安全或被操縱,則可能會導致游戲出現不公平的結果。”
然而,這個結論僅僅只是一個結論,并沒有真正解決導致游戲結果不公平的根本原因。而且我們在審計過程中也發現了一些關于隨機性的潛在風險問題。
不公平的隨機性
發現的其中一個關于隨機性的中等級別風險是VideoPoker游戲中不公平的隨機數使用問題,玩家獲得某些牌的機會較少。
小數截斷
另一個風險問題是在骰子類游戲中發現的,它允許玩家選擇特定的倍數來使他們的預期收益最大化。
漏洞#3:代碼實現和項目設計的不一致
ChatGPT往往能夠理解單一函數的實現,卻無法理解這樣寫的根本原因。
例如,它可能了解某個函數在技術層面是怎樣執行的,但他無法理解在整個智能合約中,該函數有著什么樣的目的。
為了確保ChatGPT在編碼中不出問題,它需要更好地理解智能合約的代碼邏輯。
就目前的情況而言,ChatGPT提供的是對代碼的表面閱讀。為了使其審計工作和水平更上一層樓,它必須學會從一個函數反向推導出其初始邏輯——這點非常重要。
不正確的輸入驗證
我們在Plinko合約中發現了一個輸入驗證問題,導致倍數設置不正確。
根據ZKasino的說法,Plinko中使用的行數應該是8到16。但是,由于以下檢查中的錯誤,Bankroll合約所有者可以通過函數setPlinkoMultipliers()設置一個超出預期范圍的行數值。
代碼顯示,如果numRows和risk均不滿足條件,該流程將被回滾。
但是,如果兩個條件中只有一個不滿足,那么檢查仍然會通過,并且代碼不會被回滾。
ChatGPT在回答第二個問題時給出了不同的答案:該函數檢查“numRows”的值是否在8到16之間,以及“risk”的值是不是小于3。如果不滿足上述任一條件,函數將返回錯誤“InvalidNumberToSet”。
ChatGPT似乎理解了這個函數的目的。然而,它并不具備相應的應用程序知識,在沒有額外信息的情況下也無法識別真正的漏洞。
值更新的不一致
在Slots合約中,發現了與totalValue更新不一致相關的問題,這可能導致游戲過早結束。totalValue用于監控用戶的輸贏,但它只跟蹤了支付情況,卻未從實際游戲中扣除,導致用戶的損益計算錯誤。
寫在最后
盡管經過了相應培訓,但ChatGPT在其審計中還是遺漏了某些關鍵性的安全問題。這是由于人工智能在充分理解代碼的復雜性和細微差別方面的局限性,以及其缺乏在現實場景中的實踐經驗。
正如其官網所述,ChatGPT是一個依賴自然語言處理進行對話的研究版本。它通常無法像人類審計專家那樣去理解代碼背后的意圖和邏輯推理。
因此,重要的是需要通過經驗豐富的安全專家的手動審計來補充ChatGPT分析的不足之處,以確保全面的準確性。
下圖強調了基于人工的服務以及ChatGPT在各種標準上的優勢和劣勢。
就像是我們使用百度翻譯一樣,英文翻譯結果的準確性往往取決于我們的中文措辭——ChatGPT回答的有效性在很大程度上取決于prompt的格式。
在本文中,我們將ZKasino與ChatGPT交互的預審計結果和CertiK專家執行的最終審計結果進行了比較。
隨著技術的進步和對prompt工程的更清晰的理解,工程師將能夠更好地利用ChatGPT。
在CertiK官方公眾號接下來發布的內容中,我們將會就如何向ChatGPT提出有效問題來與大家探討prompt工程的更多深入性內容。
但是現在,ChatGPT甚至已經可以幫助我們參加奪旗比賽了:歡迎大家點擊閱讀!
早在2020年,專注于區塊鏈技術的投資公司FourthRevolutionCapital就提出了“區塊鏈和人工智能將成為第四次工業革命的核心新興技術”的觀點.
1900/1/1 0:00:00各位朋友,歡迎來到SignalPlus每日晨報。SignalPlus晨報每天為各位更新宏觀市場信息,并分享我們對宏觀趨勢的觀察和看法。歡迎追蹤訂閱,與我們一起關注最新的市場動態.
1900/1/1 0:00:00悉尼先驅晨報報道稱,澳大利亞第一大商業銀行——澳大利亞聯邦銀行首席財務官RobJesudason已經在本周一宣布離職,并加入知名區塊鏈軟件公司Block.one擔任總裁兼首席運營官.
1900/1/1 0:00:00各位朋友,歡迎來到SignalPlus每日晨報。SignalPlus晨報每天為各位更新宏觀市場信息,并分享我們對宏觀趨勢的觀察和看法。歡迎追蹤訂閱,與我們一起關注最新的市場動態.
1900/1/1 0:00:00引言 以太坊的崛起,為DeFi生態起到了開天辟地的作用。從最早ICO,項目通過以太坊智能合約出售首次發行的代幣進行融資,迎來了ICO浪潮,觸發了2017~2018年的加密貨幣牛市,為之后的DeF.
1900/1/1 0:00:00如果把Builder經濟放在人類文明演進的高度,它帶來的是經濟系統變革基礎:氏族部落、農耕文明、工商文明、科技/信息文明、數字文明、星際文明……我們有機會以「區塊鏈/Web3的分布式/去中心化、.
1900/1/1 0:00:00