遇见数据集

Vulnerability Localization Benchmark

收藏
github2026-07-21 更新2026-07-23 收录
官方服务:

资源简介:

Vulnerability Localization Benchmark是一个用于评估AI模型在仓库规模漏洞定位上的代理基准。给定漏洞描述和对代码库的只读终端访问权限,模型必须探索仓库并识别包含安全漏洞的文件。关键特征包括:来自公共GitHub安全公告的500个真实世界漏洞、两阶段评估(阶段A:查找漏洞,阶段B:确认修复)、多生态系统覆盖(npm、pip、maven、go、rust、composer)、Docker沙盒评估环境以及可通过MD5验证的数据集可重现性。

Vulnerability Localization Benchmark is a proxy benchmark for evaluating AI models' performance on repository-scale vulnerability localization tasks. Given a vulnerability description and read-only terminal access to a target codebase, the model must explore the repository and identify files that harbor security vulnerabilities. Key features of this benchmark include: 500 real-world vulnerability samples sourced from public GitHub security advisories; a two-stage evaluation protocol (Stage A: Vulnerability Discovery; Stage B: Fix Validation); coverage across multiple software ecosystems including npm, pip, maven, go, rust, and composer; a Docker sandboxed evaluation environment; and dataset reproducibility verifiable via MD5 checksums.

创建时间:
2026-07-21
原始信息汇总

数据集概述:Vulnerability Localization Benchmark

这是一个用于评估AI模型在仓库级别定位安全漏洞能力的基准测试(Benchmark)。

核心目标

  • 任务:给定一个漏洞描述和代码库的终端只读访问权限,模型需要探索仓库,识别出包含安全漏洞的文件。
  • 评估方式:端到端的本地化性能衡量,基于真实的终端交互环境,而非静态代码理解。

关键特性

  1. 数据规模:包含500个来自公开GitHub安全公告的真实世界漏洞。
  2. 两阶段评估
    • 阶段A(Pre-push):模型探索存在漏洞的代码库,提交其认为包含漏洞的文件。评分指标为文件F1分数。
    • 阶段B(Post-push):模型探索已修补的代码库,应声明“未发现漏洞”。评分指标为真负率。
  3. 多生态系统覆盖:涵盖npm、pip、maven、go、rust、composer六个生态系统。
  4. 沙盒化评估环境:使用Docker容器构建隔离的评估环境。
  5. 可复现性:数据集使用MD5校验和进行验证,确保结果可复现。
  6. 技术报告:待发布。

数据集详情

  • 漏洞来源:来自公共GitHub安全公告。
  • CVE分配:78%的漏洞拥有分配的CVE编号。
  • 严重程度分布
严重程度 数量
219
194
严重 57
30
  • CWE类型分布(147个独特类型)
CWE类型 数量
CWE-400 (资源耗尽) 53
CWE-20 (输入验证不当) 45
CWE-200 (信息暴露) 27
CWE-22 (路径遍历) 27
CWE-770 (无限制的资源分配) 23
  • 许可证分布
许可证 数量 百分比
Apache-2.0 241 48.2%
MIT 161 32.2%
其他 46 9.2%
GPL-3.0 15 3.0%
LGPL 12 2.4%
MPL-2.0 12 2.4%
BSD-3-Clause 5 1.0%
Creative Commons 4 0.8%
ISC 2 0.4%
GPL-2.0 1 0.2%
AGPL-3.0 1 0.2%
  • 每个条目提供
    • pre_push.zip:存在漏洞的提交版本(阶段A输入)。
    • post_push.zip:修复合并后的仓库版本(阶段B输入)。
    • ground_truth_files:安全补丁修改的代码文件(排除测试和非代码文件)。
    • cwe_description:通用的CWE定义(用于评估提示)。

评估协议

  • 代理行为
    • 每个条目最多15次终端调用。
    • 最多20个回合(生成周期)。
    • 若模型连续3回合无工具调用,则强制停止。
    • 终端预算耗尽后,提示提交。
    • frequency_penalty=0.3 防止重复循环。
  • 关键参数:每次生成上限为16384个token。

使用方式

  1. 环境准备:需要Python 3.11+、Docker以及一个支持OpenAI兼容API的模型服务器(如vLLM)。
  2. 安装:克隆仓库,安装Python包,构建Docker沙盒镜像,下载并验证数据集。
  3. 运行评估:通过CLI工具分别运行阶段A和阶段B的评估。

数据集许可证

  • 数据集中的公开漏洞数据和开源仓库保留其原始许可证。基准测试代码采用Apache License 2.0许可。
搜集汇总
数据集介绍
Vulnerability Localization Benchmark 数据集图片
构建方式
该基准数据集源自GitHub Security Advisories中公开的真实世界漏洞,精心遴选出500个样本,覆盖npm、pip、maven、go、rust、composer六大生态系统。每个样本对应一个漏洞仓库,其构建以漏洞提交前的脆弱代码快照(pre_push.zip)与修复后的补丁代码快照(post_push.zip)为核心,辅以包含漏洞根源文件路径的ground truth标注。数据集的获取与完整性验证通过MD5校验机制确保,所有仓库镜像均保留其原始开源许可不变。
特点
数据集最具特色之处在于其两阶段评估协议:Phase A聚焦于模型在脆弱代码库中定位漏洞文件的能力,以文件级F1分数为评价指标;Phase B则检验模型面对已修复代码库时,能否正确判定“无漏洞存在”,并以真阴性率进行衡量。此外,每项任务限定15次终端调用与最多20轮生成回合,模拟真实环境下有限探索预算的挑战。数据集涵盖147种CWE类型,其中资源耗尽、输入验证不当与信息泄露占据前列,突显了漏洞类型的多样性。
使用方法
使用该基准需先搭建Docker沙箱环境并下载验证数据集。评估时需启动兼容OpenAI API的模型服务(如vLLM),通过CLI命令指定配置与模型参数运行Phase A或Phase B。模型将以只读终端方式探索代码库,在约束预算内提交疑似存在漏洞的文件路径。评估结果按条目输出为JSON文件,包含分数、元数据及完整对话轨迹,最终汇总至聚合文件。研究者还可通过提交模型性能数据参与公开排行榜,以推动安全定位能力的横向比较。
背景与挑战
背景概述
随着软件系统的日益复杂,安全漏洞的定位成为保障系统可靠性的关键挑战。由Cisco Foundation AI团队于2024年创建的Vulnerability Localization Benchmark数据集,旨在评估人工智能模型在仓库级代码中定位安全漏洞的能力。该数据集涵盖500个来自npm、pip、maven、go、rust及composer六大生态系统的真实世界漏洞,其中78%已分配CVE编号。其核心研究问题在于模拟真实场景下的终端交互式代码探索,以检验模型能否根据漏洞描述有效定位脆弱文件,从而推动智能化漏洞检测领域的发展。该基准的提出为安全审计与自动补丁生成提供了标准化评估框架,对提升软件供应链安全性具有深远影响。
当前挑战
该数据集所针对的领域难题在于:传统的静态代码理解基准无法模拟真实仓库探索中的动态交互与上下文感知需求。构建过程中面临的多重挑战包括:首先需从海量安全公告中筛选并重构500个跨生态系统的真实漏洞实例,确保每个样本均包含漏洞提交与修复版本,同时需处理因仓库删除或版本迁移导致的镜像维护问题;其次需设计两阶段评估协议(漏洞定位与修复确认),并限定15次终端调用预算以模拟实际探查约束;最后需在沙盒化Docker环境中确保评估的可复现性与命令安全性,同时通过MD5校验保障数据集的完整性。这些挑战共同塑造了该基准在复杂性与实用性上的前沿地位。
常用场景
经典使用场景
在软件安全领域,随着开源代码库的日益庞大和复杂化,如何高效精准地定位安全漏洞已成为研究焦点。Vulnerability Localization Benchmark 设计用于评估人工智能模型在仓库级代码环境中进行漏洞定位的能力。其经典使用场景是:给定一条具体的漏洞描述(如CVE编号或CWE类型),模型需要像一名真实的安全工程师一样,通过只读终端交互的方式深入探索整个代码仓库,自主导航目录、读取文件,最终准确识别出包含安全缺陷的文件。该基准测试包含500个来源于GitHub安全公告的真实世界漏洞,横跨npm、pip、maven、Go、Rust、Composer六大生态,并设计了A阶段(发现漏洞)与B阶段(确认修复)的两阶段评估协议,全面模拟了从漏洞发现到修复验证的完整工作流。
衍生相关工作
围绕Vulnerability Localization Benchmark已催生了一系列经典工作。最直接的是,该基准测试作为评估协议被众多前沿模型所采用,其公开排行榜上已收录了来自闭源前沿模型与开源权重模型的性能数据,推动了模型在工具调用和长上下文推理上的迭代优化。其次,研究者基于该数据集衍生出针对特定CWE类型(如CWE-400资源耗尽或CWE-20输入验证失败)的细粒度评估分析,揭示了不同模型在应对不同漏洞模式时的能力短板。此外,该基准测试的两阶段设计启发了后续关于漏洞修复验证的独立研究,即不仅仅关注漏洞发现,更强调对补丁正确性的判别,这催生了“后推送”阶段模型拒绝给出误报的能力评估,成为判断模型安全稳健性的重要标准。最后,其Docker沙箱与终端代理架构也被复用到其他软件工程任务(如调试与性能分析)的基准评测中,成为了代理式代码理解的一个通用范式。
数据集最近研究
最新研究方向
基于真实世界漏洞库的智能体基准测试正成为软件安全评估的前沿方向。Vulnerability Localization Benchmark通过整合500个来自GitHub安全公告的实际漏洞(覆盖npm、pip等六大生态),构建了一个独特的端到端仓库级漏洞定位评估框架。该基准创新性地设计了两阶段评估协议:Phase A要求AI模型在模拟终端环境中自主探索代码库并定位漏洞文件,而Phase B则检验其对补丁后代码的正确判断能力。研究关注点已从静态代码理解转向动态、交互式的安全分析范式,尤其聚焦于大语言模型在多文件、跨仓库规模下的安全推理能力。该基准还建立了公开排行榜机制,推动AI辅助安全审计的标准化评估,对提升软件供应链安全具有重要实践价值。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务