paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Determining the Unreachable: Constraint-Guided Reachability Analysis for Dependency Vulnerabilities

确定不可达性:面向依赖漏洞的约束引导可达性分析
OOPSLA 10(OOPSLA1)2026匹配度 3/10 · 该论文属于传统静态分析与动态验证结合的依赖漏洞可达性分析,虽涉及约束引导和 benchmark 构建,但与用户核心方向(PL→AI、AI→PL、浮点程序分析、贝叶斯程序分析)没有直接交叉。其问题域为 C/C++ 依赖安全漏洞,而非 LLM/Agent 或浮点/贝叶斯分析,因此仅可作为静态分析方法与 benchmark 设计的泛化参考。引用 1 inbox
Wenbu Feng, Xiaohong Li, Ruitao Feng, Yao Zhang, Yuekang Li, Zhiping Zhou, Yunqian Wang, Yuqing Li
crossref: 2026-09-10

AI 速览

一句话:提出 ConVReach,以约束引导的静态与动态结合方法判定 C/C++ 依赖漏洞可达性,显著减少误报漏报。

第三方库常含已知漏洞,判断依赖漏洞可达性十分关键。现有方法受不可判定性、抽象损失与路径爆炸困扰,难以准确区分可达与不可达漏洞。本文提出 ConVReach,面向 C/C++ 程序融合静态与动态分析,以约束引导方式分解漏洞路径约束,独立验证可满足性后聚合可行路径,减少路径探索并避免路径爆炸。实验表明,该方法在准确率与效率上优于现有工具,显著降低误报漏报;在含 53 个 CVE 和 347 个标志的基准上,它识别出 61 个可达漏洞中的 59 个及全部 23 个不可达漏洞,前 6 小时比基线多检测 50% 以上可达漏洞。

问题
第三方依赖漏洞在应用中是否可达难以判定;现有可达性分析受不可判定性、抽象损失和路径爆炸影响,导致可达与不可达漏洞区分不准。
方法
ConVReach 面向 C/C++ 程序,结合静态与动态分析,采用约束引导方法:提取并分解触发漏洞的路径约束,独立验证各约束可满足性,再聚合可行路径以减少路径探索。
评估
在含 53 个 CVE 和 347 个标志的基准上,ConVReach 识别出 61 个可达漏洞中的 59 个及全部 23 个不可达漏洞;前 6 小时比基线多检测 50% 以上可达漏洞,12 小时接近完成,准确率和效率优于现有工具。
原文摘要(Abstract)

In software development, investigating the accessibility of dependency vulnerabilities is of great importance, as third-party libraries often contain known vulnerabilities that could be exploited in the application's business logic. The existing accessibility analysis methods encounter challenges such as undecidability, abstraction loss, and path explosion in large-scale programs, resulting in an inaccurate distinction between accessibility vulnerabilities and non-accessibility vulnerabilities. This paper introduces an approach called ConVReach for analyzing the reachability of vulnerabilities in dependencies in C/C++ programs. ConVReach overcomes the problems of high abstraction loss and potential path explosion in the current methods by combining static and dynamic approaches, particularly a constraint-guided analysis method. This approach extracts and decomposes the path constraints that trigger vulnerabilities, independently verifies the satisfiability of each constraint, and then aggregates the feasible paths. This effectively reduces unnecessary path exploration and avoids the common path explosion issues in traditional methods. Experimental results show that ConVReach outperforms existing tools in both accuracy and efficiency, effectively distinguishing between reachable and unreachable vulnerabilities, and significantly reducing false positives and false negatives. We constructed a benchmark dataset to evaluate ConVReach , which includes 53 CVEs and 347 flags artificially inserted into various open-source projects. This dataset was designed to simulate both real-world vulnerabilities and complex scenarios. Through testing on this dataset, ConVReach demonstrated exceptional performance. It successfully identified 59 out of 61 reachable vulnerabilities and all 23 unreachable ones in the CVE dataset. Within a 24-hour time budget, ConVReach detected above 50% more reachable vulnerabilities than the baseline tools in the first 6 hours and nearly completed the detection of reachable vulnerabilities by the 12-hour mark. These results highlight ConVReach 's superior ability to handle both real-world vulnerabilities and challenging cases.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3811,
  title = {Determining the Unreachable: Constraint-Guided Reachability Analysis for Dependency Vulnerabilities},
  author = {Wenbu Feng and Xiaohong Li and Ruitao Feng and Yao Zhang and Yuekang Li and Zhiping Zhou and Yunqian Wang and Yuqing Li},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {OOPSLA1},
  year = {2026},
  doi = {10.1145/3798255}
}