☰
GraphFVD:属性图驱动的细粒度代码漏洞检测
2026/10/8 20:34:47 网站建设 项目流程

软件安全漏洞是网络攻击的主要入口。据 CVE 数据库统计,2023 年新增漏洞 29,065 个,较 2022 年增长 15.88%,漏洞形势日益严峻。

现有深度学习方法多以整个函数或 PDG 生成的序列级切片为检测对象,包含大量与漏洞无关的冗余代码,导致精确率和召回率难以兼顾。

GraphFVD 提出从代码属性图(CPG)中提取细粒度属性图级漏洞候选切片(PrVC),并设计分层注意力图卷积网络(HierGCN)学习代码图嵌入,精准捕捉漏洞语义。

📄论文标题:GraphFVD: Property Graph-based Fine-grained Vulnerability Detection

📅发表期刊:Computers & Security 2025(Elsevier, JCR Q1)

🏫作者单位:哈尔滨工业大学(深圳)计算机科学与技术学院

💡开源代码:https://github.com/VulDet/GraphFVD

01 方法介绍

GraphFVD 的核心思想是:从代码属性图(CPG)中提取属性图级漏洞候选切片(PrVC),融合抽象语法、控制流、数据流和代码自然顺序四种语义;再通过分层注意力图卷积网络(HierGCN)学习图嵌入,实现细粒度漏洞分类预测。

整体流程包含三个模块:

①CPG 构建——将源代码解析为代码属性图(CPG),整合抽象语法树(AST)、控制流图(CFG)和程序依赖图(PDG),同时保留语句的自然顺序,一次图建模捕获代码的完整语义结构。

②PrVC 提取——从 CPG 中提取属性图级漏洞候选切片(PrVC)。PrVC 融合了语法结构、执行路径、数据依赖和代码顺序,精确刻画漏洞代码的完整语义,节点数平均约为 CPG 的一半,大幅减少冗余。

③HierGCN 分类——基于关系图卷积网络(RGCN)设计分层注意力图卷积网络(HierGCN),引入局部注意力(聚合不同 token/节点重要性)和全局注意力(聚合全局图结构),并加入残差连接稳定深层训练。

💡小结:GraphFVD 将漏洞检测从'函数/PDG 级别'升级为'属性图切片级别',通过 PrVC 实现细粒度语义表示,结合 HierGCN 分层注意力实现精准漏洞预测。

02 关键机制

🔹属性图级代码表示——将语法结构(AST)、执行路径(CFG)、数据依赖(PDG)和代码语句顺序融合到同一张属性图中,通过 PrVC 切片精确提取漏洞相关代码区域,节点数平均减少约 50%,大幅提升检测效率。

🔹局部 + 全局双层注意力——Local Attention 根据不同 token 和节点对漏洞的重要程度分配权重,Global Attention 聚合全局图结构信息,两层注意力协同捕捉代码中的关键漏洞语义。

🔹残差连接——在 HierGCN 每层之间引入残差连接,缓解深层图网络训练中的梯度衰减问题,保证 4 层堆叠的 HierGCN 稳定收敛。

💡小结:三层设计(PrVC → HierGCN → 残差连接)形成完整的细粒度漏洞检测流水线,从图表示到图学习再到稳定训练,每一步都为最终精度服务。

03 实验结果

在 NVD和GITA数据集包含(OpenSSL, Libav, FFmpeg, Linux Kernel)上评估,使用 RTX 4090 GPU + PyTorch 实现,所有实验均在真实代码环境下进行。

(1)对比 SOTA(NVD数据集)

GraphFVD 在 NVD数据集上达到 Acc=91.11%、F1=82.192%,全面超越 VulDeeLocator(F1=83.90%)和 ReGVD(F1=78.43%)。

(2)多数据集验证(GITA)

GraphFVD 在GITA数据集上均表现优异:Acc=92.05%,Precision=82.18%、F1=80.83%,证明了方法在真实开源项目上的泛化能力。

(3)消融实验

完整 GraphFVD(F1=81.49%) vs. 去残差连接(F1=80.78%,↓0.71%)、去局部注意力(F1=79.89%,↓1.6%)——局部注意力对 Precision 提升最显著,残差连接保证模型整体稳定。

(4)图网络架构对比

HierGCN vs. 基础 GCN vs. RGCN:HierGCN 在 Precision 和 F1 上均优于 GCN 和 RGCN,证明分层注意力机制对属性图漏洞检测的有效性。

💡小结:GraphFVD 在两个真实漏洞数据集上均超越 SySeVR、VulDeeLocator 等现有 SOTA 方法,且消融实验充分验证了各模块的贡献。

📌 总结

GraphFVD 创新性地将属性图切片(PrVC)与分层注意力图卷积网络(HierGCN)结合,实现了从'粗粒度函数级'到'细粒度属性图切片级'的漏洞检测升级,在 FFmpeg、Libav、Linux Kernel 多个真实开源项目上验证了方法的有效性,为代码漏洞检测提供了新的研究思路。

GraphFVD 的代码图表示方法可推广至其他代码分析任务,如恶意代码检测、代码相似性分析、软件供应链审计等场景。

📣 欢迎留言讨论

• 你认为属性图切片(PrVC)的思路能否迁移到其他编程语言(如 Java、Go、Rust)的漏洞检测中?

• 分层注意力机制(HierGCN)是否同样适用于二进制层面的漏洞发现?

📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询