paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Diffploit: Facilitating Cross-Version Exploit Migration for Open Source Library Vulnerabilities

Diffploit:促进开源库漏洞的跨版本 exploit 迁移
ICSE Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering2026匹配度 4/10 · 论文核心是安全领域跨版本 exploit 迁移,利用版本差异与 LLM 迭代反馈适配漏洞利用程序,而非用户关注的静态分析/形式化验证、浮点程序分析或贝叶斯程序分析;仅在 LLM 作为程序适配工具和构建大规模版本迁移基准方面有弱关联。引用 2 inbox
Zirui Chen, Zhipeng Xue, Jiayuan Zhou, Xing Hu, Xin Xia, Xiaohu Yang
crossref: 2026-09-12

AI 速览

一句话:提出基于版本差异与 LLM 迭代反馈的 exploit 迁移方法,自动适配库漏洞利用程序到其它版本。

论文关注开源库漏洞利用程序(exploit)在跨版本复用时的失败问题:库演化引入的破坏性变更会改变触发条件(如 API 重构),或破坏动态环境(如构建、运行时错误),人工解读与适配代价高。现有工作主要依赖模糊测试做代码级执行轨迹对齐,既耗时又难以处理环境层失败与复杂的触发条件变化。作者提出 Diffploit,一种迭代式、以 diff 驱动的 exploit 迁移方法,由 Context 模块与 Migration 模块构成:前者通过分析目标版本与参考版本之间的行为差异,构造刻画失败症状及其相关 diff hunk 的上下文;后者基于该上下文引导 LLM 进行自适应修改,并通过迭代反馈循环在探索候选 diff 与逐步精化之间取得平衡,直至复现失败被解决。在 79 个库、102 个 Java CVE、689 个版本迁移任务的数据集上,Diffploit 成功迁移 84.2% 的 exploit,分别比变更感知测试修复工具 TaRGET 与 IDEA 中的规则化工具高出 52.0% 与 61.6%;此外还发现 5 个受影响版本范围标注错误的 CVE 报告(3 个已被确认),以及 111 个 GitHub Advisory Database 中未报告的受影响版本。

问题
库版本演化带来的触发条件变化与环境破坏使已有 exploit 无法直接用于其它版本,而现有基于模糊测试的轨迹对齐方法耗时且难以应对环境级失败与复杂触发条件变化。
方法
提出 Diffploit:Context 模块分析目标版本与参考版本的行为差异,生成包含失败症状与相关 diff hunk 的上下文;Migration 模块据此在迭代反馈循环中引导 LLM 自适应修改 exploit,兼顾候选 diff 探索与逐步精化。
评估
在覆盖 79 个库、102 个 Java CVE、689 个版本迁移任务的大规模数据集上评估迁移成功率,并与 TaRGET 和 IDEA 中的规则化方法对比;同时利用迁移结果校验 CVE 受影响版本范围并发现 GitHub Advisory Database 中缺失的版本。
原文摘要(Abstract)

Exploits are commonly used to demonstrate the presence of library vulnerabilities and validate their impact across different versions. However, their direct application to alternative versions often fails due to breaking changes introduced during evolution. These failures stem from both changes in triggering conditions (e.g., API refactorings) and broken dynamic environments (e.g., build or runtime errors), which are challenging to interpret and adapt manually. Existing techniques primarily focus on code-level trace alignment through fuzzing, which is both time-consuming and insufficient for handling environment-level failures. Moreover, they often fall short when dealing with complicated triggering condition changes across versions. To overcome this, we propose Diffploit, an iterative, diff-driven exploit migration method structured around two key modules: the Context Module and the Migration Module. The Context Module constructs contexts derived from analyzing behavioral discrepancies between the target and reference versions, which capture the failure symptom and its related diff hunks. Leveraging these contexts, the Migration Module guides an LLM-based adaptation through an iterative feedback loop, balancing exploration of diff candidates and gradual refinement to resolve reproduction failures effectively. We evaluate Diffploit on a large-scale dataset containing 102 Java CVEs and 689 version-migration tasks across 79 libraries. Diffploit successfully migrates 84.2% exploits, outperforming the change-aware test repair tool TaRGET by 52.0% and the rule-based tool in IDEA by 61.6%. Beyond technical effectiveness, Diffploit identifies 5 CVE reports with incorrect affected version ranges, three of which have been confirmed. We also discover 111 unreported versions in GitHub Advisory Database.

链接与引用

DOI 原文 · arXiv · DBLP

BibTeX
@inproceedings{abs-2511-12950,
  title = {Diffploit: Facilitating Cross-Version Exploit Migration for Open Source Library Vulnerabilities},
  author = {Zirui Chen and Zhipeng Xue and Jiayuan Zhou and Xing Hu and Xin Xia and Xiaohu Yang},
  booktitle = {ICSE},
  year = {2026},
  doi = {10.1145/3744916.3773205}
}