FuzzingBrain V2: A Multi-Agent LLM System for Automated Vulnerability Discovery and Reproduction
FuzzingBrain V2 是一个多智能体大语言模型系统,它通过整合可复现的模糊测试、一种新颖的“可疑点”定位抽象以及分层分析,克服了现有自动化漏洞发现的局限性,在基准数据集上实现了 90% 的检测率,并成功识别出 29 个真实世界的零日漏洞。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在一座庞大而复杂的城堡(即一段软件)中寻找隐藏的陷阱。传统上,你可能会雇佣一队守卫去巡查每一个房间(静态分析),但他们常常疲惫不堪,并对无害的地毯大喊“有陷阱!”(误报)。或者,你可能会向墙壁投掷成千上万块随机石块,看看是否有什么东西会破裂(模糊测试),但如果某个陷阱被隐藏在一扇需要特定钥匙才能打开的锁着的门后,这些石块永远无法发现它。
FuzzingBrain V2 是一个全新的、超级智能的系统,旨在自动发现这些隐藏的陷阱。它将人工智能的“脑力”与投掷石块的“蛮力”相结合,但比以往更加智能。
以下是其工作原理,分解为简单的概念:
1. 问题:为何之前的尝试失败了
该论文指出,以往的人工智能工具主要面临三大难题:
- “幻觉”问题:人工智能有时会声称“我发现了陷阱!”,却无法展示那块真正击破墙壁的石块。安全团队无法信任这些断言。
- “缩放”问题:人工智能要么一次性审视整座城堡(过于模糊,无法看清细微裂缝),要么死盯着单块砖头(过于聚焦,无法看到门)。它找不到那个“最佳尺度”。
- “连锁反应”问题:某些陷阱只有在你按顺序执行三个特定操作时才会触发。旧工具无法推导出这些复杂的序列。
2. 解决方案:一支由专业 AI 智能体组成的团队
FuzzingBrain V2 并非仅使用单一的人工智能,而是使用一支由专业智能体组成的团队(如同施工队),在中央指挥的协调下协同工作。
- “方向”智能体(制图师):该智能体不再随机审视整座城堡,而是阅读蓝图并指出:“嘿,厨房入口是高风险区域。”它将庞大的代码分解为需要调查的逻辑“方向”或功能特性。
- “可疑点”智能体(侦探):这是该论文的重大创新。它不再泛泛地说“厨房很危险”,而是精准定位到具体位置:“厨房里的刀具抽屉松动了。”它称之为可疑点(SP)。这是完美的“缩放级别”——既不过于宽泛,也不过于狭窄。
- “验证器”智能体(检查员):在大喊“我们发现了陷阱!”之前,该智能体会双重核查工作。它会追踪路径,以确保那个“松动的刀具”确实可达,而非仅仅是误报。
- “概念验证生成器”(投石者):一旦某个位置被验证,该智能体就会精心打造那块击破墙壁所需的精确石块。它编写特定的输入(即“概念验证”),当将其提供给软件时,会导致软件崩溃。如果软件崩溃,则陷阱真实存在。
3. “双层”策略
该系统同时使用两种类型的“投石”:
- 全局模糊测试器:这就像在背景中持续向城堡墙壁投掷石块。它能捕捉到那些简单、明显的陷阱。
- SP 模糊测试器:这是“狙击手”。当“侦探”发现具体的“可疑点”时,该模糊测试器会将所有精力集中在那个确切的点上,试图打造完美的钥匙来解锁那扇门并触发陷阱。
4. 结果:效果如何?
作者通过两种方式对该系统进行了测试:
“考试”(AIxCC 竞赛):他们让该系统在 40 个已知隐藏陷阱(分布在各种软件项目中)进行测试。
- 结果:FuzzingBrain V2 发现了40 个中的 36 个(90%)。
- 它击败了包括竞赛获胜者在内的所有先前最佳团队。
- 它解决了那些需要深度思考和复杂序列的“难题”,而其他系统则错过了这些。
“现实世界”搜寻:他们在 19 个真实的开源项目(如图像处理器和网络工具)上部署了该系统。
- 结果:它发现了41 个全新的、前所未见的漏洞(零日漏洞)。
- 这些项目的维护人员确认了其中的 26 个,并修复了 23 个。
- 其中两项发现如此严重,以至于获得了官方的"CVE"编号(如同病毒的唯一身份证)。
5. 为何这很重要
该论文认为,该系统是一项突破,因为它不仅仅是猜测。它通过以受控方式实际破坏软件,证明了漏洞的存在。它弥合了"AI 思考”与“现实世界破坏”之间的鸿沟。
简而言之:FuzzingBrain V2 就像一支 AI 侦探团队,先阅读地图,然后聚焦于最可疑的地点,双重核查其理论,最后精心打造完美的钥匙来证明锁已损坏。与任何先前的方法相比,它发现更多真实的陷阱,速度更快,且误报更少。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。