研报总结
摘要
近期,大型语言模型(LLMs)和其他AI系统的能力显著提升,使其能够生成计算机代码。虽然这为软件开发带来了希望,但也带来了直接和间接的网络安全风险。本报告识别并分析了与AI代码生成模型相关的三大类风险:1)生成不安全代码的风险;2)模型本身易受攻击和操纵的风险;3)下游网络安全影响,如训练未来AI系统的反馈循环。
风险概述
现有的研究表明,在实验条件下,AI代码生成模型经常输出不安全的代码。然而,评估AI生成代码的安全性过程复杂且包含许多相互依赖的变量。为了进一步探索不安全AI代码的风险,我们对五种不同的LLM进行了评估。每个模型都收到了相同的提示,旨在测试可能产生错误或不安全代码的情景。评估结果显示,这些五个模型生成的代码片段中有近一半包含可能导致恶意利用的常见错误。这些结果限于评估的狭窄范围,但我们希望它们能为研究AI代码生成模型的影响做出贡献。
关键发现
- 行业采用AI代码生成模型可能对软件供应链安全构成风险。但这些风险在不同组织之间分布不均,资源充足的大公司具有优势。
- 多个利益相关方应参与减轻与AI生成代码相关的潜在安全风险。确保AI生成代码输出的安全不应仅依赖于个别用户,还应由AI开发者、大规模生产代码的组织以及可以改善整体安全性的政策制定者或行业领导者共同承担。
- 需要评估代码生成模型的安全性,但当前难以做到。代码生成模型的评估基准通常关注模型生成功能性代码的能力,而不评估其生成安全代码的能力,这可能会导致在模型训练过程中优先考虑功能而非安全性。目前缺乏关于模型训练数据透明度或内部工作原理的理解,以探究性能更好的模型是否更有可能生成不安全代码的问题。
挑战与局限
评估代码生成模型的安全性存在挑战。现有评估标准主要关注模型生成功能性代码的能力,而忽略了其生成安全代码的能力,这可能导致在模型训练过程中优先考虑功能而非安全性。模型训练数据的透明度不足,对模型内部运作机制的理解有限,使得难以探索性能更好的模型是否更有可能生成不安全代码的问题。
结论
随着AI技术的进步,AI代码生成模型的应用越来越广泛,这对网络安全构成了新的挑战。为应对这一挑战,开发者、研究人员、软件公司和政策制定者需要共同努力,确保AI生成代码的安全性,并推动相关政策和指导方针的制定。