Google Mantis:一款旨在减少误报的基于智能代理的漏洞扫描框架
阅读完需:约 4 分钟
采用分层树结构建模代码库,令牌消耗减少 85%;融合“批评者”“审查者”“策略师”“研究者”四类代理实现闭环验证;沙箱化漏洞重现提供可验证证据,不依赖 LLM 单一判断。
适合安全工程师、DevSecOps 工程师、AI for Code 研发人员阅读。
鉴于 AI 代码扫描中的疏漏常常会导致虚假漏洞,而且真阳性率低于 7%,我们设计了 Mantis。为了确保其有效性,我们搭配使用了“批评者”代理和“审查者”代理等标准的行业代理技术,并与用于验证的沙箱化漏洞重现相结合。
谷歌解释称,Mantis 会分析代码库历史、以往的安全修复、架构和威胁模型,而不是采用暴力扫描的方式盲目地扫描文件。随后,它将分析过的文件汇总成一个包含目录和代码库级上下文的分层树,在保留重要结构信息的同时,将令牌使用量减少了 85%。
Mantis 采用了标准的行业代理技术,例如“批评者”代理和“审查者”代理,可以过滤误报并优先处理有意义的发现。它还可以在沙箱环境中重现发现的结果,从而以安全、可控的方式提供证据,证明该发现确实是真实的漏洞,而不是仅依赖于大语言模型(LLM)的判断。
Mantis 是谷歌内部用于以机器速度发现和修复漏洞的方法的一部分。除了“批评者”代理和“审查者”代理外,Mantis 还使用“策略师”代理来评估高层次的代码结构、威胁模型和依赖关系图,并配备了“研究者”代理。这些智能代理通过内部代码搜索对原始源文件进行深入检查,追踪数据流、控制流和数据净化逻辑。
Mantis 采用模块化技能套件架构,包含超过 15 种可顺序或并行执行的工具,例如 mantis-summarize、mantis-review、mantis-critic 等。各阶段之间通过读写存储在磁盘上的共享状态来相互通信。
Mantis 支持多种模型,并且可以针对不同的阶段组合使用不同的模型:
为了最大限度地提高自动化管道的速度和效率,应根据具体任务,策略性地选择合适的人工智能模型类别。并不需要在每个阶段都使用最复杂、最先进的前沿模型。
例如,对于不需要深层逻辑推理的任务,谷歌建议使用“flash”或“lite”模型变体,例如使用 mantis-researcher 进行快速分类,或使用 mantis-dedupe 对相似文本模式进行聚类。更强大的模型则更适合于需要深度上下文理解和零样本问题解决能力的任务,例如能够编写功能崩溃重现程序的 mantis-reproduce,以及为代码库生成无副作用修复方案的 mantis-patch。
每个漏洞扫描系统都不可避免地会产生误报,有时数量之多甚至令人沮丧。Mantis 通过 mantis-review 阶段解决了这一问题。该阶段应用基于规则的反向过滤器来剔除可能的误报。不过,谷歌强调,应谨慎使用该过滤器:不应将低风险的发现自动归类为误报,因为过于宽泛的反向过滤器可能会降低系统检测真实漏洞的能力。
Mantis 已经在 GitHub 上开源。你可以在智能代理参考指南中查阅所有可用的阶段以及阶段间契约的详细说明,以及使用该框架的最佳实践。
原文链接:https://www.infoq.com/news/2026/09/google-mantis-vulnerability-scan/
对苦于 AI 扫描误报的安全团队而言,Mantis 的分层上下文与多代理闭环验证思路值得借鉴,尤其适合 DevSecOps 与 AI for Code 研发者自建漏洞流水线时参考。