文章总结: Mandiant公开其智能体漏洞发现框架AVDH的架构细节,该框架通过多智能体编排与人类专家知识结合,实现高效源代码审计。实战中两天发现100多个漏洞,获12个CVE。文章详述威胁建模、入口点发现、假设生成验证等流程,并建议防御者采用类似框架并配合持续扫描形成双层防御。 综合评分: 88 文章分类: 代码审计,AI安全,安全工具
以智能体源代码审计领跑对抗性 AI
Mandiant Mandiant
securitainment
2026年9月1日 12:29 中国香港
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
| 原文链接 | 作者 | | — | — | | https://cloud.google.com/blog/topics/threat-intelligence/staying-ahead-of-adversarial-ai-through-agentic-source-code-review | Alex Tselevich, Michael Maturi |
引言
对抗性地滥用 AI 的行为加大了数据窃取与勒索事件的风险——一旦专有源代码暴露,防御者必须争分夺秒地识别并修补漏洞,而攻击者则以机器速度部署 AI 工具展开攻势。
通过结构化分析流程、强制执行审慎的验证步骤,并将特定领域的人类专业知识直接注入流水线,我们的成效实现了飞跃。将 AI 模型与深度结构化、由人类专家驱动的编排层相结合,可以扭转力量天平,让防御者抢在对手之前出手。
如今,我们使用智能体漏洞发现框架(Agentic Vulnerability Discovery Harness,AVDH),在主动审查、渗透测试、红队演练和事件响应项目中快速分析代码并查找利用路径。该框架将多智能体编排与我们的实战专业知识相结合,能够增强对常规漏洞的发现与验证,让人类得以专注于发挥更大影响力的工作。
为帮助防御者在自己的环境中实施类似方法,我们首次分享这套内部时点式(point-in-time)架构的细节。AVDH 还可与 CodeMender 的持续扫描配合使用,形成双层防御策略。
实战成果
在使用 AVDH 的 10 个月里,我们看到了它的显著影响力。在最近一起涉及企业代码仓库失窃的事件响应调查中,该框架仅用两天就发现了 100 多个确证属实(true-positive)的严重漏洞——所需时间仅为人工审查的零头。
这极大地加速了 Mandiant 大规模发现漏洞的进程。我们用它分析了跨越数千万行代码的环境,执行了数千条流水线,生成了数万条发现结果。这种快速分析在广为使用的 Web 扩展和开源项目中挖掘出数十个可提报的缺陷,已获得 12 个已分配的 CVE,包括 CVE-2026-13242、CVE-2026-55803,另有十余个目前正处于披露流程中。
快速、广泛、高精度的扫描是 AVDH 的关键优势之一,而在定向对手模拟项目中,它同样发挥了力量倍增器的作用。最近,我们将某客户的 Web 应用源代码送入该框架处理,迅速找到一个可用于初始访问的远程代码执行(RCE)漏洞。
在突破成熟防御体系、加速构建复杂利用链方面,AVDH 已屡次证明其不可估量的价值。
构建流水线
编排框架已成为将大语言模型(LLM)用于网络安全的重要工具。它有助于缓解模型固有的非确定性行为所带来的不可预测性,并显著提升其在代码分析方面的效能。
编排框架的程序化基础设施以严格确定性的方式调度智能体直至达成目标。在 AVDH 中,我们使用了 Google Agent Development Kit(ADK)——一个实现了最常见智能体编排模式的 LLM 框架,并为自定义及第三方集成提供灵活配置。这一思路与 Google Antigravity 现已提供的智能体编排能力相契合,后者为构建者提供了一个集中式工作区,用于引导和管理这些智能体工作流。
我们在各个软件领域发现和修复漏洞的数十年一线经验,帮助我们围绕顾问们每天执行的成熟方法论来构建 AVDH。AVDH 将多个专用智能体串联成一条顺序流水线,很像软件开发的瀑布式方法:每个阶段完成后才开始下一阶段。这条流水线最终产出一个按优先级排序、带风险评级的发现结果列表,可直接交由人类专家审查。
正如一线安全专家依赖组织上下文一样,智能体编排框架也需要丰富的环境输入——例如资产清单、软件物料清单(SBOM)、架构文档和威胁情报。这些上下文数据被注入经过提炼的人类知识库后,智能体便能动态选择相关的技能、语言规则和漏洞模式,以开展深入分析。
图 1:顺序式漏洞发现方法论
威胁建模
使用 AI 进行代码安全分析时,关键的第一步是为目标代码库建立威胁模型。软件架构千差万别,若没有威胁模型,我们可能丢失宝贵的上下文,例如攻击向量、业务逻辑和可达性。
传统源代码审查引擎依赖僵化的模式匹配规则,而 LLM 拥有一项独特优势:它能区分普通用户可访问的代码、仅限管理员访问的代码,以及根本不会被执行的代码。
我们的流水线首先派出 Explorer(探索器)智能体来判定目标代码库的核心用途。该智能体确定软件领域(如 Web 应用或桌面应用),审阅已发现的文档,标记需要排除在扫描之外的目录(例如包含单元测试的目录),并调度 Specialist Explorer(专项探索器)子智能体。
随后,这些专项探索器深入各自负责的领域,包括身份验证、授权、路由以及其他特定领域的类别。它们的输出被传递给 Threat Model Synthesis(威胁模型综合)智能体,由后者将各项发现汇总为一个连贯的威胁模型。
图 2:代码库侦察工作流示意图
这一阶段的分析完成后,顾问会同时看到威胁模型的文本与可视化两种呈现,以便在分析继续之前进行确认。这道审批关卡有助于确保流水线的后续环节建立在准确的基础之上。
图 3 展示了该框架生成的可视化威胁模型示例布局,标明了哪些应用组件暴露在外以及它们之间的连接方式。
图 3:示例代码库威胁模型的可视化呈现
入口点发现
威胁模型建立后,我们会部署并行化的 Discovery(发现)智能体来分析范围内的每一个文件。这些智能体使用轻量级的 Gemini Flash Lite 模型大规模处理代码,提取关键的应用入口点,例如 HTTP 路由、进程间通信(IPC)监听器以及其他特定领域的攻击向量。与此同时,它们还会分离并提取嵌套在这些已识别入口点中的所有可识别用户输入源。
图 4:入口点发现工作流示意图
上下文增强
入口点被选中进行分析后,框架会为每个入口点分配一个专属的 Enrichment(上下文增强)智能体。在企业应用中,孤立地分析一个入口点往往不够——净化器(sanitizer)、权限和路由条件等关键组件常常高度分散。
此外,漏洞常常深藏在嵌套函数调用之中,与最初的源头相隔多次跳转和多个文件。为弥合这一差距,上下文增强智能体会在代码库中导航,为其负责的入口点聚合上下文相关的代码。它会评估这些聚合后的数据,以判断该入口点是否需要交由访问控制智能体、数据流分析智能体或两者作进一步分析。
图 5:上下文增强工作流示意图
假设生成
有效的代码分析取决于对两个核心属性的观察:控制流与数据流。控制流决定任务和指令的执行顺序,数据流则追踪信息在整个应用中如何流动与变换。
AVDH 将这些关键任务分别委托给 Access Control(访问控制)与 Data Flow Analysis(数据流分析)智能体。
在这个阶段,这些智能体只做极少量的自我验证,它们的首要目标是放开手脚的头脑风暴。为管控产出假设的庞大数量,这一创造性过程由顾问配置的 Confidence Filter(置信度过滤器)加以约束。
图 6:假设生成门控机制示意图
访问控制智能体会评估目标入口点周围的防护措施,以确定应用用户对它的整体可访问性。其主要目的是验证安全假设,确认特权功能是否受到妥善限制,或是被无意间暴露给了未授权用户。这类分析能够揭示“从未执行检查”或“检查对象身份错误”的缺陷,包括授权缺失、权限提升和跨站请求伪造(CSRF)。
与此同时,数据流分析智能体追踪用户输入从初始入口点出发、贯穿整个应用的流动过程。它会追踪数据穿越嵌套函数调用、净化器转换以及数据库等存储边界的全过程。
该智能体的目标是判断这些用户提供的输入是否会到达危险的“汇聚点(sink)”——即恶意输入可能被执行并造成危害的函数。这种深度追踪能够挖掘出 SQL 注入、跨站脚本(XSS)、命令注入和路径遍历等漏洞类别。
假设验证
针对目标代码库的假设生成完毕后,框架会派出一组新的智能体对其进行验证。在 LLM 中,temperature(温度)参数决定输出的变异性和随机性:较低的温度产生可预测、稳定的响应,较高的温度则可能每次都生成截然不同的结果。
我们的框架利用了这一特性:派出多个配置为高温度的 Validation(验证)智能体来评估每个假设,同时派出一个 ValidationSynthesis(验证综合)智能体负责处理它们的裁定并作出最终决定。使用更高的温度使验证过程能够覆盖更宽泛的可能性谱系,而非局限于可预测的常规响应。最终,这种温度配置为作最终裁决的智能体提供了更丰富、更全面的上下文。
验证综合智能体会评估各验证智能体的推理与裁定,判断假设是否满足我们严格的质量标准并与整体威胁模型相符。最终有三种可能的结果:
-
确认发现
:假设足够可靠,且验证智能体已独立证实。
-
证伪假设
:验证智能体提出了与其有效性相悖的重要冲突证据。
-
拒绝假设
:假设与既定威胁模型不符,或不构成漏洞。
图 7:假设验证工作流示意图
人类主题专家知识
专家验证
框架对已确认的发现结果完成去重和风险评级后,我们会以严格的人类专家审查继续分析。我们通过动态复现利用过程并执行概念验证(POC)代码来履行尽职调查,以核实 AI 的假设准确无误,且没有未被察觉的补偿性控制阻碍攻击路径。
验证通过后,顾问会将 AI 生成的发现结果与自己的专业分析相融合,并为正式披露做好准备。反之,任何未能通过这一动态测试阶段的发现结果都会被舍弃。
我们鼓励正在考虑实现类似漏洞发现框架的网络防御者对发现结果进行人工验证。
图 8:人在回路交接示意图
知识提炼
人工介入验证已确认的发现结果,能有效将误报降至最低,但漏报问题仍有待解决。
为了查明 AI 智能体是否遗漏了任何漏洞,我们设计了一套基于规则的方法,将 Mandiant 的主题专家知识直接注入分析流水线。该方法使用从顾问集体知识中提炼的高度专业化提示词,类似于“技能工程”理念。
将这类人类智能直接融入 AI 驱动的分析,显著提升了结果的精准度。为确保这套知识系统保持模块化和可扩展,我们将其构建为层次结构:顶层是软件领域,其下是语言、框架和漏洞三大主要规则类别。
图 9:智能体规则系统层次结构
框架类规则和语言类规则作用于整条流水线,为智能体提供顾问对目标代码库所用特定技术的洞察。这些规则涵盖关键细节,例如常见的入口点定义模式、独特的攻击面,以及威胁建模所必需的其他上下文信息。
与之相反,漏洞类规则仅在流水线的最后阶段生效,精确规定如何发现、验证特定类型的漏洞并对其进行风险评级。这种结构化系统确保 Mandiant 的人类专业知识以一种可维护、高度模块化的方式渗透到整条分析流水线中。
图 10:方法论规则应用示意图
衡量成效
准确的基准测试与评估,对维护和持续改进一条智能体代码分析流水线至关重要。我们制定了严格的内部方法论来衡量编排框架的性能,确保提示词调整和规则更新始终带来有数据支撑的正面改进,而不引入质量回退。
我们建议实现一套类似的基准测试系统,以衡量你的代码分析流水线的进展与成效。
基准测试目标
尽管公开的代码漏洞数据集确实存在,但训练数据污染给评估 LLM 带来了重大挑战。现代前沿模型很可能已经“消化”过这些公开仓库,以至于几乎无法判断模型是在真正推理一个漏洞,还是在简单回忆背过的答案。
为确保高保真评估,我们开发了一套专有的合成代码库。这些定制基准覆盖不同软件领域、编程语言、漏洞深度和架构,从传统的单体架构到现代微服务。
至关重要的是,我们的安全顾问会人工验证每一个植入的漏洞,确保它真正可达且可被动态利用。在调整框架及其底层提示词的过程中,我们执行严格的审查流程,主动防止 AI 过拟合于这些基准代码库。
基准评分
我们的评分流程将 AI 评估与专家人工介入审查相结合。当框架分析某个基准目录时,输出会传递给一个专用的 Grading(评分)智能体。该评分器将流水线的发现结果与我们的真值(ground-truth)数据集进行比对,要求精确匹配漏洞,而不依赖宽泛的语义相似性。
此后,评分流水线会分支处理若干边缘情况:
-
误报甄别
:未能对应到真值数据的框架发现结果,会被转给一个二级智能体,最终将其明确归类为误报或真实漏洞。
-
重复项处理
:如果流水线产出的多条发现结果对应同一个真值问题,另一个智能体会分析该聚类,判断这些发现是否互为重复。
最后,人类专家会人工审查评分后的数据,以验证 AI 裁定的准确性。每当框架发布重大版本,我们都会在多个领域和架构上执行这一严格的测试周期,并对结果取平均,以抵消 LLM 固有的非确定性影响。
图 11:基准测试流程示意图
结论
保障软件开发流水线的安全,已成为现代企业防御的一道标志性难题。我们持续进行的研究表明,防御者在应对对抗性 AI 快速增长的能力时,面临着非同寻常的挑战。
要匹敌这些新兴威胁,守护代码流水线必须成为现代防御战略的关键组成部分。人工源代码审查已跟不上 AI 的速度,而传统扫描引擎也总是遗漏隐藏在现代软件中的广泛漏洞类型。
然而,我们这套框架的成功证明:防御者完全可以在与对抗性 AI 的较量中夺回优势。通过将前沿模型嵌入由专家定义的编排框架,防御者能够将常规漏洞的发现自动化。
处理好这些标准化发现结果,能让源代码可见性转化为可规模化扩展的防御能力,从而解放我们的顾问和其他防御者,让他们全神贯注于复杂缺陷。我们相信,构建和打磨这套框架的过程已经证明:AI 作为人类专业知识的实用倍增器部署时,才能发挥最大效能。
虽然我们的工具专为时点式评估和深度、主动式的漏洞发现而构建,但我们近期的博客文章介绍了 CodeMender 如何与之互补——为软件开发和漏洞管理提供持续的 AI 赋能监控。对于希望开箱即用部署这些能力的组织,Google AI Threat Defense 提供了一个全天候在线的平台,其中包含 CodeMender 的代码扫描与修复能力,可分析系统、排列威胁优先级、修补漏洞,并持续监测新的攻击。将用于定向深度分析的 AVDH 与 CodeMender 的持续扫描相结合,便构成了双层防御策略:既利用时点式修复应对复杂攻击链,又在整个开发生命周期中保持持续可见性。
免责声明:本博客文章仅用于教育和研究目的。提供的所有技术和代码示例旨在帮助防御者理解攻击手法并提高安全态势。请勿使用此信息访问或干扰您不拥有或没有明确测试权限的系统。未经授权的使用可能违反法律和道德准则。作者对因应用所讨论概念而导致的任何误用或损害不承担任何责任。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:securitainment Mandiant Mandiant《以智能体源代码审计领跑对抗性 AI》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论