← 最新论文
💻 computer science

Fuzzing with Agents? Generators Are All You Need

该论文提出了名为 Gentoo 的基于大语言模型代理的方法,能够自动合成针对特定目标的输入生成器,实验表明其生成的生成器在覆盖深度上优于人工编写的基线,且无需依赖传统的覆盖率引导和变异策略即可达到高效 fuzzing 效果。

原作者: Vasudev Vikram, Rohan Padhye

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

原作者: Vasudev Vikram, Rohan Padhye

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

这篇论文提出了一种非常有趣的新思路:与其让 AI 去“猜”怎么制造测试数据,不如直接让 AI 去“写”一个专门制造测试数据的“机器”(生成器)。

为了让你轻松理解,我们可以把整个故事想象成**“寻找宝藏”**的过程。

1. 传统的“寻宝”方式:蒙眼乱撞

想象你被关在一个巨大的、结构复杂的迷宫里(这就是我们要测试的软件程序),你的目标是找到藏在深处的宝藏(也就是软件里的 Bug)。

  • 传统方法(变异模糊测试):
    以前的做法是,你手里有一堆随机生成的钥匙(输入数据)。你试着把钥匙插进锁孔,如果打不开,你就把钥匙稍微掰弯一点、磨掉一点(这就是“变异”),再试一次。
    • 问题: 如果迷宫入口就有一道复杂的安检门(比如要求输入必须是合法的 JSON 格式或特定的代码结构),你手里那些随机生成的钥匙,99% 都会在门口被保安拦下,根本进不去。你只能在门口徘徊,永远找不到深处的宝藏。

2. 高级的“寻宝”方式:定制钥匙匠

为了解决这个问题,以前的专家会专门请一位钥匙匠(人工编写的生成器)。

  • 这位匠人研究过迷宫的图纸,知道安检门需要什么样的钥匙。他专门制造符合规则的钥匙,确保每一把都能顺利进门,然后继续往深处走。
  • 问题: 请匠人太贵、太慢了。而且每个迷宫的构造都不一样,你得为每个新迷宫重新请一位匠人,还得花很长时间去验证他做的钥匙好不好用。

3. 这篇论文的新招:AI 特工(Gentoo)

这篇论文的作者想:既然现在的 AI(大语言模型)这么聪明,能不能让它自己当那个“钥匙匠”?

他们开发了一个叫 Gentoo 的系统,里面住着一个AI 特工

  • 任务: 这个特工被扔进迷宫的图纸(源代码)里,它的任务不是自己去乱撞,而是现场编写一个“钥匙制造机”(生成器)
  • 过程:
    1. 特工阅读迷宫图纸,理解安检门的规则。
    2. 它写出一段代码(生成器),这段代码能专门制造符合规则的钥匙。
    3. 它用这个生成器造钥匙,试着开门。
    4. 如果门没开(没覆盖到某些区域),它会收到反馈,然后修改自己的制造机器,让它下次能造出更精准的钥匙。

4. 核心发现:有了好机器,就不需要“乱撞”了

这是论文最惊人的结论:

  • 以前的观念: 即使有了钥匙匠,我们还需要配合“变异”策略(把钥匙稍微改改)和“覆盖率反馈”(告诉匠人哪扇门没打开),才能找到宝藏。
  • 现在的发现: 当 AI 特工写出的“钥匙制造机”足够聪明时,它造出来的钥匙几乎 100% 都能直接打开深处的门!
    • 这时候,再搞什么“把钥匙掰弯”或者“反馈哪扇门没开”就完全没用了
    • 因为 AI 生成的机器已经完美理解了迷宫的深层逻辑(比如:只有当代码里有“继承”和“方法重写”时,才会触发某个深层逻辑)。它直接造出了这种特定的钥匙,根本不需要靠运气去“撞”出来。

5. 三种不同的“特工”策略

论文里测试了三种特工,看看谁写的机器最好:

  1. 普通特工 (Gentoo-Base): 只给它看图纸和结果,让它自己悟。
  2. 静态分析特工 (Gentoo-S): 给它一份由计算机自动生成的“重点难点地图”,告诉它:“嘿,这扇门后面藏着最多的宝藏,重点攻克它!”
  3. AI 分析特工 (Gentoo-L): 不给地图,让特工自己读图纸,自己判断哪扇门最难开、最重要。

结果:

  • 这三种特工写的机器,在大多数情况下,都比人类专家写的机器找到的宝藏更多(覆盖率更高)。
  • 特别是,只要机器是 AI 写的,就不需要再配合“乱撞”策略了。这就像是你有了一个能造出完美钥匙的工厂,就不需要再拿着钥匙去乱捅锁孔了。

6. 一个有趣的失败案例(BCEL 库)

论文也提到了一个例外。有一个叫 BCEL 的库,AI 特工写的机器表现很差,远不如人类专家。

  • 原因: 人类专家知道这个迷宫里有一个“高级传送门”(官方提供的高级 API),可以直接生成合法的钥匙。但 AI 特工太老实了,它试图从零开始用原始代码(像拼积木一样)去造钥匙,结果造出来的钥匙经常是坏的,根本进不去门。
  • 启示: AI 有时候太“死板”,它可能没发现现成的捷径,还在笨拙地硬造。

总结

这篇论文告诉我们一个未来的趋势:
在软件测试领域,未来的重点可能不再是“如何更聪明地乱撞”(优化变异策略),而是“如何更聪明地制造钥匙”(让 AI 自动生成高质量的测试生成器)。

只要 AI 能写出足够懂业务的“钥匙制造机”,我们就不需要再依赖那些复杂的、靠运气和反馈的“乱撞”策略了。生成器,就是一切(Generators Are All You Need)。

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

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

试用 Digest →