基于学习的漏洞检测高度依赖训练标签的质量。现有大规模数据集(BigVul、PrimeVul、DiverseVul 等)通常以「漏洞修复提交」为依据,把被补丁改动过的函数直接标注为「存在漏洞」,但被安全补丁修改并不等于该函数本身存在漏洞,由此引入系统性标签噪声,使检测器的评测结果失真。论文提出 VulValidate 框架:以 LLM 智能体驱动并协调多种动态分析工具,从运行时反馈中自动构造可触发漏洞的实验。给定一个被标注为脆弱的函数及其修复补丁,框架会重建漏洞版本与修复版本,自动选择合适的工具与执行路径,迭代精炼触发输入,并对比两个版本的运行时行为差异,从而在函数粒度上判定漏洞归属是否成立,并留下可执行的证据。作者据此审计了 BigVul、PrimeVul、DiverseVul 中全部 35,849 条原始「脆弱」标注:确认 20,510 条(57.2%),纠正 6,819 条(19.0%),7,981 条(22.3%)可被触发但结论未定,539 条(1.5%)无法成功度量。经冲突消解与逐字节去重后,修正版数据集包含 15,890 个互不相同的已确认脆弱函数体。对 581 条抽样判定进行盲审,专家共识支持 90.0%–92.0% 的确认结论和 92.6%–99.0% 的标签纠正。在模型参数固定的条件下,使用修正标签评测会让五个被测检测器在 BigVul 与 DiverseVul 上的 F1 全部下降;而用修正标签重训练后,两个数据集上各有四个检测器的 F1 得到提升。作者同时发布了可复用的 VulValidate 技能、修正数据集与可复现证据,供后续漏洞检测研究使用。
💡 推荐理由: 漏洞检测模型的 F1 长期可能被有噪声的标签夸大。该工作用可执行证据审计近 3.6 万条标注,指出约 19% 的标签需要纠正,并公开修正数据集,直接影响检测器选型、基准可信度与采购判断。
🎯 建议动作: 研究跟进:纳入内部评估,考虑使用修正数据集重做检测器基准测试与重训练实验