论文
VulTriage:面向基于LLM漏洞检测的三路上下文增强
VulTriage: Triple-Path Context Augmentation for LLM-Based Vulnerability Detection
摘要
自动化漏洞检测是软件安全中的一项基本任务,但现有的基于学习的方法仍然难以捕获准确检测所需的结构依赖性、特定领域的漏洞知识和复杂的程序语义。最近的大语言模型(LLM)显示出强大的代码理解能力,但直接用原始源代码提示它们通常会导致漏掉漏洞或误报,特别是当易受攻击的函数和良性函数仅在细微的语义细节上有所不同时。为了解决这个问题,我们提出了 VulTriage,一个用于基于 LLM 的漏洞检测的三路径上下文增强框架。 VulTriage 通过三个互补路径增强 LLM 输入:控制路径提取并表达 AST、CFG 和 DFG 信息以公开控制和数据依赖性;知识路径,通过混合密集-稀疏检索来检索相关的 CWE 衍生漏洞模式和示例;以及一个语义路径,它总结了最终判断之前代码的功能行为。这些上下文被整合到统一的指令中,以指导LLM进行更可靠的漏洞推理。 PrimeVul 配对测试集上的实验表明,VulTriage 实现了最先进的性能,在关键配对和分类指标上优于现有的深度学习和基于 LLM 的基线。进一步的消融研究验证了每条路径的有效性,并且在 Kotlin 数据集上进行的额外实验证明了 VulTriage 在低资源和类不平衡设置下的泛化能力。我们的代码位于 https://github.com/vinsontang1/VulTriage
