论文
Refploit:通过代码代理轨迹修复促进漏洞利用构建
Refploit: Facilitating Exploit Construction via Code-Agent Trajectory Repair
摘要
漏洞利用在评估 Java 库漏洞的下游影响方面发挥着至关重要的作用。虽然某些漏洞伴随着公开的漏洞利用参考,但将此类参考自动复制为可运行的利用仍然具有挑战性,因为它们通常不完整、非结构化或仅描述部分复制步骤。最近的代码代理提供了一种有希望的方法来自动化此过程,但我们的研究表明,它们生成的漏洞通常在没有触发实际易受攻击的逻辑的情况下看起来是成功的,例如用自我实现的函数替换易受攻击的 API。为了解决这个问题,我们提出了 Refploit,一个基于 LLM 的轨迹恢复框架,用于促进从公共漏洞利用参考中再现漏洞。关键的见解是,失败的代理轨迹并非完全无用。它可能已经完成了一些复制子任务,同时也揭示了应该避免的误导性方向。 Refploit 首先通过差异执行来验证代理生成的漏洞利用。当漏洞利用无效时,Refploit会分析其复制进度,定位与复制进度相关的轨迹段,并导出约束条件来指导重点恢复。我们在三个开源 Java 漏洞数据集上评估 Refploit,涵盖 143 个漏洞的 172 个漏洞利用参考。在DeepSeek-V4-Flash下,Refploit成功重现了138个漏洞,重现率为80.2%。与最初生成的轨迹相比,它实现了 64.3% 的相对改进,并且优于 SOTA 漏洞利用生成方法 PoCGen 和高级代码代理(例如带有 GPT-5.4 的 Codex)。我们进一步将 Refploit 应用于另一个代码代理并观察到一致的改进,证明了其通用性。