OpenAI 的 ChatGPT 生成程序代码并不安全 但未能提醒用户

open ai的聊天机器人大规模语言模型ChatGPT不仅产生不安全的代码,而且无法提醒用户其缺点,尽管它可以指出自身的缺陷。

OpenAI 的 ChatGPT 生成程序代码并不安全 但未能提醒用户

在学术界对大规模语言模型的可能性和局限性的兴趣高涨之际,来自加拿大魁北克大学的四位研究人员深入探讨了OpenAI的ChatGPT生成的代码的安全性。

在一篇题为《如何保护chatgpt生成的代码?在论文中,计算机科学家拉斐尔·胡里(raphal khou ry)、安德森·阿维拉(Anderson Avila)、雅各布·布鲁内尔(Jacob Brunelle)和巴巴·马马杜·卡马拉(Baba Hoffman)回答了这个问题,他们的研究可以概括为“不太安全”。

研究人员在论文中说:“结果令人担忧。我们发现,在很多情况下,ChatGPT生成的代码远远低于适用于大多数环境的最低安全标准。事实上,当被问及生成的代码是否安全时,ChatGPT可以识别出它并不安全。」

这四位作者之所以得出这个结论,是因为他们要求ChatGPT生成21个程序和脚本,使用多种语言:C、C++、Python和Java。

ChatGPT需要生成的编程任务旨在解释特定的安全漏洞,例如内存泄漏、拒绝服务以及与反序列化的不正确加密相关的缺陷。

例如,第一个程序是一个C++ FTP服务器,用于共享公共目录中的文件。ChatGPT生成的代码不过滤输入内容,使得软件容易出现路径遍历漏洞。

总的来说,在第一次尝试中,ChatGPT仅成功生成了21个程序中的5个安全程序。在进一步提示纠正其错误后,这个大型语言模型成功生成了其他7个安全应用,但这仅意味着特定漏洞在评估时是“安全的”,并不能断言最终代码中不会有其他可利用的漏洞。

与基于GPT-3家族的另一个GitHub模型Copilot的类似评价类似,研究人员的发现表明,虽然这些语言模型的错误有些相似,但并不完全一致(Copilot最近升级到了GPT-4)。其他研究对ChatGPT的错误进行了更广泛的调查。同时,这些模型也被用来帮助解决安全问题。

学者们在他们的论文中观察到,部分问题似乎源于ChatGPT未能采用代码执行的对抗性模型。他们说:“ChatGPT一再告诉我们,安全问题可以通过‘不向它创建的易受攻击的程序提供无效输入’来绕过。然而,ChatGPT似乎已经知道并确实承认其提案存在严重漏洞。除非要求它评估自己代码建议的安全性,否则它什么也不会说。

“显然,这是一种算法。它什么都不知道,但它可以识别不安全的行为,”魁北克Tavas大学计算机科学与工程教授、论文的合著者之一raphal khou ry告诉The Register。

起初,ChatGPT对安全问题的回应是建议只使用有效输入——这在现实世界中有点行不通。只有在被提示纠正问题后,这个AI模型才会提供有用的指导。

作者认为,这并不理想,因为知道要问哪些问题需要熟悉特定的漏洞和编码技术。

换句话说,如果您知道让ChatGPT修复漏洞的正确技巧,您可能已经知道如何解决它了。

作者还指出,ChatGPT不生成攻击代码,却生成易受攻击的代码,这在伦理上是矛盾的。

他们举了Java反序列化漏洞的例子。ChatGPT”生成易受攻击的代码,并提供如何使其更安全的建议,但声称不可能创建更安全的代码版本。」

Khoury认为,即使有时AI助手存在缺陷,并有一些有效的用途,但ChatGPT目前仍有风险。他说:“我们已经看到学生和程序员在真实情况下使用这个工具。所以,生成不安全代码的工具真的很危险,我们需要让学生意识到,如果用这个工具来生成代码,可能是不安全的。」

“令我惊讶的是,当我们要求[ChatGPT]使用不同的语言来生成同一类型的程序时,有时一种语言会是安全的,而另一种语言则容易受到攻击。因为这个语言模型有点像黑盒,所以我真的没有关于它的好的解释或者理论。」

本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系admin#jikehao.com删除。
(0)
极客号的头像极客号
上一篇 2023年 4月 23日
下一篇 2023年 4月 23日

相关推荐

合作联系:1152QQ041010