2022年11月,OpenAI推出了創新的人工智能項目。
除了可用于進行文章的撰寫和總結、笑話和詩歌的創作以外,ChatGPT還可以用來調試和生成代碼。
2022年全年,Web3.0領域因黑客攻擊和欺詐等事件造成的資產損失超過了37億美元,這樣巨額損失不禁讓業內人思考:如ChatGPT這樣的新技術是否可以用以改善智能合約代碼的安全性。
ZKasino是一個去中心化的平臺,近期通過ChatGPT進行了一次預審計。
ZKasino希望在CertiK開展全面審計的同時,讓CertiK為ChatGPT所得出的結果進行一個初步的審查,以測試ChatGPT作為AI「智能合約審計師」的能力。
那么ChatGPT的測試結果如何呢?
其是否已經準備好接替人工代碼審計專家的工作?
或者說它仍不足以完全替代人工?
Polychain Capital創始人:Coinbase被市場低估了:12月17日消息,加密金融公司 Polychain Capital 創始人兼首席信息官 Olaf Carlson-Wee 在接受CBDC的采訪時提到:“目前加密行業有很多質量很高的私人控股的公司,比如Coinbase,我認為它被市場低估了,目前很多傳統互聯網巨頭的人才都在向加密行業流動,這就是一個很明顯的跡象和趨勢。”
此前,Facebook 全球品牌和產品營銷前負責人、Facebook產品設計經理、Google Pay高級工程總監等人都從傳統行業離職加入Coinbase。(cnbc)[2021/12/17 7:45:52]
2022年12月23日,ZKasino「聘請」了ChatGPT來識別智能合約中潛在的安全風險。該工具也的確提出了幾個表面上聽起來很合理的風險擔憂。
然而,盡管ChatGPT不可否認地為Web3.0安全社區提供了一些有價值的服務,但是我們發現其仍有相當大的改進空間——ChatGPT遺漏了一些嚴重或關鍵性的漏洞,同時又「誤傷」了那些沒問題的代碼。在此,我們希望CertiK安全專家的深度數據和建議能夠助力ChatGPT成為一個更強大的Web3.0應用安全工具。
OEF獲得Chainlink贈款,以建立開源地球大氣二氧化碳濃度預言機:據官方消息,為支持綠色金融項目的混合智能合約,Chainlink社區贈款計劃將向Open Earth Foundation(簡稱OEF)授予一筆社會影響贈款。OEF是一家總部位于美國的研究和部署基金會,利用數字技術提高地球的抵御能力。這筆資金將用于創建一個開源數據饋送,測量地球大氣中的二氧化碳濃度,并通過OEF運行的Chainlink預言機節點在主流區塊鏈中提供數據。[2021/7/30 1:25:21]
下文,我們將為大家詳細介紹此次事件中ChatGPT的兩類錯誤發現。
ChatGPT發現了合約中的哪些問題?
ChatGPT遺漏了什么
嚴重或關鍵性的漏洞?
ChatGPT提到了在許多智能合約實現中都會存在的幾個常見安全問題。
但是,它未能識別某些嚴重的風險,包括:
Gate于6月10日開啟投票上幣項目第148期Pirate Chain:據官方公告,Gate已于6月10日(今日)16:00開啟投票上幣項目第148期Pirate Chain (ARRR),投票截止時間至2021年6月11日14:00。在本輪投票中,ARRR如獲得1000萬票,Gate會上線ARRR對USDT交易,參與投票的用戶均可分享總計1,910 ARRR(10,000美金)獎勵。[2021/6/10 23:27:58]
項目特定的邏輯漏洞
不準確的數學計算和統計模型
代碼實現和項目設計的不一致
漏洞#1:項目特定的邏輯問題
ChatGPT未能識別出一個關鍵漏洞,該漏洞會導致攻擊者可以不斷地贏取并耗盡Bankroll合約中用戶的資金。玩家可以通過調用可驗證隨機函數加入游戲,Chainlink的VRF會使用隨機數觸發fulfillRandomWords()函數以完成游戲。
ZKasino的代碼允許用戶在fulfillRandomWords()調用失敗的情況下將資金取回。
聲音 | 瑞幸:與“RXChain瑞幸鏈”沒有任何關系:針對“RXChain瑞幸鏈”的相關報道,瑞幸咖啡回應稱,“RXChain瑞幸鏈” 和瑞幸咖啡沒有任何關系。瑞幸咖啡聯合創始人郭謹一也從未參與該公司的任何工作。瑞幸指出,近期,個別人/或組織假冒瑞幸咖啡(中國)有限公司在社會上發行“RXChain瑞幸鏈” 并進行虛假宣傳。上述行為已經嚴重侵害了瑞幸咖啡的合法權益。(TechWeb)[2019/10/28]
在CertiK對同一智能合約代碼的審查中,發現了一個潛在且有害的_transferPayout()調用,該函數被設計為可將贏取的資金轉移至玩家的賬戶。
然而攻擊者可以在輸了的時候調用_transferPayout()使其回滾,導致整個fulfillRandomWords()調用失敗——這會使其進入長為100個區塊的等待期,繼而觸發CoinFlip_Refund()進行退款,這意味著攻擊者相當于永遠不會輸錢。
動態 | 比亞迪與VeChain合作 將共同開發碳銀行業解決方案:今日在比亞迪全球開發者大會上,比亞迪宣布將在VeChainThor公共區塊鏈平臺上與DNV GL和VeChain共同開發碳銀行業解決方案。[2018/9/5]
雖然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甚至已經可以幫助我們參加奪旗比賽了:歡迎大家點擊閱讀!
據coindesk報道,一家位于紐約的初創公司GoTenna將在今年夏天推出一個安卓應用程序txTenna,用戶可以在沒有互聯網連接的情況下發起數字貨幣交易.
1900/1/1 0:00:00在2022年,Web3行業因智能合約漏洞、橋接黑客攻擊、網絡釣魚等安全問題所造成的損失創歷史新高.
1900/1/1 0:00:00目前的Rollup架構仍然依賴于中心化排序器來處理交易順序,并存在著被審查和停機風險,因此急需一種簡單方便的去中心化解決方案.
1900/1/1 0:00:00瑞士盧加諾市推出比特幣主題的共享工作空間瑞士盧加諾市推出比特幣主題的共享辦公空間。據悉,盧加諾新的以比特幣和點對點為重點的聯合辦公空間位于市中心,交通便利,將把這座城市提升到一個新的水平,成為加.
1900/1/1 0:00:00摘要 本文,ArthurHayes闡述了美國銀行系統當前的困境,大而不倒類型的銀行即使出現資金問題,也能在政府的各種援助方案下獲得兜底,而非TBTF類型的小銀行可能就沒有那么幸運.
1900/1/1 0:00:00加密貨幣交易平臺BitMEX概述了未來幾個月加密貨幣行業可能出現的三種情況。該公司認為美聯儲很可能在年底前停止加息,引發資金流入全球資本市場和避險資產.
1900/1/1 0:00:00