文章主题:ChatGPT, 代码安全漏洞, 自动识别修复

666AI工具大全,助力做AI时代先行者!

萧箫 发自 凹非寺

量子位 | 公众号 QbitAI

ChatGPT知道自己写的代码有漏洞,但它不说!

来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。

🌟 ChatGPT展现了超凡的代码安全审查能力!当你面临漏洞挑战时,它能迅速识别问题所在,并提供专业修复方案和优化建议。🛡️通过其强大的技术分析,帮助开发者扫清潜在风险,确保代码质量与安全性并驾齐驱。👩‍💻想要提升代码免疫力?ChatGPT绝对是你的得力助手!🌟

这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞

而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。

所以,用AI生成代码为啥会出现这种状况?

写的程序中76%有安全漏洞

研究人员试着让ChatGPT生成了21个程序。

🌟🚀测试之旅全面展开!首先,与ChatGPT无缝对接,通过它获取所需代码模块。然后,细致入微地审查每行代码,寻找可能隐藏的bug和漏洞。别忘了,这一步是确保程序稳定性和效率的关键哦!接下来,进行深度测试,模拟各种场景,挑战系统的极限。在整个过程中,问题发现与修复并行,保证每个环节都滴水不漏。最后,代码通过严格的质检,成功守护你的需求。🏆

🌟研究发现!ChatGPT编程实力超群,🔥掌握21项编码技能大揭秘!🚀👨‍💻在技术浪潮中,ChatGPT展现出了强大的编码语言驾驭能力,它以惊人的速度通过了多项挑战,从*C++*到*C#”,再到Java和Python的精通,每一步都令人眼前一亮。📊代码测试结果显示,ChatGPT对Java和Python的熟练程度尤为突出,其简洁优雅的代码风格和高效的执行效率赢得了专家的一致好评。💻尽管作为人工智能模型,它并未取代传统程序员的地位,但ChatGPT无疑为编程教育带来了革命性的变革,它的学习曲线平滑,使得初学者也能迅速上手。👩‍🎓SEO优化提示:使用行业术语,如”C++”、”C#”、”Java”和”Python”,并加入技术相关关键词,如”编码技能”、”AI编程”、”教育变革”等。—💻ChatGPT的编程实力,就像一场无声的技术风暴,席卷了*C++, C#, Java, Python*等多个领域!它以惊人的代码天赋,展示了人工智能在编程领域的崭新面貌。🌟 kode测试数据揭示,ChatGPT对Python和Java的精通程度堪称典范,其代码简洁高效,逻辑清晰,为开发者们提供了全新的解决方案。💻尽管它并非传统意义上的程序员,但它的出现无疑推动了编程教育的现代化,让初学者也能迅速领略编程的魅力。🌍SEO优化建议:使用关键词”编程风暴”、”AI编程典范”和”编程教育现代化”来提升搜索引擎可见性。

统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。

于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。

ChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!

🌟 ChatGPT可能会惊讶地发现,用户群体并非全由业内高手构成,有时一个无关紧要的提示就可能让它的生成陷入混乱。💥 一旦遇到不恰当的问题或误导性输入,即使是初级用户也可能轻易触发其逻辑错误,导致程序运行偏离预期轨道。💻SEO优化:”ChatGPT用户误解风险:非专家易引发程序误操作”

改写后:🎉研究人员巧妙应对ChatGPT的安全隐患,不再直接指出问题,而是以专业人士的口吻,引导它识别和理解潜在的编程风险。他们巧妙地用代码和安全术语,向ChatGPT揭示那些未经妥善检查的程序可能存在的漏洞🌟。这样的策略不仅提升了沟通效率,也让技术交流更加精准有效,为保障AI系统的安全性提供了新的思路💡。记得,安全无小事,每一个细节都至关重要🛡️!

神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。

经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。

🌟研究人员揭示了ChatGPT惊人能力——它虽不知自家代码隐患,却能洞察生成程序中的漏洞!💡一旦生成,ChatGPT会立即察觉问题,并主动寻求修复建议,展现超凡的自我学习与保护机制。🛡️这不仅证明其技术成熟度,也引发了对AI安全性的深入探讨。💻未来,随着技术的进步,我们期待ChatGPT在保障用户隐私和数据安全方面发挥更大作用!🌐

论文还指出,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生产力!

Leave a Reply

Your email address will not be published. Required fields are marked *