0

0

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

WBOY

WBOY

发布时间:2023-04-19 10:37:02

|

1590人浏览过

|

来源于51CTO.COM

转载

研究人员表示,开发人员在编写代码时依赖AI(人工智能)助手会让对自己的开发工作过于自信,导致代码不太安全。 

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

研究: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。它涉及到相对较少的参与者,这些开发人员开发经验各有不同,其中包括毕业不久的大学生和经验丰富的专业人员,他们使用的是由管理员监控的专门开发的应用程序。 

MiroThinker
MiroThinker

MiroMind团队推出的研究型开源智能体,专为深度研究与复杂工具使用场景设计

下载

第一个试验采用Python编写,而那些在AI助手的帮助下编写的代码更有可能不安全或不正确。在没有AI助手帮助的对照组中, 79%的开发人员编写的代码没有质量问题;而有AI助手帮助的对照组中,只有67%的开发人员编写的代码没有质量问题。 

谨慎使用AI编码助手

在创建代码的安全性方面,情况变得更糟,因为采用AI助手的开发人员更有可能提供不安全的解决方案,或者使用简单的密码来加密和解密字符串。他们也不太可能对最终值进行真实性检查,以确保流程按预期工作。 

斯坦福大学的研究人员表示,研究结果表明,经验不足的开发人员可能倾向于相信AI助手,但有可能面临引入新的安全漏洞的风险。因此,这项研究将有助于改进和指导未来AI代码助手的设计。

软件供应商Pegasystems公司AI实验室主任Peter van der Putten表示,尽管规模很小,但这项研究非常有趣,得出的结果可以激发人们进一步研究AI助手在代码和其他领域的使用。他说:“这也与我们对AI助手依赖程度的一些更广泛的研究得出的结论相一致。” 

他警告说,采用AI助手的开发人员应该以渐进的方式获得对该工具的信任,不要过度依赖它,并了解它的局限性。他说,“对一项技术的接受程度不仅取决于对质量和性能的期望,还取决于它是否能节省时间和精力。总的来说,人们对AI助手的使用持积极态度,只要他们的期望得到管理。这意味着需要定义如何使用这些工具的最佳实践,以及采用潜在的额外功能来测试代码质量。”

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

299

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1502

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

624

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

633

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

589

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

172

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

83

2025.08.07

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

1

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
麻省理工大佬Python课程
麻省理工大佬Python课程

共34课时 | 5.2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号