Developer Tools

AutoTrace uses LLM agents to find vulnerability triggers across code layers

New agentic pipeline achieves 75% trigger detection on interprocedural vulnerabilities.

Deep Dive

AutoTrace, a new agentic pipeline presented by Arastoo Zibaeirad, Marco Vieira, and Thomas Zimmermann, tackles the hard problem of trigger localization: given a vulnerability-fixing commit, pinpoint which specific statement turns the vulnerable program state into an unsafe operation. Unlike simple vulnerability detection, this requires interprocedural causal reasoning, as many real-world CVEs have triggers several call layers outside the patched function. AutoTrace works by exploring a code property graph layer by layer, with LLM agents deciding where to look next and deterministic admissibility gates ensuring that every reported trigger is backed by explicit evidence from the graph. This design avoids relying on ungrounded model judgment.

On the InterPVD benchmark, AutoTrace achieves 75.0% VulnHit (trigger statement found) and 80.8% FuncHit (function containing trigger found), surpassing the previous state of the art. The pipeline also produces SinkTrace-Bench, a benchmark of 1,542 verifier-confirmed, perfectly balanced vulnerable/safe samples drawn from source-to-sink causal chains. When frontier LLMs were tested on this dataset, even the strongest models struggled to distinguish matched pairs, highlighting the causal-reasoning gap that AutoTrace addresses. The artifact is publicly available.

Key Points
  • AutoTrace uses LLM agents to explore code property graphs, with deterministic gates ensuring triggers are backed by explicit evidence.
  • Achieves 75.0% vulnerability hit rate and 80.8% function hit rate on InterPVD, beating previous best.
  • Released SinkTrace-Bench dataset: 1,542 source-to-sink causal chains from real-world vulnerabilities for benchmarking.

Why It Matters

Automates causal reasoning for security patches, enabling faster and more reliable vulnerability analysis.

📬 Get the top 10 AI stories daily