ByteDance/PatchEval
收藏Hugging Face2025-12-26 更新2026-01-03 收录
下载链接:
https://hf-mirror.com/datasets/ByteDance/PatchEval
下载链接
链接失效反馈官方服务:
资源简介:
PatchEval是一个基准测试,旨在系统评估LLMs和代理在自动漏洞修复任务中的表现。它包含1,000个来自2015年至2025年报告的CVE漏洞,覆盖65个CWE类别,涉及Go、JavaScript和Python三种编程语言。其中230个CVE配备了Docker化的沙盒环境,支持通过概念验证(PoC)和单元测试进行运行时补丁验证。每个漏洞实例都是一个JSON对象,包含CVE ID、描述、CWE信息、仓库URL、补丁URL、编程语言、漏洞代码片段、修复代码片段、补丁差异、PoC测试命令和单元测试命令等信息。
PatchEval is a benchmark designed to systematically evaluate LLMs and Agents in the task of automated vulnerability repair. It includes 1,000 vulnerabilities sourced from CVEs reported between 2015 and 2025, covering 65 CWE categories across Go, JavaScript, and Python. A subset of 230 CVEs is paired with Dockerized sandbox environments that enable runtime patch validation through Proof-of-Concept (PoC) and unit testing. Each vulnerability in the PatchEval dataset is a JSON object with fields such as CVE ID, description, CWE info, repository URL, patch URLs, programming language, vulnerable code snippets, fixed code snippets, patch diff, PoC test command, and unit test command.
提供机构:
ByteDance搜集汇总
数据集介绍

构建方式
在软件安全领域,自动化漏洞修复是提升系统韧性的关键挑战。PatchEval基准数据集由字节跳动精心构建,旨在系统评估大语言模型与智能体在自动化漏洞修复任务中的表现。该数据集收录了2015年至2025年间报告的1000个CVE漏洞,覆盖Go、JavaScript和Python三种编程语言,横跨65种CWE类别。每个漏洞实例以JSON格式呈现,包含CVE标识符、官方描述、CWE详情、GitHub仓库地址、补丁链接、编程语言、漏洞代码片段、修复代码片段及补丁差异信息。特别地,其中230个CVE配备了Docker化沙盒环境,支持通过概念验证与单元测试命令进行运行时补丁验证。这种结构化设计确保了数据集的全面性与可复现性。
使用方法
研究人员可通过HuggingFace平台直接获取PatchEval数据集,每个实例以JSON对象形式提供,便于解析与集成。使用时,用户可基于CVE标识符、编程语言或CWE类别筛选特定子集。对于配备Docker环境的230个实例,研究者可运行poc_test_cmd与unit_test_cmd字段中的命令,在沙盒中自动执行补丁验证,从而量化模型修复的有效性。数据集兼容主流深度学习框架,支持通过标准API加载,适合用于微调、评估或对比实验。建议结合官方提供的引用信息与Apache 2.0许可证条款,在学术研究中规范使用并注明出处。
背景与挑战
背景概述
随着软件系统规模的日益庞大,安全漏洞的频发已成为网络空间安全领域的核心挑战之一。尽管大语言模型在代码生成与理解方面展现出惊人潜力,其在自动化漏洞修复任务中的实际效能仍缺乏系统性评估。在此背景下,由字节跳动等机构的研究人员于2025年提出的PatchEval基准数据集应运而生。该数据集精心收录了2015年至2025年间报告的1000个真实世界漏洞,覆盖Go、JavaScript和Python三种主流编程语言,横跨65种通用弱点枚举类别。其中230个漏洞配备了完整的Docker化沙盒环境,支持通过概念验证和单元测试进行运行时补丁验证。PatchEval的发布为量化评估大语言模型在自动化漏洞修复领域的表现提供了标准化测试平台,对推动软件安全自动化研究具有里程碑意义。
当前挑战
PatchEval所聚焦的自动化漏洞修复任务面临多重严峻挑战。首先,真实世界漏洞的修复往往需要深入理解代码上下文与业务逻辑,而现有大语言模型在捕捉跨函数、跨文件的复杂依赖关系方面仍显不足,导致生成的补丁可能仅通过局部测试却无法真正消除安全风险。其次,数据集的构建过程需从海量CVE报告中精准提取漏洞函数与修复补丁,并确保其对应关系的准确性,这一过程面临噪声数据、补丁不完整以及版本兼容性等难题。此外,为230个漏洞构建可复现的Docker化验证环境,要求研究人员克服软件依赖冲突、环境配置差异以及概念验证脚本的适配性挑战。最后,如何设计能够同时度量补丁正确性、安全性与最小性的评估指标,仍是该领域悬而未决的关键问题。
常用场景
经典使用场景
在软件安全领域,自动化漏洞修复一直是极具挑战性的研究课题。PatchEval数据集凭借其涵盖2015至2025年间1000个真实CVE漏洞、横跨Go、JavaScript与Python三种编程语言及65种CWE类别的丰富构成,成为评估大语言模型与智能体在漏洞自动修复任务中表现的标准基准。其经典使用场景聚焦于利用230个配备Docker沙箱环境的CVE子集,通过PoC与单元测试命令实现运行时补丁验证,从而系统性地衡量模型生成补丁的功能正确性与安全有效性。
解决学术问题
长期以来,学术界缺乏一个覆盖广泛、真实且具备可验证环境的漏洞修复评估基准,导致不同模型与方法的性能对比缺乏统一标尺。PatchEval通过提供结构化漏洞数据、补丁差异信息及可复现的验证环境,解决了自动漏洞修复研究中评估标准不一、实验难以复现的核心痛点。该数据集不仅推动了代码生成模型在安全场景下的性能度量标准化,更促使研究者关注补丁的运行时行为而非仅静态匹配,对提升自动化修复的可靠性与实用性具有深远意义。
实际应用
在实际应用中,PatchEval为DevOps安全流水线中的自动化漏洞修复环节提供了关键支撑。开发团队可借助该数据集训练与筛选具备高修复成功率的LLM或Agent模型,将其集成至持续集成/持续部署流程中,实现对代码仓库中新增漏洞的智能识别与自动补丁生成。此外,安全审计机构可利用其Docker化验证环境,在隔离沙箱中快速验证补丁的有效性,从而大幅缩短从漏洞发现到修复验证的周期,降低软件供应链的安全风险。
数据集最近研究
最新研究方向
随着软件供应链安全日益成为全球关注焦点,自动化漏洞修复成为大语言模型应用的前沿热点。PatchEval作为首个系统性评估LLM与智能体在真实世界漏洞修复能力的基准,覆盖2015至2025年间1000个CVE漏洞,横跨Go、JavaScript与Python三种语言及65种CWE类别,其子集更配备Docker沙箱环境支持运行时验证。该数据集不仅为模型提供标准化的补丁生成与验证框架,还通过PoC与单元测试的双重机制推动修复可靠性研究,对提升开源软件生态韧性具有重要实践意义。
以上内容由遇见数据集搜集并总结生成




