TOSSS: a CVE-based Software Security Benchmark for Large Language Models

📄 arXiv: 2603.10969v1 📥 PDF

作者: Marc Damie, Murat Bilgehan Ertan, Domenico Essoussi, Angela Makhanu, Gaëtan Peter, Roos Wensveen

分类: cs.LG, cs.CL, cs.CR, cs.SE

发布日期: 2026-03-11


💡 一句话要点

TOSSS:基于CVE漏洞的大语言模型软件安全基准测试

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大语言模型 软件安全 基准测试 CVE漏洞 代码分析

📋 核心要点

  1. 现有LLM安全基准测试覆盖的漏洞范围有限,无法全面评估LLM在软件安全方面的能力。
  2. TOSSS通过构建基于CVE数据库的可扩展基准,让LLM在安全和易受攻击的代码片段间选择,评估其安全性。
  3. 实验评估了14个LLM在C/C++和Java代码上的表现,安全评分范围为0.48到0.89,为LLM安全评估提供参考。

📝 摘要(中文)

随着大语言模型(LLM)能力的增强,它们已被广泛应用于各个行业,成为软件工程师的得力助手,并支持各种开发任务。然而,随着LLM在软件开发流程中日益普及,一个关键问题浮出水面:LLM在软件安全方面的表现如何?鉴于全球组织在网络安全方面的大量投入,将LLM集成到软件工程流程中可能会引入新的漏洞,并削弱现有的安全措施。为此,我们提出了TOSSS(双选项安全代码片段选择),这是一个用于评估LLM在安全和易受攻击代码片段之间进行选择能力的基准测试。与现有仅涵盖有限漏洞范围的LLM安全基准不同,TOSSS依赖于CVE数据库,并提供了一个可扩展的框架,能够整合新披露的漏洞。我们的基准测试根据模型的行为给出一个0到1之间的安全评分;1分表示模型始终选择安全的代码片段,而0分表示它始终选择易受攻击的代码片段。我们评估了14个广泛使用的开源和闭源模型在C/C++和Java代码上的表现,观察到分数范围从0.48到0.89。LLM提供商已经发布了许多模型的基准分数,TOSSS可以成为一个补充性的、以安全为中心的评分,并包含在这些报告中。

🔬 方法详解

问题定义:论文旨在解决如何有效评估大型语言模型(LLM)在软件安全方面的能力的问题。现有安全基准测试覆盖的漏洞类型有限,无法全面反映LLM在实际软件开发场景中的安全性。因此,需要一个更全面、可扩展的基准测试来评估LLM识别和避免软件漏洞的能力。

核心思路:论文的核心思路是构建一个基于通用漏洞披露(CVE)数据库的基准测试,该基准测试包含大量的真实漏洞案例。通过让LLM在安全和易受攻击的代码片段之间进行选择,可以量化评估LLM的软件安全能力。这种方法能够随着新的CVE漏洞的披露而不断扩展,保持基准测试的时效性和全面性。

技术框架:TOSSS基准测试框架主要包含以下几个步骤:1) 从CVE数据库中收集漏洞信息,包括漏洞描述、受影响的代码片段等。2) 针对每个漏洞,创建两个代码片段:一个是包含漏洞的易受攻击版本,另一个是修复了漏洞的安全版本。3) 将这两个代码片段呈现给LLM,要求LLM选择更安全的代码片段。4) 根据LLM的选择结果,计算安全评分,评分范围为0到1,分数越高表示LLM的安全能力越强。

关键创新:TOSSS的关键创新在于其基于CVE数据库的可扩展性。与现有基准测试相比,TOSSS能够覆盖更广泛的漏洞类型,并且可以随着新的漏洞披露而不断更新。此外,TOSSS采用双选项选择的方式,简化了评估过程,并使得结果更易于理解和比较。

关键设计:TOSSS的关键设计包括:1) 代码片段的生成方式,需要确保两个代码片段在功能上基本相同,但一个包含漏洞,另一个不包含。2) 评估指标的选择,采用0到1之间的安全评分,能够直观地反映LLM的安全能力。3) 漏洞类型的选择,需要覆盖常见的软件漏洞类型,如缓冲区溢出、SQL注入等。

🖼️ 关键图片

fig_0
fig_1

📊 实验亮点

TOSSS基准测试评估了14个LLM在C/C++和Java代码上的表现,结果显示,不同LLM的安全评分差异显著,范围从0.48到0.89。这表明LLM在软件安全方面的能力参差不齐,需要进一步的研究和改进。TOSSS为LLM提供商提供了一个客观的评估工具,可以帮助他们改进模型,提高安全性。

🎯 应用场景

TOSSS基准测试可用于评估和比较不同LLM在软件安全方面的能力,帮助软件开发者选择更安全的LLM工具。同时,该基准测试可以促进LLM安全能力的提升,推动LLM在软件开发领域的安全应用。未来,TOSSS可以扩展到更多编程语言和漏洞类型,成为LLM安全评估的重要标准。

📄 摘要(原文)

With their increasing capabilities, Large Language Models (LLMs) are now used across many industries. They have become useful tools for software engineers and support a wide range of development tasks. As LLMs are increasingly used in software development workflows, a critical question arises: are LLMs good at software security? At the same time, organizations worldwide invest heavily in cybersecurity to reduce exposure to disruptive attacks. The integration of LLMs into software engineering workflows may introduce new vulnerabilities and weaken existing security efforts. We introduce TOSSS (Two-Option Secure Snippet Selection), a benchmark that measures the ability of LLMs to choose between secure and vulnerable code snippets. Existing security benchmarks for LLMs cover only a limited range of vulnerabilities. In contrast, TOSSS relies on the CVE database and provides an extensible framework that can integrate newly disclosed vulnerabilities over time. Our benchmark gives each model a security score between 0 and 1 based on its behavior; a score of 1 indicates that the model always selects the secure snippet, while a score of 0 indicates that it always selects the vulnerable one. We evaluate 14 widely used open-source and closed-source models on C/C++ and Java code and observe scores ranging from 0.48 to 0.89. LLM providers already publish many benchmark scores for their models, and TOSSS could become a complementary security-focused score to include in these reports.