模型更新更大却更安全吗:代码功能与安全差距的纵向研究
Newer and Bigger, but Safer? A Longitudinal Study of the Functionality-Security Gap in LLM-Generated Code
摘要
大语言模型(LLM)广泛用于生成代码。尽管它们的功能合理性不断提高,但生成的代码通常包含安全漏洞。功能安全差距捕获通过功能测试但未通过安全测试的代码。最近对三个型号系列的纵向研究得出的结论是,LLM 变得更聪明,但并没有更安全,唯一考虑的 开放权重 系列则停滞不前。这是否适用于其他(开放权重)系列,特别是紧凑型型号,仍然悬而未决。我们对来自 7 个型号系列的 32 款 LLM(5 款 开放权重)之间的差距进行了纵向研究,涵盖了每个系列的旗舰版和紧凑型版本的三个连续版本。我们使用 CWEval 处理 5 种编程语言的 119 项任务和 31 种 CWE,比较不同系列、模型大小和语言的轨迹。从绝对值来看,较新的型号确实变得更安全,尽管没有哪个系列可以缩小差距。与之前的工作不同,我们发现开放性并没有将这些系列分开:每个考虑的 开放权重 系列都显着缩小了差距,而 Gemini 3.1 Pro 保持了与 Llama 报告的差距一样大的差距。紧凑型型号通常生成的代码安全性低于旗舰型号,但有明显的例外(例如 Gemini 3.7 Flash)。在 CWE 级别,我们确认了日志注入 (CWE-117) 和 HTTP 响应分割 (CWE-113) 等持续存在的弱点,以及记忆上最新专有模型的回归和整数弱点,并表明相同的 CWE 在不同语言中具有非常不同的风险。从这些结果中,我们得出了对 LLM 供应商、研究人员和开发人员的启示。特别是,开发人员既不应该假设升级可以提高安全性,也不应该假设专有模型更安全;他们应该在每次模型更改后重新运行安全检查,并在模型上下文中提供安全的 API。
