← 最新论文
🤖 AI

LLM-based Vulnerable Code Augmentation: Generate or Refactor?

本文研究了利用大语言模型(LLM)进行漏洞代码增强的两种策略——直接生成新样本与对现有样本进行语义保持的重构,并发现结合这两种策略的混合方法能最有效地提升深度学习漏洞分类器的性能。

原作者: Dyna Soumhane Ouchebara, Stéphane Dupont

发布于 2026-02-11
📖 1 分钟阅读☕ 轻松阅读

原作者: Dyna Soumhane Ouchebara, Stéphane Dupont

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

1. 背景:面临“偏科”的训练营

想象一下,你正在训练一群“网络安全特种兵”(这就是论文里的深度学习分类器),目标是让他们一眼就能从成千上万行代码中,揪出那些藏着“地雷”(漏洞)的代码。

问题来了: 在现实世界中,大部分代码都是安全的,只有极少数代码带有漏洞。这就像是在一个巨大的操场上,只有几个角落埋了地雷。
如果你的特种兵平时只见过“安全代码”,没见过多少“地雷”,那么当真正的地雷出现时,他们就会视而不见。这种现象在学术上叫**“数据不平衡”**。

2. 核心任务:如何“制造”更多地雷?

为了让特种兵变强,我们需要给他们提供大量的“地雷样本”进行模拟演习。但现实中很难找到那么多现成的漏洞代码,于是研究人员决定请出一位**“超级造雷大师”——大语言模型(LLM,比如 Qwen)**。

论文提出了两种“造雷”的方法:

方法 A:凭空捏造(Generation-based Augmentation)

  • 比喻: 就像是给造雷大师一张“设计图纸”(漏洞描述),让他从无到有地设计出一颗全新的地雷。
  • 做法: 告诉 AI:“请模仿真实的工业级代码风格,给我写一段带有‘缓冲区溢出’漏洞的代码。”
  • 特点: 这种方法能创造出全新的、多样化的样本,但缺点是 AI 有时会“胡编乱造”,造出来的雷可能逻辑不通或者根本没炸。

方法 B:旧雷改装(Refactoring-based Augmentation)

  • 比喻: 就像是拿出一颗已经存在的旧地雷,让大师对其进行“整容”或“改装”。
  • 做法: 告诉 AI:“这颗雷已经有了,你帮我改改它的样子。换个外壳、改个颜色、或者把里面的零件挪个位置,但核心爆炸机制(漏洞)绝对不能变。”
  • 特点: 这种方法非常稳妥,因为“爆炸逻辑”是现成的,改出来的雷一定能炸,只是长得不一样了。

3. 实验结果:混合双打最厉害

研究人员把这两种方法都用在了训练特种兵的过程中,结果发现:

  1. 单打独斗也行: 无论是“凭空捏造”还是“旧雷改装”,都能让特种兵的识别能力提高。
  2. 混合双打最强(Hybrid Strategy): 如果既让 AI 凭空造新雷,又让 AI 改装旧雷,特种兵的战斗力提升最明显!他们不仅见识了新花样,也对旧花样练就了火眼金睛。
  3. 发现了一个“潜规则”: 研究还发现,代码越长,特种兵越容易看走眼。这说明长代码里的漏洞更隐蔽,更难抓。

4. 总结

这篇论文其实是在说:
面对“漏洞样本太少”这个难题,我们不需要辛苦地去现实世界里找,也不需要雇佣大量专家去写。我们只需要请出**“AI 大师”,让它通过“原创”“改写”**两种手段,源源不断地生产出高质量的“模拟地雷”,就能把我们的“安全检测模型”训练得更加强大。

一句话总结:用 AI 制造“假漏洞”来训练 AI 找“真漏洞”。

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

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

试用 Digest →