VFArch=e:定位开源软件中脆弱函数的双模式框架
软件工程
2025-06-25 v2
摘要
软件组成分析 (SCA) 已成为解决软件项目依赖中固有漏洞的关键手段。特别是可达性分析正在开源软件 (OSS) 项目中被广泛用于通过调用图识别可达漏洞 (如 CVE),从而聚焦于可被利用的风险。执行可达性分析通常需要跟踪来自下游应用程序的调用链,这一关键信息通常在现代漏洞数据库(如 NVD)中不可用。虽然直接从漏洞补丁中的修改函数中提取 VF 直观且直接,但补丁并非总是可用。此外,我们的初步研究表明,超过 26% 的 VF 不存在于修改函数中。此外,单纯忽略补丁搜索脆弱函数会导致噪声过多且描述与源代码之间存在词汇鸿沟。鉴于几乎一半的漏洞配备有补丁,需提供一种综合解决方案,既能处理有补丁链接的情形,也能处理无补丁链接的情形。为满足实际需求并自动定位 VF,我们提出 VFArch=e,这是一个针对已披露漏洞设计的双模式方法,可在补丁可用或不可用时适用。我们在构建的基准数据集上对 VFArch=e 进行实验,结果在三个指标上均显示显著有效,分别相较于最佳基线在补丁-present 模式下实现 1.3 倍,在补丁-absent 模式下实现 1.9 倍的平均倒数排名。此外,VFArch=e 在实际场景中得到验证,成功在 50 个最新漏洞中定位 43 个 VF,合理降低了 78-89% SCA 工具的误报率。
引用
@article{arxiv.2506.18050,
title = {VFArch\=e: A Dual-Mode Framework for Locating Vulnerable Functions in Open-Source Software},
author = {Lyuye Zhang and Jian Zhang and Kaixuan Li and Chong Wang and Chengwei Liu and Jiahui Wu and Sen Chen and Yaowen Zheng and Yang Liu},
journal= {arXiv preprint arXiv:2506.18050},
year = {2025}
}
备注
15 pages