five

chromium-e8-rag

收藏
Hugging Face2026-05-17 更新2026-05-18 收录
下载链接:
https://huggingface.co/datasets/mingscai/chromium-e8-rag
下载链接
链接失效反馈
官方服务:
资源简介:
E8数据集是一个专为Agent Zero-shot + Filesystem RAG(检索增强生成)实验设计的Chromium CVE(通用漏洞披露)本地化数据集。作为E7实验的扩展版本,它在原有智能体循环基础上,增加了基于磁盘的文件系统RAG语料库,使智能体能够通过grep、cat、jq等命令直接检索相关CVE信息,而无需依赖向量检索机制。数据集核心包含约1150个Chromium项目的CVE样本,涵盖训练集和验证集,并以结构化JSON格式组织,存储在分层目录中:按完整CVE ID(full/<CVE-ID>.json)、按CWE(常见弱点枚举)分类(by_cwe/<CWE-XXX>/)以及按代码模块(by_module/<a/b>/)进行分类。数据集通过明确的ID文件(chromium_{train,val,test}_ids.txt)划分为训练、验证和测试三个子集。它支持三种输入变体任务:1) issue_summary:基于修复前的bug报告;2) cve_desc_restated:基于修复后重新表述的CVE描述;3) cve_desc:基于原始的CVE描述。评估任务包括识别相关文件(related)和定位根本原因(root_cause)。该数据集主要用于漏洞定位研究,特别适用于测试智能体在零样本设置下结合文件系统检索进行代码漏洞分析的能力。

The E8 dataset is a localized Chromium CVE (Common Vulnerabilities and Exposures) dataset specifically designed for Agent Zero-shot + Filesystem RAG (Retrieval-Augmented Generation) experiments. As an extension of the E7 experiment, it adds a disk-based filesystem RAG corpus on top of the original agent loop, enabling agents to directly retrieve relevant CVE information using commands like grep, cat, and jq, without the need for vector retrieval mechanisms. The dataset core contains approximately 1150 CVE samples from Chromium projects, covering training and validation sets. The data is organized in structured JSON format and stored in hierarchical directories: by full CVE ID (full/<CVE-ID>.json), by CWE (Common Weakness Enumeration) classification (by_cwe/<CWE-XXX>/), and by code module (by_module/<a/b>/). The dataset is divided into training, validation, and test subsets via explicit ID files (chromium_{train,val,test}_ids.txt). It supports three input variant tasks: 1) issue_summary: based on pre-fix bug reports; 2) cve_desc_restated: based on post-fix restated CVE descriptions; 3) cve_desc: based on original CVE descriptions. Evaluation tasks include identifying related files (related) and locating root causes (root_cause). The dataset is primarily used for vulnerability localization research, particularly suited for testing agents capabilities in zero-shot settings combined with filesystem retrieval for code vulnerability analysis.
创建时间:
2026-05-14
原始信息汇总

数据集概述:E8 — Agent Zero-shot + Filesystem RAG (Chromium CVE Localization)

数据集描述

该数据集是 E8 实验(位于 vuln 仓库)所使用的全部文件集合。E8 实验在 E7 的 Agent 循环基础上,增加了一个挂载在磁盘上的 TRAIN/VAL CVE 语料库,Agent 可通过 grepcatjq 等工具从该语料库中检索信息。不涉及向量检索,Agent 自行选择搜索角度。

数据集布局

数据集结构镜像了源仓库的目录组织,主要包含以下部分:

启动与脚本

  • run_e8_agent.sh:实验启动器(封装了 scripts/e8_agent.py
  • scripts/e8_agent.py:E8 主 Agent 循环
  • scripts/e7_agent.py:E7 的并行版本(被 E8 文档引用)

提示词配置文件(configs/agent_prompts/

  • e8_rag_addendum.txt:追加到每个 E8 任务提示词末尾的补充内容
  • system_prompt.txt:工具调用系统提示词
  • system_prompt_no_toolcall.txt:不支持工具调用的模型的备用提示词
  • task_cve_desc.txt.j2:任务变体(原始 CVE 描述)
  • task_cve_desc_restated.txt.j2:任务变体(清理后的修复后描述)
  • task_issue_summary.txt.j2:任务变体(修复前的 Bug 报告)

预处理与工具

  • precompute/export_train_cves_for_rag.py:从 JSONL 文件重建 data/train_cves/ 语料库
  • utils/agent_runner.py:轻量级 SWE-agent 运行器及工作树管理器
  • utils/dataset.pyutils/metrics.py:与 E6/E7 共享的数据集和指标工具
  • utils/matching.pyutils/cpp_parser.py:用于评估的签名匹配工具

数据文件(data/

  • data/train_cves/:文件系统 RAG 语料库(包含 TRAIN 和 VAL 集,约 1150 个 CVE
    • INDEX.txtREADME.txt
    • full/<CVE-ID>.json:完整 CVE 数据
    • by_cwe/<CWE-XXX>/...:按 CWE 分类
    • by_module/<a/b>/...:按模块分类
  • data/splits/:数据集划分文件
    • chromium_{train,val,test}_ids.txt

实验结果与日志

  • results/predictions/E8-{variant}[-tag]/:预测结果
    • {related,root_cause}/predictions.<model>.shard*.jsonl
    • {related,root_cause}/trajectories/<CVE>__<commit>.<model>.json
  • results/metrics/E8-{variant}[-tag]/:评估指标
    • {related,root_cause}/overall.<model>.json
    • {related,root_cause}/by_cwe.<model>.json
  • logs/e8_agent_*.log:运行日志

环境配置

  • pyproject.tomluv.lock:可复现的环境配置文件

任务变体说明

数据集中包含三种任务变体,通过 variant 参数区分:

  • pre:输入为 issue_summary(修复前的 Bug 报告)
  • post:输入为 cve_desc_restated(清理后的修复后描述)
  • raw:输入为 cve_desc(原始 CVE 描述)

此外,tag 参数用于消融实验后缀(如 rag_issuerag_cve_restated),空标签表示使用默认的 data/train_cves/ 语料库。

本数据集中不包含的内容

  • data/chromium_cve_data.commit_chained.qwen3.5.two-stage.jsonl:测试输入 JSONL 文件(非 E8 特有,位于同步仓库中)
  • src.git/:Chromium Git 镜像(约数十 GB)
  • worktrees/:各工作单元的临时工作空间

如何复现实验

  1. 重建 RAG 语料库(可选,若不信任 data/train_cves/): bash python precompute/export_train_cves_for_rag.py --out data/train_cves --input <path-to-chromium_cve_data.commit_chained...jsonl>

  2. 启动模型服务:确保 $BASE_URL/v1 运行着一个 vllm 服务的 LLM

  3. 启动实验: bash TEST_FIELD=issue_summary TARGET=related NUM_WORKERS=16 ./run_e8_agent.sh

    更多可覆盖的环境变量请参见 run_e8_agent.sh 文件的头部说明。

搜集汇总
数据集介绍
main_image_url
构建方式
该数据集基于E8实验的完整文件包构建,旨在评估智能体在零样本与文件系统检索增强生成(RAG)相结合的场景下对Chromium CVE进行本地化分析的能力。其构建方式并非依赖传统的向量检索,而是将训练集与验证集的CVE语料库(约1150个CVE)直接挂载于磁盘上,形成一个可供智能体通过grep、cat、jq等命令直接检索的文件系统。数据集内的CVE按照完整信息、CWE分类以及模块路径等多维度组织,并通过预计算脚本从JSONL文件中导出,确保了数据结构的清晰与可复现性。
特点
该数据集最显著的特点在于其独特的检索范式:智能体不依赖嵌入向量或语义搜索引擎,而是自主决定搜索策略,直接在文件系统中以类Unix命令进行查找与过滤,模拟了人类工程师在大型代码仓库中的实际操作流程。此外,数据集提供了多样化的任务变体,包括原始的CVE描述、经过脱敏处理的后修复描述以及修复前的Bug报告,使得模型能够在不同信息条件下检验其定位能力。实验结果的预测与评估指标以JSONL格式存储,便于后续分析与比较。
使用方法
使用该数据集时,用户首先需要确保拥有一个由vLLM提供服务的语言模型。运行流程分为三步:首先,可通过预计算脚本从JSONL源文件中重建RAG语料库;其次,启动vLLM服务;最后,通过设置目标字段、任务类型及工作进程数等环境变量,执行启动脚本即可开启E8智能体循环。脚本封装了主代理逻辑,并利用小型SWE-agent运行器与工作树管理器进行代码库操作,用户可根据需要调整任务变体与消融标记,灵活配置实验参数。
背景与挑战
背景概述
在软件安全领域,针对Chromium等大型代码库的漏洞定位(CVE Localization)是一项极具挑战性的任务,传统方法依赖人工专家对海量代码和CVE描述进行交叉验证,效率低下且易出错。E8数据集由2025年发布的一组实验文件构成,源于针对Agent零样本结合文件系统检索增强生成(RAG)的研究,主要研究人员或机构未明确,但该工作聚焦于利用Agent自主搜索文件系统而非向量检索来定位漏洞。该数据集核心研究问题在于验证Agent是否能在无预训练向量索引的情况下,通过直接操作文件系统(如grep、cat、jq)有效定位Chromium CVE。其影响力在于为自动化漏洞分析提供了一种轻量化、可复现的基准,推动了Agent在安全分析场景中的应用边界。
当前挑战
E8数据集所解决的领域问题属于自动化漏洞定位,这一领域长期面临两大核心挑战:一是CVE描述与代码库之间语义鸿沟巨大,现有方法多依赖向量检索或预训练模型,难以适应高频更新的开源项目;二是Agent在文件系统中自主搜索时,需高效平衡搜索深度与计算开销,避免陷入无关路径的组合爆炸。构建过程中,挑战包括:构建约1150个CVE的RAG语料库时,需从JSONL格式数据中精确提取并组织为按CWE、模块等多维度存储的索引结构;设计Prompt变体(如原始描述、清洗后描述、Issue摘要)以测试Agent在不同输入下的鲁棒性;此外,再现实验需依赖外部vllm服务与Chromium Git镜像(数十GB),增加了环境配置的复杂度与不确定性。
常用场景
经典使用场景
在软件安全领域,精准定位漏洞根源是极具挑战性的课题。chromium-e8-rag数据集专为评估和促进基于检索增强生成(RAG)的智能体在零样本条件下定位Chromium浏览器CVE漏洞的功能组件与根因代码而设计。其典型使用场景是驱动一个具备文件系统RAG能力的工具调用智能体,该智能体能够自主搜索、阅读并分析挂载在磁盘上的大规模CVE语料库(涵盖约1150个训练和验证集样本),从而实现对未知安全缺陷的自动化定位。这一过程摒弃了传统的向量检索方法,转而让模型自行决定搜索策略和判断依据。
衍生相关工作
围绕E8实验(即chromium-e8-rag的核心方法)衍生了多个关联工作方向,包括与之对比的E7智能体循环、不同任务变体(如基于原始CVE描述、修复后描述或预修复缺陷报告的输入格式)以及消融实验中对RAG语料来源的差异化研究(如rag_issue、rag_cve_restated)。这些工作共同构成了一个系统的研究谱系,探索了提示工程与检索策略对漏洞定位性能的影响。此外,该数据集采用的mini-SWE-agent架构、签名匹配评估方法以及基于CWE分类的细粒度评估指标,为后续在多模态代码理解与安全智能体方向的研究奠定了实验基础。
数据集最近研究
最新研究方向
在软件安全领域,Chromium作为全球应用最广泛的浏览器内核,其漏洞(CVE)的精准定位与高效修复始终是安全研究的核心挑战。E8数据集创新性地将Agent零样本学习与基于文件系统的检索增强生成(RAG)范式相融合,构建了一个无需向量检索的轻量级漏洞定位框架。该数据集不仅保留了完整的训练/验证CVE语料库,更通过结构化文件系统(按CWE分类、按模块索引)赋予AI自主探索搜索路径的能力,为自动化漏洞挖掘与根因分析提供了新的方法论。相较于传统依赖密集向量匹配的检索方案,E8所倡导的“Agent自主检索+文件系统RAG”路径,显著降低了计算资源消耗,同时提升了模型在零样本场景下的泛化能力,对推动可信AI在安全审计领域的实际部署具有里程碑意义。这一研究方向尤其契合当前业界对大模型与知识图谱深度融合的热望,为构建可解释、高鲁棒的智能安全卫士铺平了道路。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作