本文提出 AutoTrace,一个基于智能体(agentic)的流水线,用于从漏洞修复补丁中定位触发器(trigger),即导致脆弱程序状态转变为具体不安全操作的语句。该问题比二元漏洞检测更难,因为答案需要跨过程(interprocedural)的因果推理:在大量真实CVE中,触发语句往往位于修补函数之外的多个调用层级,超出了静态规则集和模式匹配语言模型的能力范围。AutoTrace 通过逐层探索代码属性图(Code Property Graph),由LLM代理决定下一步搜索方向,同时使用确定性可接受门(admissibility gates)来确定报告触发器前需要哪些证据。代理从不自行接受触发器;每个报告的触发器都有来自图中显式证据的支持,因此该流水线既能覆盖过程内也能覆盖过程间的漏洞,而不依赖于无根据的模型判断。在完整的InterPVD基准上,AutoTrace达到了75.0%的VulnHit和80.8%的FuncHit,超越了先前最先进的方法。基于相同的机制,作者构建了SinkTrace-Bench数据集,该数据集将每个漏洞暴露为从攻击者可控输入到危险操作的源到汇(S2S)因果链,源自匹配的脆弱和修补程序状态。它包含1542个经过验证、完美平衡的脆弱/安全样本,标签保真度经过专家注释审核。对前沿LLM的基准测试表明,即使最强的模型也难以区分这些匹配对,暴露了触发器定位所针对的因果推理差距。论文提供了完整的工件,适合安全研究人员、漏洞缓解工程师以及AI辅助代码分析开发者阅读。
💡 推荐理由: 本文提出了一种新颖的跨过程触发器定位方法,将LLM的搜索决策能力与代码属性图的显式证据相结合,显著提升了现实CVE中复杂漏洞的定位精度。它填补了从补丁到触发器的自动化推理空白,有助于安全团队更高效地理解漏洞根因和开发精准的检测规则。
🎯 建议动作: 研究跟进