论文
通过模型微调修复不安全的AI生成代码及提示策略
On Fixing Insecure AI-Generated Code through Model Fine-Tuning and Prompting Strategies
摘要
人工智能生成代码的安全性仍然是其广泛采用的主要障碍。尽管代码生成模型在功能基准测试中实现了强大的性能,但它们的输出经常包含错误和安全漏洞,从而损害了它们的可信度。之前的工作已经探索了一系列方法来缓解人工智能生成代码中的安全问题,例如使用静态分析引导的生成和提示工程。然而,它们的有效性因模型和设置的不同而存在很大差异。本文对针对常见弱点枚举 (CWE) 列表强化模型生成代码的策略进行了系统研究。我们使用 微调 和模型输出细化的提示方法来评估这些策略在多大程度上提高了模型和编程语言的安全性。除了安全漏洞的普遍性之外,我们还分析了已识别的 CWE 的严重性、它们的同时出现以及补救措施的意外后果(即修复某些漏洞是否会在同一代码的其他地方引入新的漏洞)。我们的结果表明,安全性改进高度依赖于策略和模型。尽管某些方法减少了特定类别的弱点,但它们经常引入新的弱点作为修复的副作用。此外,没有任何策略能够始终如一地消除所有模型和场景的弱点,这凸显了缺乏普遍有效的“防弹”解决方案来确保人工智能生成的安全代码。