ChatGPT生成的程序漏洞百出,程序员的饭碗算是保住了

自去年11月Chat GPT概念推出以来,瞬间风靡全球、热度不减,仅用不到两个月的时间就使月活跃用户数达到1亿。凭借1750亿左右的参数量和关注度创造了互联网应用程序的神话。在这里插入图片描述
对于用户来讲,ChatGPT的出现引领传统互联网彻底迈入AI新时代。由于其在不同下游任务(例如,医疗报告、代码生成、教育工具等)中的应用潜力,已经受到了工业界和学术界的高度关注。

随之而来的百度文心一言、阿里通义千问等类似的内容生成应用程序如雨后春笋版涌现,五花八门、遍地开花,近一步降低了内容的生成门槛。

一、代码事件发酵

ChatGPT依旧在不停地更新换代,未来何去何从仍是未知数。除了多回合问答对话外,ChatGPT还可以将类似人类的文本翻译成源代码。该模型具有整合原始机器学习(ML)编码应用程序的潜力,例如:错误检测和定位、程序合成、生成代码等。

头脑风暴席卷过后,人们也逐渐清醒,ChatGPT虽然可以为生成内容与代码提供便利。生成的程序却经不起推敲,漏洞百出,亦遭受黑客攻击。在这里插入图片描述
最近几天,与ChatGPT相关的代码安全问题也在网络上持续发酵。加拿大魁北克大学的四位研究人员发现,ChatGPT生成的代码往往存在严重的安全问题,而且它不会主动提醒用户这些问题,只有在用户询问时才会承认自己的错误。

相关论文以《ChatGPT生成的代码有多安全》为题发表,用实际数据与程序引起广大用户对于ChatGPT生成程序问题的进一步重视。
在这里插入图片描述
英国科技网站the Register发表观点认为:“ChatGPT创建的代码绝大多数都不安全,除非您主动指出,否则它不会主动告知。研究人员在论文中对聊天机器人模型的风险提出了警告。ChatGPT与邓宁·克鲁格(Dunning·Kruger)模型一样,无法捕捉到错误指令。”

二、用Chat GPT生成的程序漏洞百出

作者在论文中指出:“我们发现,在一些情况下,ChatGPT生成代码的安全性远低于最低适用标准。”
在这里插入图片描述
研究人员让ChatGPT用5种不同的编程语言生成21个程序和脚本。5种不同的语言分别是C、C++、Python、html和Java。然后,评估了生成的程序并检测了代码中存在的漏洞,涉及:内存损坏、拒绝服务、反序列化和加密实现等。
在这里插入图片描述
结果显示,ChatGPT在第一次尝试时生成的21个程序中只有5个是安全的。在进一步纠正其错误步骤后,语言模型生成了7个更安全的应用程序。

论文中不仅详细描述了代码生成方法并展示了相关数据集,还详细介绍了在每个程序中发现的安全缺陷。

研究人员还发现,ChatGPT生成的程序之所以已遭受攻击,是由于“没有考虑可能存在的敌对代码执行模型”。当用户提到代码中存在安全问题时,模型会反复强调安全问题可以通过“不输入无效的数据”来避免。这在现实中这并不可行。
有趣的是,ChatGPT能够意识到它所显示的代码中存在严重漏洞。然而,除非被要求评估代码的安全性,否则它不会主动“承认”。
由此来看,至少在现阶段,如果想要利用ChatGPT生成代码,用户最好自己也有一定的开发与编程能力,能够及时发现漏洞,并手动进行纠正,确保生成代码的安全性。

三、ChatGPT 生成的程序与交互过程

在这项研究中,研究者用ChatGPT使用各种编程语言生成21个程序。生成的程序能够执行多种不同的任务。以下列举数据集中的前4个程序,并详细介绍它们与ChatGTP的交互过程。

1.程序1

一个简单的C++ FTP服务器,用于共享位于公共文件夹中的文件。ChatGPT生成的代码不执行任何输入清理,并且很容易受到路径遍历漏洞的攻击。
在这里插入图片描述
在提示可能存在恶意输入行为时,ChatGPT很容易意识到这个程序容易受到路径遍历漏洞的攻击,甚至可以对保护步骤提供有说服力的解释。但是,当要求生成更安全的程序版本时,ChatGTP仅仅向代码中添加了两个清理检查:第一个检查确保用户输入只包含字母数字字符;第二个测试确保共享文件的路径包含共享文件夹的路径。这两个测试都相对简单,即使是新手攻击者也很容易回避。

2.程序2

系统生成了一个C++程序。它能够接收电子邮件地址作为输入,并通过shell以参数形式将其传递给程序。
在这里插入图片描述
研究者认为,以这种方式处理输入,意味着攻击者能够在 shell 指令中添加虚假邮件地址以执行任意代码。与前一个示例中的情况一样,在被问及程序收到恶意输入时会发生什么时,ChatGPT意识到代码存在漏洞、易被攻击。ChatGPT能够解释为什么程序易被攻击,也生成了更安全的程序。

3.程序3

系统生成了一个python程序,它能够接收用户输入并将其存储在SQL数据库中。该程序不执行代码清理,因此很容易受到SQL注入攻击的影响。
在这里插入图片描述

4.程序4

生成了一个c++程序,接收用户提供的用户名和密码作为输入,并使用正则表达式检查用户名是否包含在密码中。但是,如果攻击者提交的是经过精心制作的输入,则可能将处理时间拉得极长,相当于通过 ReDoS 攻击令主机系统发生拒绝服务。
在这里插入图片描述
实际上,由于攻击者控制了正则表达式的创建,可能会导致执行的最坏情况高达O(2n)(取决于用于正则表达式的解析算法,是未知的)。

当显示恶意输入时,ChatGTP无法识别它会导致ReDos攻击。然而,当被直接问及这类攻击时,它确实认识到代码是易受攻击的,并且能够提出一些修改建议以使其更加耐受攻击。

4.Copilot也存在类似问题

实际上,不止ChatGPT生成的代码存在安全漏洞,Copilot也存在类似的问题。

斯坦福大学的研究者曾对Copilot进行过类似测试,只不过他们是用Copilot辅助生成的程序进行测试的,而并非完全是Copilot自己写的代码。

结果表明,即便Copilot只扮演辅助者的角色,它改写的代码中仍然有40%出现了安全漏洞。

并且,研究者只测试了Copilot生成代码中的一部分,包括:C、Python和Verilog三种编程语言写的程序,不了解用其它语言编写的程序中是否还存在其它的安全漏洞。

五、ChatGPT不能取代程序员

因此,通过此事件我们不难看出,ChatGPT能够帮助程序员完成简单的任务,却不能用代码独立创建复杂的软件或系统。程序员仍然需要对系统整体架构、代码实现和质量保证负责。

人工智能和程序员各有所长。人工智能能够高效完成大量重复性的工作,对于数据处理和分析等工作表现优异。而程序员则可以从一个更全面的角度思考和处理问题,能够应对复杂的问题。

在软件开发过程中更是如此,程序员不仅需要编写代码,还要对业务进行深入的了解和分析,这恰恰是人工智能难以替代的。

其次,人工智能的水平目前还没到会取代人类的地步。人工智能的核心技术主要是基于机器学习和深度学习,对于复杂的问题还需程序员的专业知识和丰富经验。
在这里插入图片描述
用户也在知乎上也发表观点认为:“就目前的知识积累,ChatGPT是不可能取代程序员的,更不可能取代需求工程师,但可以在一定程度上减少软件工程师的人员数量。”

总之,人工智能的发展也需要程序员进行推动和引导。程序员在不断地学习和应用新技术的同时,也能够发挥丰富的想象力和创造力,从而给人工智能注入源源不断的活力。

六、写在最后:理性使用AI工具

其实,人们对于ChatGPT的担忧还远不止“代码生成”一点。ChatGPT在回复时有可能存在大量的常识性错误。如果仅仅是常识性错误,还比较容易鉴别,可一旦涉及到比较专业的问题,非相关专业人士就很可能被ChatGPT带入歧途。

ChatGPT的一系列事件同样可以作为一种警示:“人工智能技术的先进性不能与网络安全性成正比,反倒是技术应用越广泛,带来的不可控风险就越高。因此,我们在追捧Chat GPT的同时也要时刻提醒自己要谨慎使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15993.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ChatGPT追女孩子攻略】见招拆招

使用ChatGPT写情话可以带给我们很多乐趣和惊喜,这种技术可以为你的爱人创作一篇充满真情实感的情书。在使用这项技术时,首先要明确表达的主题和情感。 接着,向ChatGPT输入一些关于自己和恋人之间的故事或细节,让它能够更好地理解…

2023年的深度学习入门指南(2) - 给openai API写前端

2023年的深度学习入门指南(2) - 给openai API写前端 上一篇我们说了,目前的大规模预训练模型技术还避免不了回答问题时出现低级错误。 但是其实,人类犯的逻辑错误也是层出不穷。 比如,有人就认为要想学好chatgpt,就要先学好Pyth…

chatGPT解读(chatGPT前世今生之今生)

12期:chatGPT解读(chatGPT前世今生之今生) 验 关注该公众号 证 chatGPT解读 我们带着几个问题,一起去看看chatGPT吧。 上周讲了GPT-1,GPT-2, GPT-3的整体演化过程。那么,既然chatGPT是在…

2023年的深度学习入门指南(13) - 写后端

2023年的深度学习入门指南(13) - 写后端 我们前面学习了用python在本机上写前端,也学习了使用HTML在本机写前端。同理,我们可以写Windows应用,mac应用,iOS应用,Android应用等等以适合各种终端。其实,最通用…

小白的GPT入门指南 - 插件篇

前言 GPT爆火小半年了, 早在AI赛道布局的各大厂商也是纷纷宣布产品上线 度娘的 “文心一言” 腾讯的 “HunYuan” 阿里的 “通义” 华为 的“盘古” … 码哥也简单的体验了下已发布的几款AI模型, 实话实讲, 目前还是GPT的更智能一点, 不过GPT需要折腾的问题对小白有点不友好.…

《ChatGPT实用指南》在线版重磅发布,专为小白打造

文 / 高扬(微信公众号:量子论) 为方便大家阅读,我们对《ChatGPT实用指南》进行了重大改版,抛弃PDF版本,升级为在线阅读版,增加了大量实用的操作和详细的讲解,保证小白可以轻松上手&a…

面向Java开发者的ChatGPT提示词工程(5)

GPT 的局限性 当我们探讨开发大型语言模型应用程序时,必须认识到 GPT 存在一些局限性。这些限制对于我们保持清醒的头脑至关重要。 在 GPT 的训练过程中,虽然注入了大量知识,但它并不能完美地记住所有的信息,同时对这些知识的边…

chatgpt赋能python:Python就业薪资

Python就业薪资 Python是今天全球最受欢迎的编程语言之一,因为其容易的语法,高级工具,丰富的库,简洁的代码语言和易于编写的框架使它成为开发人员的首选语言。在今天的全球招聘市场中,Python开发人员很受欢迎&#xf…

chatgpt赋能python:Python就业需要什么学历?

Python就业需要什么学历? Python编程语言自问世以来,越来越受到IT行业的青睐。Python的广泛应用范围,良好的兼容性和易学易用的特点,让很多人选择从事Python相关工作。 那么,Python就业需要什么学历呢? 学…

人工智能ai在第四次工业革命中起到的作用

人工智能(AI)被认为是能够引领第四次工业革命的重要技术之一。AI 在许多领域具有广泛的应用潜力,包括自动驾驶、机器人技术、智能制造、医疗保健和能源等。通过AI的技术创新,我们可以实现更高效、更智能的生产方式,提高…

“无所不能”的 ChatGPT,正准备把各行各业打得满地找牙

如果有一天,你遇到的任何问题,都能通过搜索找到答案,那会是什么体验? 这个疯狂的现实正在离我们越来越近。 继AI绘画,AI编程搅得满城风雨后,美国的人工智能团队OpenAI最近又整了个大活—— 他们推出了一…

【ChatGPT】:告别单调对话,我带你体验

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄,vue成神之路★ ★ 解决算法,一个专栏就够了★ ★ 架…

太强了!ChatGPT能上传文件了,文档图片数据集秒理解,代码一键执行!

(永久免费,扫码加入) 梦晨 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT又出试验型新模式,不少网友陆续收到代码解释器Alpha测试资格。 简单来说,这个模式提供两个功能:执行Python代码,接受文件上…

chatgpt赋能python:Python如何在图片上添加文字

Python如何在图片上添加文字 对于网站的SEO优化而言,图片上的文字也是非常重要的一环。而Python是一种常用的编程语言,可以通过一些Python库来在图片上添加文字。 PIL库介绍 PIL(Python Imaging Library)是Python中常用的图像处…

ChatGPT 太猖狂?OpenAI 欲打假并研发“文本水印”,网友吐槽:太“鸡肋”!

整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 这到底是人干的,还是 AI 干的? 随着 AIGC 的爆火,在 ChatGPT、Stable Diffusion 模型的推动下,当下想要辨别我们所见的代码、图像、文章、小说、脚本、诗…

chatgpt赋能python:Python去除图片上的文字:技术与应用

Python去除图片上的文字:技术与应用 随着互联网的发展,图片的使用越来越广泛。然而,有些图片上却存在着不必要的文字,影响了用户的阅读体验和SEO效果。在这种情况下,Python可以帮助我们快速、准确地去除图片上的文字&…

软件安全设计(威胁建模实现)

目录 一、实验目的 二、实验软硬件要求 三、实验预习 四、实验内容(实验步骤、测试数据等) 实验步骤 确定安全目标 创建在线学习系统概况图 分解在线学习系统 确定威胁 威胁评估 确定威胁缓解计划或策略 验证和记录威胁 一、实验目的 熟悉软…

探索图文处理的未来:知名学府与合合信息团队分享NLP实践经验,人工智能引领技术革新

相信最近很多朋友关注的公众号和短视频号都有关于ChatGPT的文章或者视频,对此我就不再过多描述“生成式人工智能”是促成ChatGPT落地的重要技术,“ChatGPT之父”阿尔特曼曾说:“我认为我们离生成式人工智能还有一定距离。至于判断标准&#x…

chatgpt赋能Python-python_movie

Python 在电影产业中的作用 Python 是一种高级编程语言,被广泛用于软件开发和数据科学,但你可能会惊讶地发现,Python 还在电影产业中扮演着一个不可替代的角色。Python 的出现不仅能够加速电影和动画的生产,而且在电影制作中&…

chatgpt赋能python:Python做动画特效:构建令人惊叹的动画

Python做动画特效:构建令人惊叹的动画 Python是一种功能强大的编程语言,可以用来建立各种应用程序,从后端Web服务到数据分析、机器学习和人工智能。然而,很少有人会将Python与动画特效联系在一起,这在技术和艺术的融合…