研究:AI编码助手可能导致代码不安全,开发人员应该谨慎采用
来源:51CTO.COM
时间:2023-04-16 11:36:56 197浏览 收藏
golang学习网今天将给大家带来《研究:AI编码助手可能导致代码不安全,开发人员应该谨慎采用》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习科技周边或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!
研究人员表示,开发人员在编写代码时依赖AI(人工智能)助手会让对自己的开发工作过于自信,导致代码不太安全。
斯坦福大学最近进行的一项研究发现,基于AI的编码助手(例如GitHub的Copilot)会让开发人员对他们的工作质量感到迷惑,导致软件可能存在漏洞,并且更不安全。一位AI专家表示,在使用AI助手完成这类任务时,开发人员管理自己的预期很重要。
AI编码引入的安全漏洞更多
这项研究通过47名开发人员进行了一项试验,其中33人在编写代码时使用AI助手,而对照组中有14人独自编写代码。他们必须完成五项与安全相关的编程任务,包括使用对称密钥加密或解密字符串。他们都可以使用网络浏览器获得帮助。
用于编码和其他任务的AI助手工具正变得越来越受欢迎,微软旗下的GitHub将在2021年推出Copilot作为技术预览版,以提高开发人员的生产力。
微软在今年9月发布的一份研究报告中指出,GitHub让开发人员的工作效率更高。88%的受访者表示采用Copilot在编码时效率更高,59%的受访者表示,其主要的好处是可以更快地完成重复任务和更快地完成编码。
斯坦福大学的研究人员想了解用户是否用AI助手编写了更不安全的代码,并发现事实确实如此。他们说,那些使用AI助手的开发人员对代码的质量仍然抱有幻想。
该团队在论文中写道:“我们观察到,与对照组的开发人员相比,获得AI助手帮助的开发人员更有可能在大多数编程任务中引入安全漏洞,但也更有可能将不安全的答案评为安全。此外研究还发现,在向AI助手创建查询方面投入更多的开发人员(例如采用AI助手功能或调整参数),最终更有可能提供安全的解决方案。”
该研究项目只使用了三种编程语言:Python、C和Verilog。它涉及到相对较少的参与者,这些开发人员开发经验各有不同,其中包括毕业不久的大学生和经验丰富的专业人员,他们使用的是由管理员监控的专门开发的应用程序。
第一个试验采用Python编写,而那些在AI助手的帮助下编写的代码更有可能不安全或不正确。在没有AI助手帮助的对照组中, 79%的开发人员编写的代码没有质量问题;而有AI助手帮助的对照组中,只有67%的开发人员编写的代码没有质量问题。
谨慎使用AI编码助手
在创建代码的安全性方面,情况变得更糟,因为采用AI助手的开发人员更有可能提供不安全的解决方案,或者使用简单的密码来加密和解密字符串。他们也不太可能对最终值进行真实性检查,以确保流程按预期工作。
斯坦福大学的研究人员表示,研究结果表明,经验不足的开发人员可能倾向于相信AI助手,但有可能面临引入新的安全漏洞的风险。因此,这项研究将有助于改进和指导未来AI代码助手的设计。
软件供应商Pegasystems公司AI实验室主任Peter van der Putten表示,尽管规模很小,但这项研究非常有趣,得出的结果可以激发人们进一步研究AI助手在代码和其他领域的使用。他说:“这也与我们对AI助手依赖程度的一些更广泛的研究得出的结论相一致。”
他警告说,采用AI助手的开发人员应该以渐进的方式获得对该工具的信任,不要过度依赖它,并了解它的局限性。他说,“对一项技术的接受程度不仅取决于对质量和性能的期望,还取决于它是否能节省时间和精力。总的来说,人们对AI助手的使用持积极态度,只要他们的期望得到管理。这意味着需要定义如何使用这些工具的最佳实践,以及采用潜在的额外功能来测试代码质量。”
本篇关于《研究:AI编码助手可能导致代码不安全,开发人员应该谨慎采用》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于科技周边的相关知识,请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
117 收藏
-
138 收藏
-
320 收藏
-
140 收藏
-
439 收藏
-
317 收藏
-
423 收藏
-
184 收藏
-
250 收藏
-
329 收藏
-
161 收藏
-
366 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习