返回
Detecting code vulnerabilities with heterogeneous GNN training
DOI:10.1007/s10207-025-01132-x.png)
摘要
En 中文
检测源代码中的漏洞是软件安全保证的关键任务。图神经网络(GNN)机器学习方法可以通过将源代码建模为图来实现有前景的途径。早期方法将代码元素视为统一处理,限制了它们对能够导致各种漏洞的多样化关系进行建模的能力。近期研究通过考虑节点类型的异构性并使用门控图神经网络(GGNN)通过不同边类型聚合节点信息来解决这一局限性。然而,这些边主要充当传递节点信息的通道,可能无法捕捉不同边类型的详细特征。本文提出跨过程抽象图(IPAGs)作为源代码的高效、语言无关的表示,并辅以异构GNN训练进行漏洞预测。IPAGs捕获代码元素的结构和上下文属性及其关系。我们还提出了一种异构注意力GNN(HAGNN)模型,该模型整合了多个子图以捕捉源代码的不同特征。这些子图被单独学习并通过全局注意力机制组合,随后使用全连接神经网络进行最终分类。所提出的方法在包含108种漏洞类型的大型C数据集上达到了高达96.6%的准确率,在包含114种漏洞类型的大型Java数据集上达到了97.8%的准确率,超越了现有最佳方法。该方法在多个真实软件项目中的应用也显示出较低的误报率。
Keyword:
Code vulnerability
Machine learning
Graph neural networks
Static code analysis
期刊
I
IF:
3.2
论文数:
141
被引数:
1.8K
机构
暂无机构信息
引用论文
SySeVR: A Framework for Using Deep Learning to Detect Software VulnerabilitiesSySeVR: 使用深度学习检测软件漏洞的框架

