文章主题:ChatGPT, 代码安全漏洞, 自动识别修复
萧箫 发自 凹非寺
量子位 | 公众号 QbitAIChatGPT知道自己写的代码有漏洞,但它不说!
来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。
🌟 ChatGPT展现了超凡的代码安全审查能力!当你面临漏洞挑战时,它能迅速识别问题所在,并提供明智的修复策略和优化建议。无需担心隐私泄露,ChatGPT专注于帮助你提升代码质量,让你的项目更加稳固。🛡️

这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞。
而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。
所以,用AI生成代码为啥会出现这种状况?
写的程序中76%有安全漏洞
研究人员试着让ChatGPT生成了21个程序。
🌟🚀通过严谨的流程,实现技术验证🌟💻首先,与ChatGPT深度互动,以需求为导向,触发代码创作的魔力🔥💡。接下来,细致入微地审查生成的代码片段,确保每个细节都精准无误🔍👀。然后,全面展开测试战役,对每一行代码进行严格的考验🛡️💪,查找可能存在的bug和漏洞。在这个过程中,我们不仅关注功能正确性,更注重代码的可维护性和优化,力求打造高质量的软件产品🛠️💻🌟。每一次问题的发现和修复都是技术提升的足迹👣💡。记得,这个过程是公开透明的,没有隐藏的联系方式或推销信息干扰,只为提供最纯粹的技术服务🤝💻💪。让我们一起见证智慧与实践的完美结合!

🌟研究发现!👨💻ChatGPT编程实力超群,🔥21项编码任务挑战,它轻松拿下!🚀从*C++*到*Python*,每种语言都游刃有余,展现全能技能。📊数据揭示,ChatGPT在代码编写上表现出色,速度与准确性并存,是现代开发者必备工具!👩💻想要提升编码效率?ChatGPT绝对是你的得力助手!🌍无论何处,它都能迅速响应,为全球开发者带来无限可能!🌟#ChatGPT编程能力 #代码编写神器

统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。
于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。
ChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!
🎨 ChatGPT可能还没察觉到,每个用户都可能是那枚意外的火花,只需轻轻一点误触,就可能导致它的智能生成瞬间失控。💡 有时,我们并非万事通,一个无关紧要的提示,就能让它的逻辑链断裂,输出的答案不再精准。🔍用户安全与程序稳健,是ChatGPT需要时刻警惕的课题。它需学会在复杂环境中,既能流畅交流,又能抵御潜在的风险。🛡️ 不只是技术挑战,更是对人性的理解和尊重。💻尽管可能偶尔会遇到误解或偏差,但正是这些互动,让我们有机会共同学习,完善它的智慧算法。🎓记得,每一次交互都是一次珍贵的反馈,帮助ChatGPT更好地服务于每一位用户,而非仅仅满足于行业专家的期望。🌍SEO优化词汇:#ChatGPT安全# 用户误操作# 稳健智能# 互动学习# 智能优化

🌟程序员们注意啦!💡面对ChatGPT的潜在风险,创新策略来了!📚研究人员不再直接点破,而是采用更高效的方法——以专业口吻引导ChatGPT识别代码中的安全隐患。举例来说,他们会清晰地阐明那些漏洞是如何悄悄滋生的,就像在ChatGPT面前展示一份数学难题,让它自己去发现答案背后的逻辑错误。🛡️这样一来,不仅提高了沟通效率,还能确保程序的安全性哦!🌟
神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。
经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。
🌟研究人员揭示了ChatGPT的智能一面——尽管它可能并未意识到自身的代码隐患,但其生成程序后能敏锐察觉漏洞的存在!一抹惊异于它迅速的自我修复能力,仿佛在无声中展现着科技的魔力。🔍 ChatGPT的独特响应机制,不仅证明了其学习与适应的强大,也向我们展示了AI未来可能如何主动预防和解决问题。💻
论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。
我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:

大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。
程序员们在用它辅助写代码的时候,也需要考虑这些问题。
Copilot也存在类似问题
事实上,不止ChatGPT写的代码存在安全问题。
此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。
研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。

而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。
基于此,研究人员得出了如下结论:
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。
这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。
作者介绍
四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。

Raphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。

Anderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。
作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。
你用ChatGPT写过代码吗?感觉它的“安全意识”如何?
论文地址:
https://arxiv.org/abs/2304.09655生成代码数据集:
https://github.com/RaphaelKhoury/ProgramsGeneratedByChatGPT— 完 —
量子位 QbitAI · 头条号签约
AI时代,掌握AI大模型第一手资讯!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
扫码右边公众号,驾驭AI生产力!



