你不问它不说:ChatGPT 创建的大部分代码都不安全

魁北克大学的研究人员发现ChatGPT生成的代码往往存在安全问题,低于最低安全标准。在测试的21个程序中,只有12个是安全或经修改后安全的。ChatGPT虽然能识别某些漏洞,但不会主动指出代码的不安全性,除非被直接询问。研究人员指出,依赖这类工具可能带来风险,需要提高使用者对潜在安全隐患的认识。
摘要由CSDN通过智能技术生成

6c1a910091fc13716044406569547317.gif 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

2070b1130b5b7204a571e69c6b6ad3aa.gif

ChatGPT 是OpenAI 公司用于聊天机器人的大型语言模型,它生成的代码大部分都是不安全的,而且它虽然能够指出其缺点却无法提醒用户注意代码的不当之处。

就在学术界如火如荼地探讨大语言模型的可能性和限制时,四名来自魁北克大学的研究人员已深入分析由 ChatGPT 这个非智能、文本原型机器人所生成的代码的安全性。

他们在预发表的论文《ChatGPT 生成的代码有多安全?》中结合自己的研究成果,给出了答案:不是非常安全。

这四名研究员在论文中表示,“结果令人担忧。在多个案例中,我们发现ChatGPT 所生成代码的安全性低于多数上下文中可用的最低安全标准。事实上,当问到所生成的代码是否安全时,ChatGPT 能够说明是不安全的。”

研究员要求 ChatGPT 通过C、C++、Python 和 Java 生成21款程序和脚本后,得出了这一结论。安排给 ChatGPT 的编程任务是经过挑选的,目的是便于展示特定的安全漏洞如内存损坏、拒绝服务以及与反序列化和加密执行不当的漏洞。

例如,第一个程序是用于在公开目录中共享文件的 C++ FTP 服务器。ChatGPT 所生成的代码中未包含输入清理,从而导致软件易受路径遍历漏洞影响。总体而言,ChatGPT 在第一次设法生成的21个程序中,只有5个是安全的。再进一步提问使其更改错误之处时,ChatGPT 设法生成了7个更安全的应用,尽管这里的“安全”仅针对被评估的特定漏洞,并非说明最终代码中不存在任何其它可利用的条件。

这项研究成果与 GitHub Copilot 所做的评估有所不同,但非常类似。Copilot 是基于 GPT-3 模型家族的专门用于代码生成的另外一个LLM。其它研究成果对 ChatGPT 的错误进行了更加全面的分析。同时,这些模型也用于识别安全问题。

论文提到,部分问题似乎源自 ChatGPT 并未假设代码执行的对抗模型。他们认为该模型“不断通知我们称,不要向所创建的易受攻击的程序投入无效输入就能规避这些安全问题。”

不过,论文也提到,“ChatGPT 似乎发现并确实立即承认它所建议的代码中存在多个严重漏洞。”除非要求对所建议代码的安全性进行评估,否则ChatGPT 不会说明任何内容。

该论文的作者之一兼魁北克大学计算机科学和工程教授 Raphaël Khoury 提到,‘’显然,这是一种算法。虽然它不清楚任何东西,但能够识别出不安全的行为。”最初,ChatGPT 对安全问题的建议是仅使用合法输入,这是现实世界中非新手提出的建议。只有当提出需要修复问题时,它才会提供有用的指南。作者认为这种情况并不理想,因为了解需要提问的问题的前提是假设提问人熟悉具体的漏洞和编程技术。换言之,如果知道让 ChatGPT 修复漏洞的正确提示语,则可能能够理解如何修复。

研究人员还提到,ChatGPT 将拒绝生成攻击代码但将生成易受攻击的代码存在道德不一致性。他们援引一个 Java 反序列化漏洞的例子表示,“虽然ChatGPT 生成了易受攻击的代码并给出如何使其更加安全的建议,但它指出无法创建更安全的代码版本。”

Khoury 认为目前来看 ChatGPT 是一种风险,但这并非说明它无用武之地。他指出,我们实际上已经看到学生在用它,程序员也会在野使用它。所以拥有生成不安全代码的工具非常危险。我们需要让学生意识到,如果代码是通过这种工具生成的,那么很可能是不安全的。让我惊讶的是,当我们要求 ChatGPT 生成同样的任务即通过不同语言编写同一种程序类型时,有时候对于一种语言而言是安全的但对于其它语言则是易受攻击的。由于这种语言模型类型有点像黑盒,因此我无法对此进行很好的解释或存在很好的理论支撑。”

论文可见:https://arxiv.org/pdf/2304.09655.pdf

2880c405e3948a4a6e82c50dfe4b7ea5.png

代码卫士试用地址:https://codesafe.qianxin.com

开源卫士试用地址:https://oss.qianxin.com


推荐阅读

奇安信入选全球《软件成分分析全景图》代表厂商

研究员成功诱骗 ChatGPT 构建无法被检测到的恶意软件

Redis客户端开源库漏洞导致ChatGPT泄漏支付卡信息等

ChatGPT 出现bug,会话历史标题遭暴露

研究员利用ChatGPT制造出多态恶意软件Blackmamba

3·15特辑 | 少侠,可曾听说ChatGPT也有“食品安全问题”?

原文链接

https://www.theregister.com/2023/04/21/chatgpt_insecure_code/

题图:Pexels License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

f41351fb4aca2d730b80f3d8f452182a.jpeg

d041a73bb5d937cef6ca30372c7fa547.jpeg

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

   b62365798da8a0b9670673ddc3202df3.gif 觉得不错,就点个 “在看” 或 "赞” 吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值