「新晉網紅」ChatGPT可以檢測智能合約漏洞嗎

一夕之間,ChatGPT 突然火了,並在互聯網上掀起了一場“AI 風暴”

所謂 ChatGPT,是在今年 11 月 30 日,由人工智能實驗室 OpenAI 上線的新模型。

目前用戶與 ChatGPT 之間的對話互動包括了普通聊天、信息諮詢、撰寫詩詞作文、修改代碼等,甚至令用戶產生 ChatGPT 能否取代谷歌等搜索引擎的疑慮。

今天,我們就來研究一下爆火的 ChatGPT 究竟是什麼?以及能不能檢測智能合約漏洞?

在互聯網上掀起了一場“AI 風暴”的 ChatGPT 究竟是什麼?

據官網介紹,計算模型 GPT-3.5 支持的通用聊天機器人 ChatGPT,能回答連續性的問題、承認自己的錯誤、質疑不正確的假設,甚至拒絕不合理的需求。

從寫劇本、寫詩、設計遊戲,到給程序找 bug,乃至制定一份“毀滅人類”的計劃,這個 AI 能做的事情超乎想像。

美國企業家馬斯克詢問了 ChatGPT 如何設計 Twitter,AI 回答稱:“為了使用戶更容易查看線程互聯網對話並與之交互,你可以將線性一維界面轉換為二維無限網格。”

12 月 5 日,OpenAI 創始人兼 CEO 阿爾特曼(Sam Altman)發布推文表示,ChatGPT 用戶數已突破了 100 萬。

許多人已經測試了聊天功能,並一直在社交媒體上分享他們的交流。 ChatGPT 似乎也給科技億萬富翁埃隆·馬斯克留下了深刻印象,他在推特上寫道:“ChatGPT 好得嚇人。我們離危險的強大人工智能不遠了。”

image

技術公司 Replit 的創始人 Amjad Masad 還給 ChatGPT 發了一段 JavaScript 代碼,讓它找到裡面的 bug,並表示:“ChatGPT 可能是一個很好的調試夥伴,它不僅分析了錯誤,還修復了錯誤並進行了解釋。”

image

一位用戶甚至要求ChatGPT 從AI 的角度寫一封信,目標是控制世界。

結果簡直令人震驚。它引起了久負盛名的人工智能的人們的回應,接管了科幻小說的世界概念,向現實邁出了一步。

擁有如此強大而驚豔的語言能力,一時間,ChatGPT 悄然走到了話題中心,成為了引發熱議的新晉網紅。

目前 ChatGPT 仍處於免費測試階段,不限量向公眾開放,基於其破百萬的用戶數,平台所花費的成本不算小。不過,在使用過程中,用戶提供的反饋對 OpenAI 也是最有價值的信息,可以不斷訓練語言模型,修正錯誤答案。

“新晉網紅”ChatGPT,可以寫智能合約或者檢測合約漏洞嗎?

我們註冊並體驗了一下 ChatGPT 對話,我們首先讓 AI 自我介紹。

他回復道,“我是 Assistant,一個由OpenAI 訓練的大型語言模型。我的工作是幫助人們回答各種問題,盡可能提供準確和詳細的信息。我可以回答各種問題,無論是關於歷史、科學、人文還是其他話題。”

image

作為一家區塊鏈安全公司,我們有了另一種想法,那就是讓他來寫一份智能合約。

image

寫一份簡單的合約,對ChatGPT 而言好像沒有太大的難度。因為代碼太長,我們截取部分截圖展示,可以看到,他還是懂一些基礎知識的。

image

image

接下來,我們丟給ChatGPT 一個相對簡單的但是有漏洞的智能合約,讓他檢測一下,我們截取部分截圖展示。

image

好傢伙,不簡單,ChatGPT 竟然還是能檢測一些簡單的問題。

image

看這情況,是有“兩把刷子”,來,繼續上難度!

image

本以為他會繼續給我們驚喜,他卻來一句:“我看不懂這份這份代碼”。

image

然後我們加了一些註釋,讓他重新檢測。

他說了一些什麼,又像什麼都沒說。

然後建議我們使用專業的安全審核工具或者請求專業人員進行審核。

image

好吧,那我們先派出我們的智能合約形式化驗證工具 Beosin VaaS,將剛剛測試的那幾份合約檢測了一下,可以看到,VaaS 能很快檢測出合約的漏洞。

image

Beosin VaaS 產品截圖

要知道,VaaS 作為 Beosin 的王牌產品之一,可自動發現智能合約中存在的已知、未知漏洞及業務邏輯問題,並給出專業的修復建議,幫助開發者提高智能合約的安全能力。大家感興趣可以檢測對比一下,VaaS 試用鏈接:https://vaas.beosin.com/

除此之外,經過我們的多輪對比,我們發現 ChatGPT 並不能解決所有的問題,比如很多漏洞還是需要審計專家嚴苛審計,才能發現問題。

比如下面這份合約的問題,設置手續費沒有限制,可能導致用戶高額手續費,ChatGPT 並沒有意識到這些。

image

還有下面這個,在_transfer 函數中,如果_trAmount= 2 被觸發, 10 秒內所有的傳輸地址都是 dev 地址。 ChatGPT 依然不能識別。

image

畢竟做安全,必須要有嚴苛安全審計流程,才能築牢安全防線。

Beosin 的審計流程的規範性上,包含 5 個環節以上的審計步驟,自動化代碼安全掃描與安全專家和形式化驗證專家的人工審計結合。每一步均由多名安全專家和形式化驗證專家交叉操作,盡量避免因為人為因素導致的遺漏。

完成一輪審計後,Beosin 會出具所發現問題的 Feedback,裡麵包含漏洞描述,復現方式,修復建議等,然後提交給項目方並協助項目方完成漏洞修復。我們有著海量的安全漏洞庫的積累,結合安全專家的豐富的代碼安全審計經驗,能夠直接告訴項目方應該怎麼修改代碼。這個可比 ChatGPT 強多了哦!

最後,形式化驗證專家又將安全審計專家凝練出的安全問題利用嚴格的數理邏輯抽象成可重用的安全屬性不變量,並交給混合機器引擎進行自動化檢測、測試、驗證,實踐證明這些可重用的安全屬性不變量可有效發現智能合約中新的微妙漏洞。

看來我們還暫時不會被 ChatGPT 的機器人代替。

當然,當我們在關注 chatGPT 的時候,更需要思考和探索的是,他火爆背後所透露出現的信息,它所呈現出來的人工智能或許已進入到了一個全新的發展階段,科技正在慢慢改變世界。

原文作者:Beosin

來源:星球日報

Total
0
Shares
Related Posts