研究:AI编码助手可能导致代码不安全,开发人员应该谨慎采用

极客网 极客AI
研究结果表明,经验不足的开发人员可能倾向于相信AI助手,但有可能面临引入新的安全漏洞的风险。因此,这项研究将有助于改进和指导未来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助手的使用持积极态度,只要他们的期望得到管理。这意味着需要定义如何使用这些工具的最佳实践,以及采用潜在的额外功能来测试代码质量。”

责编:夏丽
参与评论
文明上网,理性发言!请遵守新闻评论服务协议
0/200