论文

LLMVul:来自实际生产存储库的 LLM 生成的 C/C++ 函数的漏洞标记数据集

LLMVul: A Vulnerability-Labeled Dataset of LLM-Generated C/C++ Functions from Real Production Repositories

模型评测基准与评测资源

摘要

大语言模型 (LLM) 越来越多地用于生成和协助软件开发,但现有的漏洞数据集主要集中在人类编写的代码或受控提示环境上。这限制了研究 LLM 生成的代码中出现的实际软件项目中的安全漏洞的能力。我们提出了 LLMVul,这是一个从实际生产存储库中挖掘的 LLM 生成的 C/C++ 函数的漏洞标记数据集。我们使用提交元数据和人工智能相关作者证据等来源信号,从 GitHub 挖掘 4 年(2022 年 11 月 13 日至 2026 年 9 月 3 日)的人工智能辅助开发活动。经过过滤和重复数据删除后,LLMVul 包含来自 226 个存储库的 21,430 个独特的 C/C++ 函数,以及存储库、提交、函数、出处和 AI 工具元数据。我们使用互补的静态分析和基于模式的技术的集合来建立漏洞标签,并将常见弱点枚举(CWE)类别分配给已确认的易受攻击的功能。为了评估标签的可靠性,我们还进行独立的手动注释,并使用 Cohen 的 kappa ($k=0.79$) 衡量评估者间的一致性。 LLMVul 包含 1,540 个集成漏洞函数,涵盖 17 个独特的 CWE 类别,与现有面向漏洞的 LLM 代码基准相比,提供了更多真实世界的 LLM 生成的易受攻击的 C/C++ 函数。通过保留代码级漏洞标签和生成/来源元数据,LLMVul 可以对漏洞检测、LLM 生成代码的安全评估以及 AI 辅助软件开发中的漏洞模式进行可重复研究。 LLMVul 数据集可在 https://doi.org/10.5281/zenodo.22668216 上公开获取。