论文
多种语言的过程间上下文的漏洞检测:评估现代 LLM 的有效性和成本
Vulnerability Detection with Interprocedural Context in Multiple Languages: Assessing Effectiveness and Cost of Modern LLMs
摘要
大语言模型 (LLM) 是一种很有前途的自动漏洞检测方法。然而,大多数先前的研究都探索了使用 LLM 仅检测单个函数内的漏洞,而忽略了与过程间依赖关系相关的漏洞。这些研究忽视了跨多个功能的数据和控制流产生的漏洞。因此,利用调用者和被调用者提供的上下文可能有助于识别漏洞。本研究实证研究了四种现代 LLM(Claude Haiku 4.5、GPT-4.1 Mini、GPT-5 Mini 和 Gemini 3 Flash)在检测与过程间依赖性相关的漏洞时的检测有效性、推理成本和解释质量。为此,我们对 ReposVul 数据集中的 509 个漏洞进行了实证研究,系统地改变了过程间上下文的级别(仅目标函数代码、目标函数 + 调用者和目标函数 + 被调用者),并评估了 C、C++ 和 Python 中的四个现代 LLM。结果表明,Gemini 3 Flash 为 C 漏洞提供了最佳的成本效益权衡,以每个配置的估计成本为 0.50-0.58 美元实现了 F1 >= 0.978,并且 Claude Haiku 4.5 在 93.6% 的评估案例中正确识别并解释了该漏洞。总的来说,这些发现对人工智能辅助安全分析工具的设计有直接影响,这些工具可以跨多种编程语言的代码库进行推广。