AI 生成的代码可信吗?

简介: AI 编码工具如 GitHub Copilot 正在改变软件开发方式,能根据输入内容自动补全代码,提高效率。然而,AI 生成的代码常存在漏洞,安全性问题突出。研究显示,其生成代码约 40% 含安全缺陷。尽管如此,开发者仍看好其潜力,认为结合代码审查工具与持续优化,AI 将推动编程方式革新。

目前,大部分的软件开发人员会让 AI 帮助开发者们编写代码,但是开发人员发现 AI 会像程序员的代码一样还是存有 bug。

去年 6 月,提供托管和代码协作工具的微软子公司 GitHub 发布了一个测试版的程序,该程序使用人工智能来帮助程序员。开始输入命令、数据库查询或对 API 的请求,Copilot 的程序将猜测您的意图并编写其余部分。

注册测试 Copilot 的生物技术公司的数据科学家Alex Naka 表示,该程序非常有用,并且改变了他的工作方式。“它让我花更少的时间跳转到浏览器来查找 API 文档或 Stack Overflow 上的示例,”他说。“感觉有点像我的工作已经从代码生成器转变为代码鉴别器。”

但是 Naka 发现错误会以不同的方式渗透到他的代码中。“有时我在接受其中一项建议时会遗漏某种微妙的错误,”他说。“而且很难追踪到这一点,也许是因为它所犯的错误似乎与我所犯的错误不同。”

AI 生成的代码错误可能更高

AI 生成错误代码的风险可能高得惊人。纽约大学的研究人员最近分析了 Copilot 生成的代码,发现对于某些安全性至关重要的任务,该代码大约有 40% 的时间包含安全漏洞。

参与分析的纽约大学教授 Brendan Dolan-Gavitt 说,这个数字“比我预期的要高一点”。“但 Copilot 的训练方式实际上并不是为了编写正确的代码——它只是根据给定的提示生成那种文本。”

尽管存在这些缺陷,Copilot 和类似的人工智能工具可能预示着软件开发人员编写代码的方式将发生翻天覆地的变化。人们越来越有兴趣使用人工智能来帮助自动化更平凡的工作。但 Copilot 也强调了当今人工智能技术的一些缺陷。

AI 编码工具

在分析 Copilot 插件可用的代码时,Dolan-Gavitt 发现它包含一个受限短语列表。这些显然是为了防止系统脱口而出冒犯性信息或复制其他人编写的知名代码。

GitHub 研究副总裁兼 Copilot 开发人员之一 Oege de Moor 表示,安全性从一开始就是一个问题。他表示,纽约大学研究人员引用的有缺陷代码的百分比仅与更可能存在安全缺陷的代码子集相关。(aly.jtronik.com)

De Moor 发明了 CodeQL,这是纽约大学研究人员使用的一种工具,可以自动识别代码中的错误。他说 GitHub 建议开发人员将 Copilot 与 CodeQL 一起使用,以确保他们的工作安全。

GitHub 程序建立在 OpenAI 开发的人工智能模型之上,OpenAI 是一家在机器学习领域从事前沿工作的著名人工智能公司。该模型称为 Codex,由一个大型人工神经网络组成,经过训练可以预测文本和计算机代码中的下一个字符。该算法提取了存储在 GitHub 上的数十亿行代码用来学习如何编写代码,但并非全部都是完美的。

OpenAI 在 Codex 之上构建了自己的 AI 编码工具,可以执行一些令人惊叹的编码技巧。它可以将类型化指令(例如“创建 1 到 100 之间的随机变量数组,然后返回其中最大的一个”)转换为多种编程语言的工作代码。

同一个 OpenAI 程序的另一个版本,称为 GPT-3,可以在给定的主题上生成连贯的文本,但它也可以从网络上学到有攻击性或有偏见的语言。

Copilot 和 Codex 已经让一些开发人员怀疑 AI 是否可以将它们自动化。事实上,正如 Naka 的经验所示,开发人员需要相当的技能才能使用该程序,因为他们经常必须审查或调整其建议。

结 语

纽约大学参与 Copilot 代码分析的博士后研究员 Hammond Pearce 表示,该程序有时会产生有问题的代码,因为它不能完全理解一段代码想要做什么。“漏洞通常是由于缺乏开发人员需要了解的上下文造成的,”他说。

一些开发人员担心人工智能已经养成了坏习惯。曾尝试使用 AI 生成代码但尚未尝试使用 Copilot 的软件开发人员 Maxim Khailo 表示“作为一个行业,我们一直在努力摆脱复制粘贴解决方案,现在 Copilot 已经创建了一个增压版本。”

Khailo 说黑客可能会干扰像 Copilot 这样的程序。“如果我是个坏人,我会做的就是在 GitHub 上创建易受攻击的代码项目,通过在黑市上购买 GitHub 明星来人为地提高它们的知名度,并希望它成为下一轮训练的语料库的一部分。”

GitHub 和 OpenAI 都表示,相反,他们的 AI 编码工具只会变得不那么容易出错。OpenAI 表示它会手动和使用自动化工具来审查项目和编码。

GitHub 的 De Moor 表示,最近对 Copilot 的更新应该降低了安全漏洞的频率。但他补充说,他的团队正在探索其他提高 Copilot 输出的方法。一种是删除底层 AI 模型从中学习的不良示例。另一种可能是使用强化学习,在游戏和其他领域产生了一些令人印象深刻的结果的人工智能技术,来自动发现不良输出,包括以前看不见的例子。“正在发生巨大的改进,”他说。“几乎无法想象一年后它会是什么样子。”

相关文章
|
1月前
|
云安全 人工智能 自然语言处理
阿里云x硅基流动:AI安全护栏助力构建可信模型生态
阿里云AI安全护栏:大模型的“智能过滤系统”。
|
1月前
|
人工智能 IDE Java
AI Coding实践:CodeFuse + prompt 从系分到代码
在蚂蚁国际信贷业务系统建设过程中,技术团队始终面临双重考验:一方面需应对日益加速的需求迭代周期,满足严苛的代码质量规范与金融安全合规要求;另一方面,跨地域研发团队的协同效率与代码标准统一性,在传统开发模式下逐渐显现瓶颈。为突破效率制约、提升交付质量,我们积极探索人工智能辅助代码生成技术(AI Coding)的应用实践。本文基于蚂蚁国际信贷技术团队近期的实际项目经验,梳理AI辅助开发在金融级系统快速迭代场景中的实施要点并分享阶段性实践心得。
342 25
AI Coding实践:CodeFuse + prompt 从系分到代码
|
2月前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
646 109
|
2月前
|
数据采集 人工智能 监控
零代码改造!LoongSuite AI 采集套件观测实战
在 AI 时代,随着模型和应用侧的快速演化,对于推理过程,成本和性能显得尤为重要,而端到端的 AI 可观测是其中至关重要的一环。本文将介绍端到端 AI 可观测的基本概念与痛点,并通过阿里云可观测团队最新开源的 AI 采集套件 LoongSuite Agent 来对大模型应用进行全链路可观测以解决这些痛点。帮助客户无侵入,低成本地进行全链路的大模型可观测。
303 44
零代码改造!LoongSuite AI 采集套件观测实战
|
1月前
|
人工智能 自然语言处理 安全
氛围编程陷阱:为什么AI生成代码正在制造大量"伪开发者"
AI兴起催生“氛围编程”——用自然语言生成代码,看似高效实则陷阱。它让人跳过编程基本功,沦为只会提示、不懂原理的“中间商”。真实案例显示,此类项目易崩溃、难维护,安全漏洞频出。AI是技能倍增器,非替代品;真正强大的开发者,永远是那些基础扎实、能独立解决问题的人。
190 11
氛围编程陷阱:为什么AI生成代码正在制造大量"伪开发者"
|
1月前
|
人工智能 机器人 测试技术
AI写的代码为何金玉其外败絮其中
本文分析AI编码看着好看其实很烂的现象、原因,探索行之有效的的解决方案。并从理论上延伸到如何更好的与AI协作的方式上。
70 3
|
2月前
|
人工智能 测试技术 开发工具
如何将 AI 代码采纳率从30%提升到80%?
AI编码采纳率低的根本原因在于人类期望其独立完成模糊需求,本文提出了解决之道,讲解如何通过结构化文档和任务拆解提高AI的基础可靠性。
923 24
|
2月前
|
人工智能 数据可视化 定位技术
不会编程也能体验的 AI 魔法,外滩大会代码原生地等你解锁
不会编程也能体验的 AI 魔法,外滩大会代码原生地等你解锁
397 39
|
2月前
|
数据采集 人工智能 监控
零代码改造!LoongSuite AI 采集套件观测实战
本文介绍了AI应用生态的快速发展及可观测性的重要性,重点阐述了LLM(大语言模型)应用的复杂性对全链路监控的需求。LoongSuite作为开源的可观测性数据采集套件,提供无侵入式埋点、全栈观测与多语言支持,助力AI应用实现从端侧到模型层的端到端链路追踪,提升系统稳定性与运维效率。
184 1
|
1月前
|
人工智能 监控 Java
零代码改造 + 全链路追踪!Spring AI 最新可观测性详细解读
Spring AI Alibaba 通过集成 OpenTelemetry 实现可观测性,支持框架原生和无侵入探针两种方式。原生方案依赖 Micrometer 自动埋点,适用于快速接入;无侵入探针基于 LoongSuite 商业版,无需修改代码即可采集标准 OTLP 数据,解决了原生方案扩展性差、调用链易断链等问题。未来将开源无侵入探针方案,整合至 AgentScope Studio,并进一步增强多 Agent 场景下的观测能力。
1347 37

热门文章

最新文章

下一篇
oss云网关配置