中文

基于异构图神经网络训练的代码漏洞检测

密码学与安全 2025-02-25 v1

摘要

检测源代码中的漏洞是软件安全保障的关键任务。图神经网络 (GNN) 机器学习通过将源代码建模为图,可以成为一种有前景的方法。早期的方法统一处理代码元素,限制了它们对导致各种漏洞的多样关系进行建模的能力。最近的研究通过考虑节点类型的异构性并使用门控图神经网络 (GGNN) 通过不同的边类型聚合节点信息来解决这一限制。然而,这些边主要作为传递节点信息的管道,可能无法捕捉不同边类型的详细特征。本文提出了过程间抽象图 (IPAG) 作为源代码的高效、语言无关的表示,并辅以用于漏洞预测的异构 GNN 训练。IPAG 捕捉了代码元素及其关系的结构和上下文属性。我们还提出了一种异构注意力 GNN (HAGNN) 模型,该模型包含捕捉源代码不同特征的多个子图。这些子图被分别学习并使用全局注意力机制进行组合,随后通过一个全连接神经网络进行最终分类。所提出的方法在包含 108 种漏洞类型的大型 C 数据集上实现了高达 96.6% 的准确率,在包含 114 种漏洞类型的大型 Java 数据集上达到了 97.8% 的准确率,优于现有 SOTA 方法。其在各种真实世界软件项目中的应用也表现出较低的误报率。

关键词

引用

@article{arxiv.2502.16835,
  title  = {Detecting Code Vulnerabilities with Heterogeneous GNN Training},
  author = {Yu Luo and Weifeng Xu and Dianxiang Xu},
  journal= {arXiv preprint arXiv:2502.16835},
  year   = {2025}
}