作者:AJ Dellinger
我们正处于Vibe编码的时代,允许人工智能模型根据开发人员的提示生成代码。不幸的是,在引擎盖下,氛围很糟糕。根据最近的报告由数据安全公司VeraCode发布的所有AI生成的代码中约有一半包含安全缺陷。
VeraCode通过使用不同的编码语言到构建不同类型的应用程序,完成了80个单独的编码任务,负责100多种不同的语言模型。根据报告,每个任务都有已知的潜在漏洞,这意味着模型可能以安全或不安全的方式来解决每个挑战。如果安全性是您的首要任务,则结果并不是完全鼓舞人心的,只有55%的任务最终生成了安全代码。
现在,如果这些漏洞很容易被修补或缓解,那是一回事。但是他们经常有很大的洞。安全检查失败的45%的代码产生的漏洞是该漏洞的一部分开放全球应用程序安全项目的前10名安全漏洞 - 诸如损坏的访问控制,加密故障和数据完整性故障等问题。基本上,输出有足够大的问题,除非您希望被黑客入侵,否则您不会只想将其旋转并将其推开。
不过,这项研究的最有趣的发现也许不仅仅是AI模型定期生产不安全的代码。模型似乎不会变得更好。在过去的两年中,语法已经显着改善,而LLM几乎一直都在生产可编译的代码,但所述代码的安全基本上一直保持平坦。甚至较新的模型也无法生成更安全的代码。
AI生成的代码的安全输出基线的事实不是一个问题,因为在编程中使用AI是变得更受欢迎,攻击的表面积正在增加。本月早些时候404媒体报道了黑客如何设法使Amazon的AI编码代理删除计算机的文件,该文件是通过将带有隐藏说明的恶意代码用于该工具的GitHub存储库中使用的。
同时,随着人工智能代理人变得越来越普遍,所以能够破解相同代码的代理商。最近的研究在加利福尼亚大学伯克利分校之外,发现AI模型越来越擅长识别代码中的可利用错误。因此,AI模型一直在生成不安全的代码,而其他AI模型在发现这些漏洞并利用它们的情况下变得非常出色。一切都很好。