← 最新论文
💻 computer science

UntrustVul: An Automated Approach for Identifying Untrustworthy Alerts in Vulnerability Detection Models

UntrustVul 是一种自动化方法,通过标记那些缺乏历史漏洞模式且不存在易受攻击依赖项的可疑代码行来识别不可信的漏洞预测,在多个数据集和模型上实现了比现有方法显著更高的准确率。

原作者: Lam Nguyen Tung, Xiaoning Du, Neelofar Neelofar, Aldeida Aleti

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

原作者: Lam Nguyen Tung, Xiaoning Du, Neelofar Neelofar, Aldeida Aleti

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

以下是用简单语言和日常类比对论文UNTRUSTVUL的解释。

问题:那个“自信却错误”的侦探

想象你雇佣了一位技术高超的安全侦探(一个 AI 模型)来查找建筑蓝图(软件代码)中的缺陷。这位侦探速度很快,通常能发现问题。然而,有时这位侦探会过度自信被误导

情况是这样的:

  • 侦探在蓝图中发现了一个真实的问题(漏洞)。
  • 但是,侦探没有指出破裂的管道,反而指向了一个花哨的门把手,或者墙上某种特定的油漆颜色。
  • 侦探说:“我 99% 确定这栋楼不安全,就是因为这个门把手!”
  • 实际上,门把手与破裂的管道毫无关系。侦探只是从训练数据中学到,“门把手”经常出现在不安全建筑的图片中,所以它假设它们是原因。

如果人类建筑工(开发者)信任这位侦探,他们可能会浪费数小时试图修理门把手,或者更糟的是,他们修补了门把手却留下了破裂的管道继续泄漏,从而导致灾难。

核心问题: 当前的 AI 模型非常擅长说“这里坏了”,但它们通常不擅长解释为什么坏了,或者指出实际坏掉的部分。它们依赖“虚假特征”(无关线索)而不是真正的根本原因。

解决方案:UNTRUSTVUL(“信任检查器”)

作者创建了一个名为UNTRUSTVUL的新工具。不要把它看作侦探,而要把它看作侦探报告的质量检查员

它的工作是查看侦探的“可疑行”(他们指出的线索),并问:“这条线索真的与犯罪相关,还是只是巧合?”

UNTRUSTVUL 如何工作(两步检查法)

UNTRUSTVUL 使用一个两步过程来决定预测是否可信:

第一步:“历史书”检查(行级评估)

  • 类比: 想象一个包含所有已解决犯罪现场的图书馆。UNTRUSTVUL 查看侦探标记的特定代码行。它会问:“这一行看起来像通常导致真正问题的代码部分吗?”
  • 行动: 如果被标记的行只是一个通用注释、变量名,或者是也出现在安全代码中的常见编码风格,UNTRUSTVUL 会将其标记为“良性候选”(一条碰巧看起来可疑的无害行)。
  • 目标: 根据历史模式,过滤掉明显不是问题的行。

第二步:“多米诺骨牌效应”检查(依赖评估)

  • 类比: 有时,一条看起来无害的行如果控制着开启危险机器的开关,也可能成为问题的一部分。UNTRUSTVUL 绘制代码连接图(就像流程图)。它会问:“这条无害的行是否连接到任何确实危险的行?”
  • 行动: 它追踪连接关系。
    • 如果被标记的行远离真正的危险(没有连接),它就是“漏洞无关”的。
    • 如果被标记的行直接连接到危险(就像开启炸弹的开关),它就是“漏洞相关”的。
  • 结果: 如果侦探指出的行既“无害”又“与危险断开连接”,UNTRUSTVUL 会将整个预测标记为不可信

分数:一个“信任计”

UNTRUSTVUL 不仅仅说“是”或“否”。它给出一个信任分数

  • 高分: 侦探指出了正确的行,并且这些行与真正的问题相连。(信任 AI)。
  • 低分: 侦探指出了无关的行,或者没有连接到危险的行。(忽略 AI 的解释;这很可能是误报或误诊)。

为什么这很重要(结果)

研究人员在四个不同顶级 AI 模型生成的 115,000 个预测上测试了 UNTRUSTVUL。

  • 发现: 他们发现许多“高置信度”的预测实际上是不可信的。AI 很自信,但它的推理是错误的。
  • 性能: UNTRUSTVUL 在识别这些糟糕预测方面比以前的方法(主要只看 AI 有多自信)要好得多。
    • 与旧方法相比,它检测不可信预测的能力提高了13% 到 92%
    • 它成功识别了 AI“追逐红鲱鱼”(无关线索)的情况。

底线

在软件安全领域,知道程序漏洞只是战斗的一半。你还需要知道问题在哪里,以便修复它。

UNTRUSTVUL 是一个安全网。它通过自动标记基于无关线索的 AI 预测,阻止开发者浪费时间修理错误的东西(比如门把手)。它确保当 AI 说“修复这一行”时,开发者可以真正信任这一行就是需要修复的那一行。

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

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

试用 Digest →