若 LLM 仅能观察:逐行检查提升漏洞定位效率
密码学与安全
2025-04-21 v2
摘要
软件系统的快速扩张以及报告的漏洞数量不断增加,凸显了准确识别漏洞代码片段的重要性。传统漏洞定位方法(如手动代码审计或规则化工具)往往耗时且范围受限,通常仅针对特定编程语言或漏洞类型。近年来,引入大语言模型 (LLM) 如 GPT 和 LLaMA 为自动化漏洞检测开辟了新可能性。尽管 LLM 在此领域展现出广泛前景,但面临着在更长代码上下文中保持准确性的挑战。本文提出 LOVA 框架,利用 LLM 内在的自注意力机制提升漏洞定位能力。我们的核心洞察是:自注意力机制为输入不同部分分配不同的重要性,因而可追踪模型关注特定代码行的注意力程度。在漏洞定位语境下,我们假设漏洞代码行会自然吸引更高的注意力权重,因为它们对模型输出影响更大。通过系统性地追踪注意力权重的变化并聚焦于特定代码行,LOVA 提升了跨各种编程语言识别漏洞代码行的精度。通过严格的实验与评估,我们展示 LOVA 在 F1 分数上显著优于现有 LLM-based 方法,提升最高可达 5.3 倍。LOVA 在智能合约漏洞定位中也展现出强大的可扩展性,跨语言(C、Python、Java、Solidity)提升最高可达 14.6 倍。其鲁棒性通过在不同 LLM 架构下的一致性能验得以证实。
引用
@article{arxiv.2410.15288,
title = {If LLMs Would Just Look: Simple Line-by-line Checking Improves Vulnerability Localization},
author = {Yue Li and Xiao Li and Hao Wu and Yue Zhang and Xiuzhen Cheng and Yating Liu and Fengyuan Xu and Sheng Zhong},
journal= {arXiv preprint arXiv:2410.15288},
year = {2025}
}