比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > USDT > Info

CHA:ChatGPT的Web3.0安全審計藝術:有點東西,但不完全有-ODAILY

Author:

Time:1900/1/1 0:00:00

2022年11月,OpenAI推出了創新的人工智能項目。

除了可用于進行文章的撰寫和總結、笑話和詩歌的創作以外,ChatGPT還可以用來調試和生成代碼。

2022年全年,Web3.0領域因黑客攻擊和欺詐等事件造成的資產損失超過了37億美元,這樣巨額損失不禁讓業內人思考:如ChatGPT這樣的新技術是否可以用以改善智能合約代碼的安全性。

ZKasino是一個去中心化的平臺,近期通過ChatGPT進行了一次預審計。

ZKasino希望在CertiK開展全面審計的同時,讓CertiK為ChatGPT所得出的結果進行一個初步的審查,以測試ChatGPT作為AI「智能合約審計師」的能力。

那么ChatGPT的測試結果如何呢?

其是否已經準備好接替人工代碼審計專家的工作?

或者說它仍不足以完全替代人工?

Konomi在測試網集成Chainlink OraclePallet:據Chainlink官方消息,基于Substrate的鏈Konomi已在測試網上集成Chainlink OraclePallet,將向Konomi提供高質量且抗閃電貸的喂價,以在波卡生態系統上支持其去中心化的流動資產和貨幣市場。[2021/6/18 23:46:25]

2022年12月23日,ZKasino「聘請」了ChatGPT來識別智能合約中潛在的安全風險。該工具也的確提出了幾個表面上聽起來很合理的風險擔憂。

然而,盡管ChatGPT不可否認地為Web3.0安全社區提供了一些有價值的服務,但是我們發現其仍有相當大的改進空間——ChatGPT遺漏了一些嚴重或關鍵性的漏洞,同時又「誤傷」了那些沒問題的代碼。在此,我們希望CertiK安全專家的深度數據和建議能夠助力ChatGPT成為一個更強大的Web3.0應用安全工具。

下文,我們將為大家詳細介紹此次事件中ChatGPT的兩類錯誤發現。

ChatGPT發現了合約中的哪些問題?

共為2020 | ChainUP創始人兼CEO鐘庚發:去中心化存儲是未來一大趨勢,中長期來看以太坊也非常有潛力:金色財經現場報道,2020年6月21日,由金色財經主辦的共為2020·區塊鏈創新應用論壇在深圳拉開帷幕。ChainUP創始人兼CEO鐘庚發在《十年一顧 再談共識》圓桌對話中指出,去中心化存儲是未來一大趨勢。在以太坊這類去中心化的系統上,應用場景更加容易落地,但隱私數據的存儲、政府機構和企業數據的存儲問題亟待解決。要解決這些問題,首先要解決數據的保護和加密。我們會成立一個基金專門投入這個方向,這是我個人比較看好的。中長期來看,以太坊也是一個非常有潛力的方向,2.0讓我們看到了它發展的后勁。[2020/6/21]

ChatGPT遺漏了什么

嚴重或關鍵性的漏洞?

ChatGPT提到了在許多智能合約實現中都會存在的幾個常見安全問題。

但是,它未能識別某些嚴重的風險,包括:

Algorand基金會與Chainalysis達成合作,加強反洗錢合規解決方案:6月11日,Algorand基金會宣布與區塊鏈分析公司Chainalysis達成合作。Algorand基金會將集成Chainalysis的KYT(了解你的交易)功能來進行交易監控和合規流程,并使用Chainalysis Reactor調查工具來加強對Algorand代幣ALGO的詳盡調查。[2020/6/12]

項目特定的邏輯漏洞

不準確的數學計算和統計模型

代碼實現和項目設計的不一致

漏洞#1:項目特定的邏輯問題

ChatGPT未能識別出一個關鍵漏洞,該漏洞會導致攻擊者可以不斷地贏取并耗盡Bankroll合約中用戶的資金。玩家可以通過調用可驗證隨機函數加入游戲,Chainlink的VRF會使用隨機數觸發fulfillRandomWords()函數以完成游戲。

ZKasino的代碼允許用戶在fulfillRandomWords()調用失敗的情況下將資金取回。

動態 | InsurChain宣布成立生態戰略基金:據InsurChain(INSUR)消息, InsurChain及合作方今日宣布聯合成立了InsurFund生態戰略基金,該基金將主要用于投資孵化基于InsurChain主網開發的區塊鏈應用項目,以及InsurChain產業鏈上下游項目和保險區塊鏈相關優質項目等。[2018/7/18]

在CertiK對同一智能合約代碼的審查中,發現了一個潛在且有害的_transferPayout()調用,該函數被設計為可將贏取的資金轉移至玩家的賬戶。

然而攻擊者可以在輸了的時候調用_transferPayout()使其回滾,導致整個fulfillRandomWords()調用失敗——這會使其進入長為100個區塊的等待期,繼而觸發CoinFlip_Refund()進行退款,這意味著攻擊者相當于永遠不會輸錢。

雖然ChatGPT認識到了調用失敗的問題,但卻未能發現在這個項目中利用調用失敗的攻擊手法。

因此,ChatGPT沒有發現該漏洞與項目邏輯相結合所產生的影響。有關具體攻擊流程的描述,請參閱ZKasino的完整審計報告。

麻省理工學院Digital Currency Initiative項目區塊鏈研究顧問兼CoinDesk顧問董事Michael J. Casey猜測:Facebook可能會發行數字代幣FBCoin:日前,麻省理工學院Digital Currency Initiative項目區塊鏈研究顧問兼知名區塊鏈媒體CoinDesk顧問董事Michael J. Casey猜測Facebook可能會發行數字代幣FBCoin,而且還預測了Facebook數字代幣模式:先預挖一個大型數字代幣池,然后向股東分配大多數FBCoin,再根據原創內容等指標把剩下的分銷給用戶。之后,Facebook公司可能會要求平臺廣告必須使用FBCoin支付,繼而形成一個市場,用戶也可以通過自己的內容創作來賺錢。FBCoin價格會基于需求和供給,與美元掛鉤。[2018/1/23]

漏洞#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甚至已經可以幫助我們參加奪旗比賽了:歡迎大家點擊閱讀!

Tags:CHAATGCHATHATPOPCHAIN CASHCatgirl AIChat AICHAT幣

USDT
ENU:EOS的最大對手會是一個免費空投幣嗎?

編者按:本文來源于巴比特,星球日報經授權轉載“富人的EOS,窮人的ENU。”這句玩笑話正在社區悄然流行。在EOS社區的所有目光聚焦在超級節點競選上時,周圍的一支力量正蓄勢待發.

1900/1/1 0:00:00
LID:為什么Lido V2升級對LSD賽道很重要?-ODAILY

這一主題將涵蓋:回顧Lido、Lido的一些關鍵指標、V2做了哪些更新、潛在影響以及如何參與。在我們進入LidoV2之前,讓我們快速回顧一下LidoFinance是什么.

1900/1/1 0:00:00
RON:波場TRON交易總數突破50億-ODAILY

據區塊鏈瀏覽器TRONSCAN數據,截至3月6日,波場TRON交易總數達到5,012,336,640,正式突破50億.

1900/1/1 0:00:00
數字貨幣:購買數字貨幣理財產品爆雷虧損,法律規定:風險自擔-ODAILY

1、數字貨幣不被承認其合法性年前的時候,有一位數字貨幣的玩家因為平臺出現問題,來咨詢我們想要進行刑事報案以維護自己的權益,但是一路聽下來再加上我的詢問,發現他的維權之路可能沒有那么簡單.

1900/1/1 0:00:00
TOR:Solidity編譯器中高危漏洞:誤刪狀態變量賦值-ODAILY

本文從源代碼層面詳解介紹了Solidity(0.8.13<=solidity<0.8.17)編譯器在編譯過程中.

1900/1/1 0:00:00
RWA:RWA成為DeFi新敘事:2023年成為代幣化拐點之年?

在過去幾年中,RWA的敘事一直處于沉寂狀態,但最近它開始走紅。許多傳統金融機構都開始布局RWA領域,如J.P.Morgan在Polygon區塊鏈上使用日元和新加坡元的代幣化版本執行了第一筆實時交.

1900/1/1 0:00:00
ads