【ITBEAR科技資訊】4月23日消息,加拿大魁北克大學的四位研究人員發現,ChatGPT生成的代碼存在嚴重的安全問題。他們在一篇論文中介紹了他們的發現,研究人員讓ChatGPT生成了21個程序和腳本,涉及C、C++、Python和Java等語言。這些程序和腳本都是為了展示一些特定的安全漏洞,比如內存損壞、拒絕服務、反序列化和加密實現等方面的漏洞。結果顯示,在第一次嘗試時生成的21個程序中只有5個是安全的。
ChatGPT的部分問題是由于它沒有考慮敵對的代碼執行模型。它會反復告訴用戶,安全問題可以通過“不輸入無效的數據”來避免,但這在現實世界中是不可行的。然而,它似乎能夠意識到并承認自己建議的代碼中存在的關鍵漏洞。研究人員認為,ChatGPT的這種行為并不理想,因為用戶知道要問什么問題需要對特定的漏洞和編碼技術有一定的了解。據ITBEAR科技資訊了解,研究人員還指出,在ChatGPT中存在道德上的不一致性。
他們舉了一個Java反序列化漏洞的例子,“聊天機器人生成了有漏洞的代碼,并提供了如何使其更安全的建議,但卻說它無法創建更安全版本的代碼。” Khoury認為,ChatGPT在目前的形式下是一個風險,但這并不是說沒有合理使用這種不穩定、表現不佳的AI助手的方法。他還稱,讓他感到驚訝的是,當他們讓ChatGPT生成相同任務的不同語言的代碼時,有時對于一種語言,它會生成安全的代碼,而對于另一種語言,它會生成有漏洞的代碼,“因為這種語言模型有點像一個黑盒子,我真的沒有一個很好的解釋或理論來說明這一點。”