最近,Google 的Mandiant 团队首次公开了内部AI漏洞发现Harness(AVDH)架构。
AVDH 已投入使用约10个月;在一次涉及企业代码仓库被窃的应急响应中,它在两天内发现了超过100个经确认的关键漏洞,处理速度远远快于手动审查;已经分析过数千万行代码的各种环境,执行数千条流水线并发现数万条漏洞。
基于ADK框架,把大模型放进确定性harness
AVDH 基于 Google 的Agent开发工具包 (ADK) 构建。Mandiant 选择了接近瀑布式开发的顺序架构:每个阶段完成后,结果才流向下一阶段,最终输出去重、定级并等待人工复核的漏洞清单。
AVDH 的整个harness依次完成威胁建模、入口发现、上下文收集、漏洞假设生成与漏洞假设验证。

第一阶段:把代码仓库转换为威胁模型
流水线首先调度一个 Explorer Agent识别代码库的核心用途,判断目标属于 Web、桌面或其他软件领域,阅读仓库文档,并标记测试目录等无需扫描的区域。随后,多个专家 Explorer 子Agent分别检查认证、授权、路由以及领域特有的组件。

这些结果由 威胁建模综合Agent汇总为统一威胁模型。此时系统不仅生成文本描述,还生成可视化的组件暴露关系,以便在进行后续分析之前进行验证。

这一设计解决的是传统代码审计中最大的问题——漏洞不是局限于危险函数,而是攻击者能力、入口可达性、权限条件与程序行为共同形成的路径。 同一段文件操作代码,出现在仅本地调用的管理工具中,和出现在未认证 HTTP 路由中,风险完全不同。威胁建模提供了后续判断所需的坐标系。
除源码外,AVDH 还可吸收资产清单、软件物料清单(SBOM)、架构文档与威胁情报,用于动态选择语言、框架和漏洞模式。
第二阶段:用轻量模型并行枚举所有入口
威胁模型确定后,多个 Discovery Agent并行分析范围内的文件。这一阶段使用轻量级 Gemini Flash Lite,目标不是直接给出漏洞结论,而是以更低成本大规模提取应用入口,例如 HTTP 路由、进程间通信监听器及其他领域特定攻击向量,同时识别嵌套在入口中的用户输入来源。

这个设计体现了一项工程取舍:并非每一步都需要最强模型。 入口枚举属于高吞吐、结构相对明确的任务,可以交给轻量模型并行执行;需要跨文件推理和反事实判断的阶段,则在后续投入更多推理资源。
第三阶段:沿调用关系补齐安全上下文
企业应用的安全属性往往分散在多个文件中:路由、权限检查、输入净化和危险操作可能位于不同层。仅阅读入口函数,既可能漏掉深层漏洞,也可能忽略补偿性控制。

AVDH 为每个入口分配独立的 Enrichment Agent,让其沿代码关系导航并汇总相关实现,包括净化器、权限条件、路由约束、嵌套函数和存储边界。完成扩充后,Agent判断该入口需要进入访问控制分析、数据流分析,还是两条分支同时进入。
第四阶段:先扩大假设空间,再用验证收敛
访问控制Agent主要研究控制流:功能是否只对预期身份开放,权限检查是否缺失、检查对象是否错误,以及是否存在提权、跨站请求伪造等问题。
数据流分析Agent则追踪用户输入如何经过嵌套调用、净化转换和数据库等存储边界,最终是否抵达可造成危害的危险点,以发现 SQL 注入、跨站脚本、命令注入和路径遍历等漏洞。

有趣的是,这个阶段也做了少量验证,目标是进行广泛的头脑风暴。大量候选假设再经过由顾问配置的置信度过滤器,从而控制。
第五阶段:让多个验证者彼此制造分歧
每条候选漏洞会被交给多个验证 Agent。与通常为了稳定输出而降低temperature不同,AVDH 在此处使用较高temperature,让验证者从更多路径审视同一假设。随后,单独的验证综合Agent汇总各验证者的理由与结论,并结合威胁模型作最终判断。

结果被划分为三类:
得到独立验证的确认发现;
被冲突证据推翻的假设;
不符合威胁模型或不构成漏洞的拒绝项。
最后一公里仍然由人完成
确认项经过去重和风险评级后,会进入人工专家审查。安全顾问动态复现攻击路径并执行概念验证代码,检查模型假设是否成立,以及是否存在Agent未观察到的补偿性控制。无法通过动态测试的发现会被丢弃;通过验证的项目才会结合专家分析进入正式披露格式。

安全专家知识蒸馏
为了降低误报和漏报,Mandiant 还把顾问经验蒸馏为分层规则体系:顶层按软件领域组织,下分语言、框架和漏洞三类规则。 语言与框架规则贯穿整条流水线,补充入口定义方式和特有攻击面;漏洞规则主要用于末端,规定某类漏洞如何发现、验证和评级。

这使专家知识从一次性提示词变成可维护模块。新增框架、语言或漏洞类型时,可以更新对应规则,而不必重写整个系统。

如何做漏洞挖掘Benchmark?
最后,Mandiant还介绍了下自己的Benchmark方法论。Google指出,主流模型可能已经在训练阶段见过一些应用的公开代码、补丁和漏洞报告,此时模型究竟是在推理,还是在背答案,很难区分。

因此,Mandiant 自建了覆盖不同语言、软件领域、架构和漏洞深度的合成代码库,并要求安全顾问逐个确认植入漏洞真实可达、可以动态利用。
不过小编觉得可惜的是,Google 公开了一套看起来相当严格的考试制度,却没有公开横向对比成绩,所以无法判断它在相同时间、算力和人工预算下,究竟优于其他方法多少。

参考资料:https://cloud.google.com/blog/topics/threat-intelligence/staying-ahead-of-adversarial-ai-through-agentic-source-code-review
声明:本文来自玄月调查小组,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。