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