VulReaD: Knowledge-Graph-guided Software Vulnerability Reasoning and Detection

📄 arXiv: 2602.10787v1 📥 PDF

作者: Samal Mukhtar, Yinghua Yao, Zhu Sun, Mustafa Mustafa, Yew Soon Ong, Youcheng Sun

分类: cs.SE, cs.AI, cs.CR, cs.IR

发布日期: 2026-02-11

备注: 22 pages, 3 figures


💡 一句话要点

VulReaD:基于知识图谱的软件漏洞推理与检测方法

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 软件漏洞检测 知识图谱 大型语言模型 CWE分类 对比学习

📋 核心要点

  1. 现有软件漏洞检测方法依赖二元评估,缺乏与CWE类别的语义一致性,限制了漏洞理解的深度。
  2. VulReaD利用安全知识图谱作为语义骨干,通过教师LLM生成CWE一致的对比推理监督,实现学生模型训练。
  3. 实验结果表明,VulReaD在二元F1和多类分类指标上均显著优于现有方法,提升了CWE覆盖率和可解释性。

📝 摘要(中文)

软件漏洞检测(SVD)是现代系统中的一项关键挑战。大型语言模型(LLM)在进行预测的同时能够提供自然语言解释,但现有工作大多侧重于二元评估,并且解释通常缺乏与通用缺陷枚举(CWE)类别在语义上的一致性。我们提出了VulReaD,一种基于知识图谱引导的漏洞推理和检测方法,它超越了二元分类,转向CWE级别的推理。VulReaD利用安全知识图谱(KG)作为语义骨干,并使用强大的教师LLM生成与CWE一致的对比推理监督,从而无需手动标注即可进行学生模型训练。学生模型通过Odds Ratio Preference Optimization (ORPO)进行微调,以鼓励符合分类法的推理,同时抑制不支持的解释。在三个真实世界的数据集上,与最先进的基线相比,VulReaD将二元F1提高了8-10%,多类分类的Macro-F1提高了30%,Micro-F1提高了18%。结果表明,LLM在二元检测方面优于深度学习基线,并且KG引导的推理增强了CWE覆盖率和可解释性。

🔬 方法详解

问题定义:现有软件漏洞检测方法,特别是基于大型语言模型的方法,主要集中在二元分类(是否存在漏洞),而忽略了漏洞的具体类型(CWE)。即使LLM能够提供解释,这些解释往往与CWE标准不一致,缺乏语义上的关联,导致漏洞分析和修复的效率降低。现有方法缺乏对漏洞类型进行细粒度推理的能力,限制了漏洞检测的实用性。

核心思路:VulReaD的核心思路是利用安全知识图谱(KG)来引导LLM进行漏洞推理和检测。KG提供了一个结构化的语义空间,将漏洞与CWE类别以及相关的安全知识联系起来。通过KG的引导,LLM可以生成与CWE一致的解释,从而实现更准确和可解释的漏洞检测。此外,采用教师-学生模型的训练方式,利用强大的教师LLM生成对比推理监督信号,无需人工标注即可训练学生模型。

技术框架:VulReaD的整体框架包括以下几个主要模块:1) 安全知识图谱(KG):构建包含漏洞、CWE类别和相关安全知识的KG。2) 教师LLM:使用强大的LLM作为教师模型,生成与CWE一致的对比推理监督信号。3) 学生模型:使用较小的LLM作为学生模型,通过教师模型的监督进行训练。4) Odds Ratio Preference Optimization (ORPO):使用ORPO对学生模型进行微调,鼓励符合分类法的推理,同时抑制不相关的解释。整个流程是先利用KG和教师模型生成训练数据,然后训练学生模型,最后使用ORPO进行微调。

关键创新:VulReaD的关键创新在于将知识图谱引入到软件漏洞检测中,并利用KG来引导LLM进行推理。这种方法不仅提高了漏洞检测的准确性,还增强了模型的可解释性。此外,使用教师-学生模型和ORPO进行训练,可以在无需人工标注的情况下,有效地训练出具有CWE一致性的漏洞检测模型。与现有方法相比,VulReaD能够进行更细粒度的漏洞类型推理,并提供更可靠的解释。

关键设计:在知识图谱构建方面,需要选择合适的知识表示方法,例如RDF或图数据库。在教师模型方面,需要选择一个强大的LLM,并设计合适的prompt来生成CWE一致的解释。在学生模型方面,可以选择较小的LLM,以提高推理效率。在ORPO方面,需要仔细调整超参数,以平衡准确性和可解释性。损失函数的设计需要考虑CWE类别之间的关系,例如可以使用层级损失函数来鼓励模型学习CWE的层级结构。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

VulReaD在三个真实世界的数据集上进行了评估,结果表明,与最先进的基线相比,VulReaD将二元F1提高了8-10%,多类分类的Macro-F1提高了30%,Micro-F1提高了18%。实验结果还表明,LLM在二元检测方面优于深度学习基线,并且KG引导的推理增强了CWE覆盖率和可解释性。这些结果验证了VulReaD的有效性和优越性。

🎯 应用场景

VulReaD可应用于软件安全审计、漏洞挖掘、安全漏洞预警等领域。通过提供准确且可解释的漏洞检测结果,VulReaD能够帮助安全工程师快速定位和修复漏洞,提高软件系统的安全性。该研究的成果有助于构建更安全的软件生态系统,降低安全事件发生的风险。

📄 摘要(原文)

Software vulnerability detection (SVD) is a critical challenge in modern systems. Large language models (LLMs) offer natural-language explanations alongside predictions, but most work focuses on binary evaluation, and explanations often lack semantic consistency with Common Weakness Enumeration (CWE) categories. We propose VulReaD, a knowledge-graph-guided approach for vulnerability reasoning and detection that moves beyond binary classification toward CWE-level reasoning. VulReaD leverages a security knowledge graph (KG) as a semantic backbone and uses a strong teacher LLM to generate CWE-consistent contrastive reasoning supervision, enabling student model training without manual annotations. Students are fine-tuned with Odds Ratio Preference Optimization (ORPO) to encourage taxonomy-aligned reasoning while suppressing unsupported explanations. Across three real-world datasets, VulReaD improves binary F1 by 8-10% and multi-class classification by 30% Macro-F1 and 18% Micro-F1 compared to state-of-the-art baselines. Results show that LLMs outperform deep learning baselines in binary detection and that KG-guided reasoning enhances CWE coverage and interpretability.