← 最新论文
💻 computer science

DCVD: Dual-Channel Cross-Modal Fusion for Joint Vulnerability Detection and Localization

DCVD 是一个统一框架,它利用具有显式多粒度监督的双通道跨模态融合,同时提升软件漏洞检测与精确语句级定位能力,其性能优于现有最先进方法。

原作者: Wenxin Tang, Wenbin Li, Junliang Liu, Jingyu Xiao, Xi Xiao, Mingzhe Liu, Jinlong Yang, Xuan Liu, Yuehe Ma, Wang Luo, Qing Li, Lei Wang, Peng Xiangli

发布于 2026-05-13
📖 1 分钟阅读☕ 轻松阅读

原作者: Wenxin Tang, Wenbin Li, Junliang Liu, Jingyu Xiao, Xi Xiao, Mingzhe Liu, Jinlong Yang, Xuan Liu, Yuehe Ma, Wang Luo, Qing Li, Lei Wang, Peng Xiangli

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象你是一家庞大而复杂的工厂(即软件)的安全检查员。你的工作分为两个方面:

  1. 全局视角:你需要观察一台特定的机器(一个函数),并判断“这台机器是否损坏或存在危险?”
  2. 细节审查:如果它确实损坏了,你需要准确指出导致问题的具体螺栓或电线(即代码行)。

长期以来,安全工具就像那些要么擅长观察整台机器却难以发现损坏的螺栓,要么擅长阅读手册(文本)却忽略蓝图(结构)的检查员。

本文介绍了DCVD,一种新的“超级检查员”,它通过同时使用两套视角并让它们相互沟通来解决这一问题。

旧检查员的问题

以往的工具通常仅依赖一种查看代码的方式:

  • “单词阅读者”:这些工具像读故事一样逐词阅读代码。它们擅长理解含义,但常常忽略机器的“流程”(即一个部分如何触发另一个部分)。
  • “蓝图阅读者”:这些工具查看结构和连接(如同接线图)。它们能看到各部分如何连接,但可能忽略机器的意图或其试图执行的具体含义。
  • “猜测者”:一些试图兼顾两者的工具,往往只是基于对损坏机器的猜测来推断损坏的螺栓,而没有直接检查螺栓本身。

DCVD 的工作原理:双通道系统

DCVD 就像雇佣了两名专业检查员,他们并行工作,然后在做出最终决定前交换意见。

1. 双通道编码器(两套视角)

DCVD 不再仅仅提供单一视角,而是将代码分为两个流:

  • 结构分支(蓝图专家):该分支使用一种特殊工具(图注意力网络)来查看代码的“骨架”。它描绘控制流——例如,开关如何点亮灯光,或循环如何重复任务。它专注于代码的连接路径
  • 语义分支(翻译者):该分支使用强大的 AI(大型语言模型)来阅读代码,并用通俗的英语解释其功能。随后,它分析代码及其解释,以理解意图逻辑

类比:想象你要修理一辆汽车。结构分支是查看发动机接线图的机械师;语义分支是解释“当我踩油门时,汽车发出研磨声”的驾驶员。DCVD 会同时听取这两方面的信息。

2. 跨模态融合(对话)

如果两位专家不互相交流,仅有两位专家是不够的。如果蓝图专家说“电线连接在这里”,而翻译者说“驾驶员表示噪音发生在这里”,他们需要达成一致。

DCVD 使用跨模态融合模块,迫使这两种不同的视角相互对齐。

  • 对比对齐:这就像一位老师确保蓝图专家和翻译者讨论的是同一辆汽车,而不是不同的汽车。它将他们的理解拉近。
  • 双向交叉注意力:这是“深度对话”。蓝图专家问翻译者:“这根电线连接能否解释噪音?”翻译者则问蓝图专家:“这种噪音与这种布线是否吻合?”它们将各自的知识融合成对代码单一且超级的理解。

3. 多粒度监督器(双重检查)

最后,系统必须做出两个具体的预测,并且它被训练为同时完美地完成这两项任务:

  • 函数级:“这台整台机器是否危险?”(是/否)
  • 语句级:“哪一行是罪魁祸首?”(第 42 行、第 45 行等)

大多数旧工具在判定机器损坏后,将“哪一行?”部分视为一种幸运猜测。然而,DCVD 在行上设置了监督器。它明确训练系统去找到确切的损坏螺栓,而不仅仅是损坏的机器。它迫使系统直接学习细节,而不是寄希望于全局猜测是正确的。

结果

作者在包含真实世界软件漏洞的大型数据集(BigVul)上测试了这位“超级检查员”。

  • 更优的检测:它比任何先前的工具更准确地发现了危险函数。
  • 更优的定位:当它发现漏洞时,其定位具体代码行的精确度远超以往。
  • “原因”:测试表明,如果移除“蓝图”视角、“翻译者”视角或“双重检查”训练中的任何一项,系统性能都会显著下降。这证明了结合结构、含义和显式训练是其中的秘诀。

简而言之,DCVD 是一个统一的系统,它不仅仅阅读代码或查看图表;它同时理解漏洞的流程含义确切位置,使其成为本文所述的最准确的自动化安全审计员。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →