传统的漏洞检测方法严重依赖于预定义规则匹配,这往往无法准确捕捉漏洞。随着大型语言模型(LLMs)的崛起,利用它们理解代码语义的能力已经成为实现更准确和高效漏洞检测的有希望的方向。然而,目前基于LLM的方法面临着重大挑战:模型输出的不稳定性、上下文长度的限制和幻觉。因此,许多现有解决方案要么仅仅使用LLM来丰富预定义的规则集,从而使检测过程在根本上仍然基于规则,要么过度依赖LLM,导致较差的鲁棒性。为了解决这些挑战,我们提出了一种由LLM驱动的约束求解方法,名为VULSOLVER。通过将漏洞检测建模为约束求解问题,并将静态应用安全测试(SAST)与LLM的语义推理能力结合,我们的方法使LLM像专业的人类安全专家一样运作。我们在OWASP基准(1,023个标记样本)上评估VULSOLVER,取得了96.29%的准确率,96.55%的F1-score和100%的召回率。应用于流行的GitHub仓库,VULSOLVER还识别出了15个之前未知的高严重性漏洞(CVSS 7.5-9.8),展示了其在实际安全分析中的有效性。
Li等人(Sun)研究了这个问题。
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: