当前位置: 首页 > news >正文

Keep It Simple:自适应代码图简化驱动的高精度漏洞检测框架

“近年来,基于图的漏洞检测方法(如 AST/CFG/PDG + GNN)在准确率上取得了显著进展,但也逐渐暴露出一个核心问题:代码图越来越复杂,但模型并没有因此变得更聪明。冗余节点、无关依赖与噪声边不仅增加计算成本,还会干扰关键信息传播,导致性能下降。

针对这一挑战,研究团队提出一种自适应代码图简化(Self-Adaptive Code Graph Simplification) 框架ANGEL,在不牺牲关键信息的前提下,自动压缩代码图结构,从而实现更准确、更高效的漏洞检测。”

  • 📄论文标题:Keep It Simple: Self-Adaptive Code Graph Simplification for Accurate Vulnerability Detection

  • 📅发表时间: IEEE Transactions on Software Engineering ,2025

  • 🏫作者单位:国防科技大学、海南大学等

  • 💡开源代码:https://github.com/XinPeng97/ANGEL

01

方法介绍

图1展示了基于图的尖端漏洞检测器AMPLE在三个数据集上不同节点数量分区下的准确率。以Reveal数据集为例,AMPLE在(0, 25]区间内达到92.25%的准确率,但当节点数超过100时其效能显著下降(例如节点数大于300时准确率仅为46.85%)。这些结果表明,随着代码图规模扩大,当前最先进的漏洞检测技术性能会急剧下降。

图 1.在Devign、Reveal和Big-Vul数据集上,不同节点数量下的准确率

ANGEL的核心思想可以概括为一句话:并非所有代码结构都同等重要,关键在于“保留什么、丢弃什么”。整体流程包括三步:

① 原始代码图构建:

从源代码中构建包含AST / CFG / PDG的联合程序图,完整表达语法、控制与数据依赖。

② 自适应图简化:

通过节点重要性评估与结构感知策略,动态裁剪冗余节点与弱相关边。

③ 简化图漏洞检测:

将压缩后的图输入 GNN 进行表示学习与漏洞分类。

图 2. ANGEL 框架

小结:ANGEL并不追求“更复杂的模型”,而是从输入结构本身入手,通过简化让模型专注于真正与漏洞相关的语义。

02

关键机制

  1. 自适应图简化机制,无需人工规则, 模型可自动学习哪些结构应被保留。
  2. 与模型无关,图简化模块可无缝集成至多种 GNN 漏洞检测模型。
  3. 噪声鲁棒性更强,显著降低无关代码结构对漏洞预测的干扰。
  4. 效率与精度双提升,在减少节点数量的同时提升检测效果。

模块

实现方式

主要作用

多视图程序图

融合 AST、CFG、PDG 构建统一代码图

全面表达程序结构与依赖关系

节点重要性评估

基于结构位置与语义特征的自适应打分

识别对漏洞判定更关键的节点

图结构简化策略

动态裁剪低重要性节点与弱边

降低噪声与计算复杂度

下游漏洞检测

GNN + 分类器

在简化图上实现更稳定的漏洞预测

小结:ANGEL通过“先简化、再学习”的策略,有效缓解了代码图过密、过噪带来的性能瓶颈。

03

实验结果

研究团队在多个主流漏洞检测数据集上评估了ANGEL,包括:Devign、ReVeal和Big-Vul。与基线工作对比的结果如下:

表1. 不同软件漏洞检测方法的性能比较(F1指标)

模型

Devign

ReVeal

Big-Vul

VulDeePecker

43.73

12.82

10.42

PILOT

52.53

26.40

20.51

IVDetect

47.30

20.10

16.53

MGVD

51.75

27.76

20.34

AMPLE

52.80

32.58

21.95

KIS-GNN (本文)60.2237.4131.49

图3. 基于T-SNE算法的漏洞二分类结果可视化

小结: ANGEL展现出更优异的性能表现,在准确率(ACC)和F1分数方面均超越所有基线方法。相较于表现最佳的基线模型AMPLE,ANGEL在三个数据集上实现了F1分数14.0%-43.4%的提升。可视化分析进一步表明,ANGEL比基线方法更有效地捕捉了代码中的关键信息。

📌 总结

ANGEL提供了一种全新的视角:漏洞检测的关键不只是更复杂的模型,而是更干净、更聚焦的程序表示:减少无关结构噪声、提升 GNN 表达稳定性、增强工业级可扩展性。这一工作为未来的漏洞检测研究提供了重要启示:在模型能力趋于饱和的背景下,输入结构优化可能是下一个突破口。

📣 欢迎留言讨论

  • 你认为代码图应该“越全越好”,还是“越精越好”?

  • 在实际工业场景中,图简化是否会带来可解释性上的新优势?

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

http://www.jsqmd.com/news/871175/

相关文章:

  • 戴森球计划工厂蓝图实战:7个关键优化技巧提升自动化效率
  • PIC24F GC系列智能模拟架构解析:16位MCU如何实现高集成度信号链设计
  • ComfyUI自动完成插件:告别提示词拼写烦恼,效率提升300%的秘密武器
  • 教你如何在VSCode Copilot使用其他Open AI接口,尽情使用模型
  • Enformer-PyTorch深度解析:从基因组序列到基因表达预测的混合架构实战指南
  • QGroundControl 零基础入门:5步掌握开源无人机地面站核心功能
  • 如何用免费开源工具轻松处理医学影像?3D Slicer全攻略
  • 杰理之蓝牙通话声音卡顿严重,甚至没有声音【篇】
  • Python + vs code 安装使用图文教程(附安装包)
  • 2026年|论文降低AI率指南:学长教你3招免费降AI,亲测5款AIGC降重工具 - 降AI实验室
  • PowerDNS-Admin:企业级DNS管理平台的终极解决方案
  • 如何5分钟上手开源自动化抢票神器:大麦抢票终极指南
  • ComfyUI-Custom-Scripts完整指南:7个核心功能模块彻底提升AI绘画工作流效率
  • Bifrost:三星设备固件下载与管理的跨平台开源工具
  • 现代化浏览器原生视频处理引擎:Omniclip技术深度解析
  • 【论文阅读】StereoVLA: Enhancing Vision-Language-Action Models with Stereo Vision
  • 杰理之芯片只有单通道LADC【篇】
  • 如何挑选靠谱的银泰百货卡回收平台 - 购物卡回收找京尔回收
  • 从测试分类到缺陷管理
  • 终极指南:如何5分钟快速上手跨平台资源捕获神器res-downloader
  • 性能测试方案设计的方法和思路
  • OpCore Simplify:专业级OpenCore EFI自动化配置解决方案
  • 如何快速分析浏览器扩展源码:终极在线工具完整指南
  • 3分钟快速启用Windows Insider预览版:无需微软账户的完整指南
  • YOLOv10 AI瞄准辅助系统:实时游戏目标识别的技术深度解析
  • Source Sans 3:打破字体加载瓶颈的现代无衬线字体解决方案
  • 终极指南:如何用TQVaultAE管理你的泰坦之旅装备库
  • 都市噪音救星✨|隔音窗选对不踩坑,静华轩夹胶玻璃才是真刚需 - 维小达科技
  • 2026年4月比较好的固化剂地坪企业推荐,环氧地坪/防腐地坪/环氧自流平/西卡聚氨酯砂浆地坪,固化剂地坪品牌选哪家 - 品牌推荐师
  • 5分钟部署高性能静态服务器:Rust实现的轻量级HTTP文件服务解决方案