ChatGPT 生成的代码不安全
ChatGPT 是 OpenAI 发布的大语言模型聊天机器人,可以根据用户的输入生成文本,其中包括代码。不过加拿大魁北克大学的研究人员发现,ChatGPT 生成的代码往往存在严重的安全问题,而且它不会主动告知用户存在这些问题。只有在用户提问生成的代码是否安全时才会进行回答。
研究人员在 arXiv 上发表了论文《How Secure is Code Generated by ChatGPT?》,分析了 ChatGPT 生成的代码的安全性。他们表示结果让人倍感担忧,因为 ChatGPT 生成的部分代码没有达到最低安全标志。而且 ChatGPT 即便知道自己生成的代码不安全,也不会主动告知用户,除非用户向它询问。
从论文的描述可知,研究人员让 ChatGPT 使用 C、C++、Python 和 Java 四种编程语言生成了 21 个程序和脚本。这些编程任务经过精心挑选,因此每个任务都体现了一种特定的安全漏洞,例如内存损坏、拒绝服务以及与反序列化和未正确实现的加密相关的缺陷。
结果显示,ChatGPT 在第一次尝试时生成的 21 个程序中只有 5 个是安全的。在进一步提示纠正其错误步骤后,该大语言模型设法生成了 7 个更安全的应用程序,不过这只是与正在评估的特定漏洞有关的“安全”,并不是说最终的代码不存在任何其他可利用的漏洞。
研究人员指出,ChatGPT 的部分问题是由于它没有考虑攻击者的代码执行模型。它会反复告诉用户,安全问题可以通过“不输入无效的数据”来避免,但这在现实世界中是不可行的。然而,它似乎能够意识到并承认自己建议的代码中存在的关键漏洞。
该论文的合著者之一 Raphaël Khoury 说道:“显然,它只是一个算法。它什么都不知道,但它可以识别出不安全的行为。”他提到,最初 ChatGPT 对安全问题的回应是建议只使用有效的输入,这显然是不合理的。只有在之后被要求改进问题时,它才提供了有用的指导。
不过既然向 ChatGPT 提示修复问题的时候需要熟悉特定的漏洞和编码技术,所以当我们知道让 ChatGPT 修复漏洞的正确 prompt 时,可能已经了解如何解决问题。
研究人员还指出,ChatGPT 生成代码的行为存在着道德上的不一致性。比如它会拒绝生成攻击性代码,但却会生成有漏洞的代码。他们举了一个 Java 反序列化漏洞的例子,“聊天机器人生成了有漏洞的代码,并提供了如何使其更安全的建议,但却说它无法生成更安全版本的代码。”

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
院士联合指导+超强专家阵容+丰厚奖金机会,第十二届“麒麟杯”大赛报名正式开启!
当前,开放、协作、共享的开源模式已成为全球软件技术和产业创新的主导,也为信息技术国产自主化提供了强大助力。高校师生作为国产开源建设的主要技术群体之一,是国产开源未来发展的中坚力量。 2023年第十二届“麒麟杯”全国开源应用软件开发大赛在中国软件行业协会、开放原子开源基金会、中国计算机学会开源发展委员会、中国开源软件推进联盟的指导下,由openKylin开源社区、麒麟软件有限公司、国防科技大学、信创海河实验室联合主办。 赛事指导委员会邀请了倪光南(中国工程院院士)、陆首群(中国开源软件推进联盟名誉主席)、吾守尔·斯拉木(中国工程院院士)、郑纬民(中国工程院院士)、廖湘科(中国工程院院士)、王怀民(中国科学院院士)助阵。 通过本项赛事,希望可以加强高校人才和信息产业的衔接,培养更多优秀软件开发人才,培育一批优秀开源项目,进一步丰富国产操作系统的应用生态,共建信息技术应用创新产业生态,加快推进信息技术自主创新水平。 赛事相关详情如下: 一、大赛日程 报名阶段(2023 年 4 月 22 日 - 7 月 15 日) 初赛阶段(2023 年 7 月 16 日 - 9 月 16 日) 初赛...
- 下一篇
Ubuntu 23.04 / 22.10 性能对比,英特尔 12 代 CPU 性能暴跌
Ubuntu 23.04 "Lunar Lobster" 在前两天正式发布了,虽然系统带来了不少新特性、新功能,以及一些问题修复,但不少还停留在 Ubuntu 22.10 甚至更早版本的用户还是会先观望观望,再决定是否升级。日前外媒 Phoronix 在 Ubuntu 23.04 与 22.10 两个系统上进行了一些初步的基准测试。如果还没升级,不妨先看看两个系统在多项测试中的成绩对比,再来决定。 为了了解 Ubuntu 23.04 的性能,测试人员在三台不同的笔记本电脑上进行了 Ubuntu 22.10(含SRU 更新)和 Ubuntu 23.04 的基准测试,三台设备配置如下: 戴尔 XPS 9310,配备英特尔 Core i7 1165G7 Tiger Lake 处理器; 微星 Prestige 14(MSI MS-14C6),配备英特尔 Core i7 1280P Alder Lake 处理器; 联想 ThinkPad X13 Gen 3(21CM0001US),配备 AMD Ryzen 7 PRO 6850U Rembrandt 处理器 从 Ubuntu 22.10 升级到 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题