← 最新论文
💻 computer science

Vulnerability Detection with Interprocedural Context in Multiple Languages: Assessing Effectiveness and Cost of Modern LLMs

该研究通过实证评估四种现代大语言模型在 C、C++ 和 Python 语言中利用跨过程上下文检测漏洞的效果与成本,发现 Gemini 3 Flash 在 C 语言漏洞检测中性价比最优,而 Claude Haiku 4.5 在漏洞识别与解释方面表现最佳,从而为构建跨语言 AI 辅助安全分析工具提供了重要依据。

原作者: Kevin Lira, Baldoino Fonseca, Davy Baía, Márcio Ribeiro, Wesley K. G. Assunção

发布于 2026-04-10
📖 1 分钟阅读☕ 轻松阅读

原作者: Kevin Lira, Baldoino Fonseca, Davy Baía, Márcio Ribeiro, Wesley K. G. Assunção

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

这篇论文就像是一次**“侦探大比拼”**,只不过侦探是人工智能(AI),它们的工作是帮程序员在代码里找“漏洞”(就像找房子结构里的裂缝)。

为了让你更容易理解,我们可以把这篇研究想象成在三个不同的建筑工地(C 语言、C++ 语言、Python 语言)上,测试四位超级侦探(四种不同的 AI 模型)抓小偷的能力。

1. 核心问题:侦探需要看“全景图”吗?

以前的研究认为,侦探要抓小偷,光看小偷所在的那一间屋子(单个函数代码)是不够的,必须把整栋楼的图纸(包括谁叫了小偷、小偷又去找了谁,也就是“跨过程上下文”)都看一遍,才能发现线索。

但这篇论文想问:真的需要看整栋楼吗?还是只看那一间屋子就够了?如果强行给侦探看整栋楼,会不会反而让他看花眼,抓错人?

2. 四位“侦探”选手

研究者找了四位目前最火的 AI 侦探来比赛:

  • Claude Haiku 4.5(像是一个细心、昂贵的老练侦探)
  • Gemini 3 Flash(像是一个反应快、性价比高的年轻侦探)
  • GPT-4.1 MiniGPT-5 Mini(像是有名但有点“神经质”的侦探,容易受干扰)

3. 比赛规则:三种“案情简报”

研究者给每位侦探三种不同的“案情资料”:

  1. 只看现场(Code Only): 只给侦探看那个出问题的房间。
  2. 看现场 + 邻居(Code + Callees): 给侦探看房间,加上这个房间叫过谁(被调用的函数)。
  3. 看现场 + 访客(Code + Callers): 给侦探看房间,加上谁进过这个房间(调用该函数的函数)。

结果让人大跌眼镜:

  • 对于 C 语言(最复杂的工地): 给侦探看“整栋楼”的图纸,反而帮了倒忙!特别是 GPT 系列的侦探,看到太多额外信息后,脑子乱了,抓错人的概率直接飙升(准确率下降了 25%)。这就好比给一个侦探看了一堆无关的监控录像,他反而把无辜的路人当成了小偷。
  • 对于 Python(比较简单的工地): 给不给额外图纸,侦探们的表现差别不大,因为 Python 的代码通常比较独立,不像 C 语言那样千丝万缕。
  • Claude 和 Gemini: 这两位侦探比较“定力”强,不管给不给额外图纸,他们都能保持高水准,甚至只看房间就能抓得很准。

4. 算账:看越多,越贵!

这就好比叫侦探,看的信息越多,收费越贵

  • 给侦探看“整栋楼”的图纸,相当于让侦探多读了一倍的书,费用直接翻倍
  • 但是,多花的钱并没有换来更好的抓贼效果。相反,因为信息太多,有些侦探反而抓得更差了。
  • 性价比之王: Gemini 3 Flash。它既便宜,抓得又准(在 C 语言里几乎完美),是老板们最省心的选择。
  • 解释能力之王: Claude Haiku 4.5。虽然它贵一点,但它不仅能抓贼,还能写出最精彩的“破案报告”,告诉老板为什么这里有问题,怎么修。

5. 总结:这篇论文告诉我们要怎么做?

这篇研究给了软件安全界三个重要的启示:

  1. 别盲目堆砌信息: 并不是给 AI 看的代码越多越好。有时候,“少即是多”。对于某些 AI 模型,只给核心代码反而比给一堆上下文更准。
  2. 选对工具很重要:
    • 如果你想要最省钱,选 GPT-4.1 Mini(但要小心它容易看走眼)。
    • 如果你想要最划算且靠谱,选 Gemini 3 Flash(它是目前的最佳平衡点)。
    • 如果你需要最详细的分析报告,让老板看懂漏洞在哪,选 Claude Haiku 4.5
  3. 不同语言,不同策略: 在 C 语言这种复杂的系统里,给 AI 加太多背景信息可能会让它“晕头转向”;但在 Python 里,加不加影响不大。

一句话总结:
这就好比你请人修水管,有时候只把坏掉的那段水管给他看,他修得最快最准;如果你把整栋房子的水管图都塞给他,他反而可能因为信息太多而修错了,还多收了你一倍的钱。这篇论文就是告诉大家:给 AI 侦探“喂”数据要适量,选对侦探比给更多数据更重要。

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

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

试用 Digest →