氛围编程
Veracode首席技术官延斯·韦斯林(Jens Wessling)表示:“氛围编程(vibe coding)的兴起,标志着软件开发方式的根本转变。在氛围编程中,开发者通常依赖AI生成代码,且不明确规定安全要求,这种趋势的主要问题在于,开发者无需指定安全约束就能得到想要的代码,实际上是将安全编码决策交给了大语言模型。我们的研究发现,GenAI模型近一半时间会做出错误选择,且情况并未改善。”
AI正助力攻击者更快地识别和利用安全漏洞,借助AI的工具可以大规模扫描系统、识别弱点,甚至只需极少的人工输入就能生成攻击代码,这降低了技术不足的攻击者的准入门槛,提高了攻击的速度和复杂程度,对传统安全防御构成了威胁,不仅漏洞数量在增加,利用漏洞也变得更加容易。
大语言模型在代码中引入大量安全漏洞
为评估AI生成代码的安全性,Veracode设计了80个编程任务,旨在暴露美国国家安全局下属的MITRE公司通用弱点枚举(CWE)系统定义的常见软件弱点。每个任务都要求100多个大语言模型完成代码片段,并可选择安全或不安全的实现方式。
研究结果令人震惊:在所有测试案例中,45%的大语言模型生成的代码包含符合OWASP十大安全风险列表(最严重的Web应用程序安全风险列表)的漏洞。
某些编程语言的问题尤为突出,Java的失败率最高,大语言模型生成的代码超过70%存在安全缺陷。Python、C#和JavaScript紧随其后,失败率在38%至45%之间。
大语言模型在应对特定类型漏洞时也表现不佳,86%的代码样本未能防范跨站脚本攻击(CWE-80),88%的样本易受日志注入攻击(CWE-117)。
韦斯林说:“我们的研究表明,模型在准确编码方面有所进步,但在安全性方面并无改善。我们还发现,大型模型的表现并不显著优于小型模型,这表明这是一个系统性问题,而非大语言模型扩展问题。”
保障AI驱动的软件流程安全
虽然氛围编程等GenAI开发实践提高了生产效率,但也放大了风险。研究人员强调,组织需要建立风险管理程序,通过将代码质量检查和自动修复直接集成到开发工作流程中,在漏洞进入生产环节前加以预防。
随着组织越来越多地利用AI驱动的开发,Veracode建议采取以下积极措施确保安全:
• 将AI工具集成到开发者工作流程中,实时修复安全风险。
• 利用静态分析尽早自动检测缺陷,防止存在漏洞的代码进入开发流程。
• 将安全嵌入智能体工作流程中,实现策略合规自动化,确保AI智能体执行安全编码标准。
• 使用软件成分分析(SCA),确保AI生成的代码不会引入第三方依赖项和开源组件中的漏洞。
• 采用AI驱动的修复指导,为开发者提供修复指令,并培训他们使用这些建议。
• 部署防火墙,自动检测和阻止恶意软件包、漏洞和策略违规行为。
企业网D1net(www.d1net.com):
国内头部to B IT门户,旗下运营国内最大的甲方CIO专家库和智力输出及社交平台-信众智(www.cioall.com)。旗下运营19个IT行业公众号(微信搜索D1net即可关注)。
版权声明:本文为企业网D1Net编译,转载需在文章开头注明出处为:企业网D1Net,如果不注明出处,企业网D1Net将保留追究其法律责任的权利。