研究: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助手的使用持积极态度,只要他们的期望得到管理。这意味着需要定义如何使用这些工具的最佳实践,以及采用潜在的额外功能来测试代码质量。”

责任编辑:华轩 来源: 极客网
相关推荐

2022-12-16 08:14:00

2020-12-02 09:59:49

恶意软件Docker开发

2018-01-26 10:49:19

2024-09-27 17:06:13

2020-12-13 17:58:41

低代码开发

2012-04-20 10:10:35

2013-01-17 09:39:17

2022-08-22 07:08:12

敏捷开发软件

2011-07-10 15:18:11

开发

2018-07-09 14:05:16

编程语言PythonPipenv

2024-10-30 08:19:07

2009-09-10 14:18:03

PHP库

2015-07-28 16:38:56

App移动开发

2021-11-30 17:37:14

ReactRedux

2020-05-25 16:36:19

开发工具编码

2022-01-04 19:26:42

开发人员安全性网络安全

2012-07-20 10:46:44

Web

2022-08-28 16:10:37

软件开发AI工具

2023-04-07 16:11:56

前端开发

2022-07-04 08:00:00

Web开发人员编程习惯程序员
点赞
收藏

51CTO技术栈公众号