VulEval:面向软件漏洞检测的存储库级评估
软件工程
2024-04-25 v1 密码学与安全
摘要
深度学习(DL)方法在软件漏洞检测方面已证明有效,潜在显著提升漏洞检测的生产力。当前方法主要关注检测单个函数(即函数内过程漏洞),忽视实际应用中更复杂的跨过程漏洞检测场景。例如,开发者常需进行程序分析以检测跨越多个函数的存储库级漏洞。此外,广泛使用的基准数据集仅包含函数内过程漏洞,尚未评估跨过程漏洞检测能力。为此,本文提出存储库级评估系统VulEval,以同时评估跨过程与函数内过程漏洞检测性能。具体而言,VulEval包含三个相互关联的评估任务:(1)函数级漏洞检测——给定代码片段检测函数内过程漏洞;(2)漏洞相关依赖预测——从调用图中检索最相关的依赖项,为开发者提供漏洞解释;(3)存储库级漏洞检测——结合第二任务识别的依赖项,检测跨过程漏洞。VulEval还包含大规模数据集,总计4,196个CVE条目、232,239个函数及4,699个C/C++存储库级源代码。我们的分析揭示了当前进展与未来方向。
引用
@article{arxiv.2404.15596,
title = {VulEval: Towards Repository-Level Evaluation of Software Vulnerability Detection},
author = {Xin-Cheng Wen and Xinchen Wang and Yujia Chen and Ruida Hu and David Lo and Cuiyun Gao},
journal= {arXiv preprint arXiv:2404.15596},
year = {2024}
}
备注
12 pages