---
source: arxiv
url: https://arxiv.org/abs/2606.09060v1
published_at: '2026-06-08T05:49:50'
authors:
- Xinwei Mao
- Zirui Chen
- Xing Hu
- Xin Xia
topics:
- software-security
- vulnerability-analysis
- code-intelligence
- llm-agents
- program-tracing
- dependency-risk
relevance_score: 0.74
run_id: materialize-outputs
language_code: zh-CN
---

# ATTAIN: Automated Exploit Failure Analysis through Trace-Driven Diff Analysis

## Summary
## 摘要
ATTAIN 通过利用利用链执行轨迹和版本差异，在跨版本利用链失效时判断哪些库版本受到 CVE 影响。

## 问题
- 当 API、构建或运行时环境发生变化，利用链即使在漏洞仍然存在的情况下也可能无法运行，这会让基于利用链的检查漏掉受影响版本。
- 基于提交的方法，例如 V-SZZ 和 LLM4SZZ，可能选错漏洞引入提交，进而沿着很长的版本链错误打标签。
- 准确的受影响版本范围很重要，因为下游项目会据此判断某个依赖版本是否暴露在已知漏洞下。

## 方法
- ATTAIN 在历史 Java 库版本上用 Maven 运行公开利用链，并通过基于 ASM 的 Java agent 记录方法入口轨迹。
- 它比较一个能触发漏洞的版本和一个附近的目标版本。目标版本中利用链可能失败、崩溃或出现分歧，然后记录第一次轨迹不匹配、独有方法、依赖变化和执行错误。
- 受 LLM 引导的差异搜索会检查版本变更，收集能解释轨迹分歧的具体 diff hunk；如果找不到直接的 hunk，就使用回退和修复证据。
- 判断步骤会把每个案例分成 absent、breakage 或 neutral，分配存在分数，汇总多个利用链的证据，并沿版本链补全标签。

## 结果
- 评估覆盖 224 个 CVE、25,943 个库版本和 128 个 Java 库。
- ATTAIN 在受影响版本识别上的 F1-score 为 93.24%。
- 报告中的 F1 提升幅度相对 V-SZZ 为 116.28%，相对 LLM4SZZ 为 33.30%。
- 版本对预处理产生 845 个边界版本对；其中 459 个唯一版本对被选中用于基于 LLM 的分析。
- 论文称 ATTAIN 在常见 CWE 类型上与现有方法一致或更好，包括利用链因非漏洞原因失败的情况，但摘要没有给出按 CWE 分类的具体指标值。
- 论文还说，有限轮次和简短的轨迹引导提示能保持 token 使用较低，但摘要没有给出 token 数结果。

## Problem

## Approach

## Results

## Link
- [https://arxiv.org/abs/2606.09060v1](https://arxiv.org/abs/2606.09060v1)
