From Trace to Line: LLM Agent for Real-World OSS Vulnerability Localization

📄 arXiv: 2510.02389v2 📥 PDF

作者: Haoran Xi, Minghao Shao, Brendan Dolan-Gavitt, Muhammad Shafique, Ramesh Karri

分类: cs.SE, cs.CR, cs.LG

发布日期: 2025-09-30 (更新: 2025-12-17)


💡 一句话要点

提出T2L-Agent,用于开源软件漏洞的精准行级定位与修复

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 漏洞检测 行级定位 大型语言模型 运行时分析 代码分析 开源软件 软件安全

📋 核心要点

  1. 现有漏洞检测方法侧重于粗粒度的文件或函数级别,无法提供精确的行级定位,限制了实际应用价值。
  2. T2L-Agent通过结合运行时信息和代码分析,迭代地缩小范围,最终定位到漏洞代码的具体行。
  3. 在T2L-ARVO基准测试中,T2L-Agent在漏洞检测和行级定位方面显著优于现有基线方法。

📝 摘要(中文)

大型语言模型在漏洞发现方面展现出潜力,但现有方法孤立地检查代码,难以处理长上下文,并且侧重于粗粒度的函数或文件级别检测,这为需要在实际软件开发中进行精确行级定位和有针对性补丁的工程师提供的可操作指导有限。我们提出了T2L-Agent(Trace-to-Line Agent),一个项目级别的端到端框架,它可以规划自己的分析,并逐步将范围从模块缩小到确切的易受攻击行。T2L-Agent将多轮反馈与Agentic Trace Analyzer(ATA)相结合,ATA将运行时证据(如崩溃点、堆栈跟踪和覆盖率增量)与基于AST的代码块相结合,从而实现超越单次预测的迭代改进,并将症状转化为可操作的行级诊断。为了基准测试行级漏洞发现,我们引入了T2L-ARVO,这是一个多样化的、经过专家验证的50个案例的基准,涵盖五个崩溃家族和真实项目。T2L-ARVO专门设计用于支持粗粒度检测和细粒度定位,从而能够严格评估旨在超越文件级别预测的系统。在T2L-ARVO上,T2L-Agent实现了高达58.0%的检测率和54.8%的行级定位率,大大优于基线。该框架和基准共同推动了基于LLM的漏洞检测从粗略识别转向可部署的、稳健的、精确的诊断,从而减少了噪声并加速了开源软件工作流程中的修补。

🔬 方法详解

问题定义:现有基于LLM的漏洞检测方法通常只能定位到文件或函数级别,无法提供漏洞的具体位置,这使得开发人员难以快速修复漏洞。现有方法在处理长上下文和融合运行时信息方面存在不足,导致定位精度较低。

核心思路:T2L-Agent的核心思路是将运行时信息(如崩溃点、堆栈跟踪)与静态代码分析相结合,通过多轮迭代的方式逐步缩小搜索范围,最终定位到漏洞代码的具体行。这种方法模拟了人工调试的过程,能够更有效地利用LLM的推理能力。

技术框架:T2L-Agent包含以下主要模块:1) 项目级分析规划器:负责制定分析策略,确定需要分析的模块和文件。2) Agentic Trace Analyzer (ATA):核心模块,负责融合运行时信息和代码分析,迭代地缩小搜索范围。ATA使用基于AST的代码块划分方法,将代码分解为更小的单元,并结合运行时信息进行分析。3) 多轮反馈机制:允许LLM根据分析结果进行自我修正和优化,提高定位精度。

关键创新:T2L-Agent的关键创新在于Agentic Trace Analyzer (ATA)的设计,它能够有效地融合运行时信息和代码分析,实现行级漏洞定位。与现有方法相比,T2L-Agent能够更精确地定位漏洞,并提供更具可操作性的修复建议。此外,多轮反馈机制也提高了定位的准确性和鲁棒性。

关键设计:ATA使用基于AST的代码块划分方法,将代码分解为更小的单元,以便更精确地分析代码。运行时信息包括崩溃点、堆栈跟踪和覆盖率增量。ATA使用LLM进行推理,根据运行时信息和代码分析结果,判断代码块是否包含漏洞。多轮反馈机制允许LLM根据分析结果进行自我修正和优化,提高定位精度。具体的参数设置和网络结构在论文中未详细说明,属于未知信息。

📊 实验亮点

T2L-Agent在T2L-ARVO基准测试中取得了显著的性能提升,漏洞检测率达到58.0%,行级定位率达到54.8%,大幅优于现有基线方法。这些结果表明T2L-Agent在实际应用中具有很高的价值,能够有效地帮助开发者定位和修复漏洞。

🎯 应用场景

T2L-Agent可应用于开源软件的漏洞自动检测与修复,帮助开发者快速定位和修复安全漏洞,提高软件安全性。该研究成果有望降低漏洞修复成本,缩短修复周期,并减少因漏洞利用造成的安全事件。未来,该技术还可扩展到其他类型的软件漏洞检测,并集成到CI/CD流程中,实现自动化安全测试。

📄 摘要(原文)

Large language models show promise for vulnerability discovery, yet prevailing methods inspect code in isolation, struggle with long contexts, and focus on coarse function or file level detections which offers limited actionable guidance to engineers who need precise line-level localization and targeted patches in real-world software development. We present T2L-Agent (Trace-to-Line Agent), a project-level, end-to-end framework that plans its own analysis and progressively narrows scope from modules to exact vulnerable lines. T2L-Agent couples multi-round feedback with an Agentic Trace Analyzer (ATA) that fuses run-time evidence such as crash points, stack traces, and coverage deltas with AST-based code chunking, enabling iterative refinement beyond single pass predictions and translating symptoms into actionable, line-level diagnoses. To benchmark line-level vulnerability discovery, we introduce T2L-ARVO, a diverse, expert-verified 50-case benchmark spanning five crash families and real-world projects. T2L-ARVO is specifically designed to support both coarse-grained detection and fine-grained localization, enabling rigorous evaluation of systems that aim to move beyond file-level predictions. On T2L-ARVO, T2L-Agent achieves up to 58.0% detection and 54.8% line-level localization, substantially outperforming baselines. Together, the framework and benchmark push LLM-based vulnerability detection from coarse identification toward deployable, robust, precision diagnostics that reduce noise and accelerate patching in open-source software workflows.