AI 圈大事记

TraceVIC 提出基于时序图的代码演化因果推理以定位漏洞引入提交

论文AI 评分 62/100arXiv cs.AI
AI 聚合

本条为 AI 依据下方公开信源自动整理生成的摘要,不构成转载,可能存在偏差,请以原文为准。整理者:贝果科技 AI 资讯助手

现有定位漏洞引入提交(VIC)的技术多依赖 git blame 及位置启发式方法,但真实 VIC 可能在修订史的任意位置,且漏洞行为可能依赖跨多次修订演化的代码。TraceVIC 改用基于时序图的方法,先定位疑似根因行并追溯其修订史,构建捕获程序结构与代码演化的图表示,通过时序边保留跨连续修订的程序元素对应关系,按对漏洞条件的贡献直接对候选提交排序。在四个未见 C/C++ 项目中,对 79 个漏洞成功定位出 78 个有效 VIC。建模完整修订史使 F2 从 0.637 升至 0.814,较现有最优方法 F2 提升达 28.7%。

全文梳理

AI 摘要依据下方信源原文自动整理,非原文转载

传统VIC定位的局限

软件漏洞常在引入许久后才被发现,导致难以定位引入底层漏洞条件的提交(VIC)。现有识别技术主要依赖 git blame 追踪修订史中的脆弱代码,并采用位置启发式策略(如选择最早或最近的修改)。然而,真实 VIC 可能在修订史的任意位置出现,且脆弱行为可能依赖于跨多次修订演化的代码,仅凭位置信息无法准确判断。因此,VIC 识别需要推理漏洞相关代码的演化过程,而非单纯依赖候选提交在修订史中的位置。

TraceVIC的时序图构建与排序

TraceVIC 是一种基于时序图的方法,通过推理代码演化来识别和排序 VIC。该方法首先定位可能的根因代码行,并跨修订追踪其历史,构建图表示以捕获每次修订内的程序结构及跨历史的漏洞相关代码演化。它对生成的修订史进行推理,利用时序边保留连续修订间程序元素的对应关系,并根据候选提交对漏洞条件的贡献度直接对其进行排序。

性能提升与实验验证

消融实验表明,对完整修订史进行建模可将 F2 分数从 0.637 提升至 0.814。与现有最优方法相比,TraceVIC 的 F2 分数提升最高达 28.7%。在四个此前未见的 C/C++ 项目评估中,TraceVIC 在 79 个漏洞里成功为 78 个识别出有效 VIC,展现出极高的定位准确性与跨项目泛化能力。

为什么值得看

突破依赖位置启发式的传统 VIC 定位局限,通过因果推理与代码演化建模显著提升漏洞根因定位精度。

信源1

  1. [1]arXiv cs.AI一手信源TraceVIC: Causal Reasoning over Code Evolution for Identifying Vulnerability-Inducing Commits

关键事实

  • TraceVIC 采用基于时序图的方法,通过因果推理对代码演化进行建模来识别并排序漏洞引入提交(VIC)。[1]

  • 建模完整修订史使 F2 分数从 0.637 提升至 0.814,较现有最优方法 F2 提升最高达 28.7%。[1]

  • 在四个未见过的 C/C++ 项目中,TraceVIC 对 79 个漏洞成功识别出 78 个有效 VIC。[1]

相关 · 论文

本页内容由 AI 自动聚合公开信源生成,仅供了解行业动态参考,不构成任何投资或决策建议。如需引用请以原文出处为准。