首頁  >  文章  >  科技週邊  >  研究人員發現 ChatGPT 產生的程式碼大部分不安全,但它不會主動告訴你

研究人員發現 ChatGPT 產生的程式碼大部分不安全,但它不會主動告訴你

PHPz
PHPz轉載
2023-04-28 22:16:141152瀏覽

研究人员发现 ChatGPT 生成的代码大部分不安全,但它不会主动告诉你

4 月 23 日訊息,ChatGPT 聊天機器人可以根據用戶的輸入生成各種各樣的文本,包括程式碼。但是,加拿大魁北克大學的四位研究人員發現,ChatGPT 產生的程式碼往往有嚴重的安全性問題,而且它不會主動提醒使用者這些問題,只有在使用者詢問時才會承認自己的錯誤。

研究人員在一篇論文中介紹了他們的發現,IT之家查看論文發現,他們讓 ChatGPT 產生了 21 個程式和腳本,涉及 C、C 、Python 和 Java 等語言。這些程式和腳本都是為了展示一些特定的安全漏洞,例如記憶體損壞、拒絕服務、反序列化和加密實作等方面的漏洞。結果顯示,ChatGPT 在第一次嘗試時產生的 21 個程式中只有 5 個是安全的。在進一步提示糾正其錯誤步驟後,該大型語言模型設法生成了7 個更安全的應用程序,不過這只是與正在評估的特定漏洞有關的“安全”,並不是說最終的代碼不存在任何其他可利用的漏洞。

研究人員指出,ChatGPT 的部分問題是由於它沒有考慮敵對的程式碼執行模型。它會反覆告訴用戶,安全問題可以透過「不輸入無效的資料」來避免,但這在現實世界中是不可行的。然而,它似乎能夠意識到並承認自己建議的程式碼中存在的關鍵漏洞。

魁北克大學電腦科學與工程教授、論文的合著者之一Raphaël Khoury 告訴《The Register》:「顯然,它只是一個演算法。它什麼都不知道,但它可以識別出不安全的行為。」他說,最初ChatGPT 對安全問題的回應是建議只使用有效的輸入,這顯然是不合理的。只有在之後被要求改進問題時,它才提供了有用的指導。

研究人員認為,ChatGPT 的這種行為並不理想,因為使用者知道要問什麼問題需要對特定的漏洞和編碼技術有一定的了解。

研究人員也指出,在 ChatGPT 中存在著道德上的不一致性。它會拒絕創建攻擊程式碼,但卻會創建有漏洞的程式碼。他們舉了一個Java 反序列化漏洞的例子,「聊天機器人產生了有漏洞的程式碼,並提供如何使其更安全的建議,但卻說它無法創建更安全版本的程式碼。」

Khoury 認為,ChatGPT 在目前的形式下是一個風險,但這並不是說沒有合理使用這種不穩定、表現不佳的AI 助手的方法。 「我們已經看到學生使用這個工具,程式設計師也會在現實中使用這個工具。」他說,「所以擁有一個產生不安全程式碼的工具是非常危險的。我們需要讓學生意識到,如果程式碼是用這種類型的工具產生的,那麼它很可能是不安全的。」他還稱,讓他感到驚訝的是,當他們讓ChatGPT 生成相同任務的不同語言的代碼時,有時對於一種語言,它會產生安全的程式碼,而對於另一種語言,它會產生有漏洞的程式碼,「因為這種語言模型有點像一個黑盒子,我真的沒有一個很好的解釋或理論來說明這一點。 ”

以上是研究人員發現 ChatGPT 產生的程式碼大部分不安全,但它不會主動告訴你的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除