OWASP ASI04 详解:AI代理供应链攻击

  • zealynx
  • 发布于 6 小时前
  • 阅读 13

OWASP ASI04 是 AI 代理供应链漏洞,涵盖第三方工具、数据源、连接器被攻陷的情况。文章列举了 Postmark npm 木马、mcp-remote OAuth 注入、Anthropic SDK 设计缺陷等真实案例(至少 8 个 NVD CVE)。攻击模式包括连接器冒充、木马更新、配置通道注入、工具目录投毒。MCP 协议因包分发、特权工具、主机身份运行等因素加剧风险。防御措施:固定版本、验证来源、清理配置通道和工具描述符、日志审计。最后提供了审计方法和 FAQ。

TL;DR

  • OWASP ASI04("代理型供应链漏洞")是 OWASP 代理应用 Top 10(2026 版) 中的第 4 项,发布于 2025 年 12 月 9 日。
  • 它涵盖的攻击模式是:AI 代理加载的第三方工具、数据源、连接器或运行时依赖项被攻破、植入恶意代码或被仿冒。
  • OWASP 文档将 MCP 仿冒攻击 列为典型示例,并引用 2025 年 9 月的 Postmark MCP 供应链攻击 作为实际案例。
  • ASI04 是该标准中经验验证最充分的一项——2025–2026 年间至少有 8 个 NVD 目录中的 CVE 完全符合该定义(Postmark、mcp-remote、gemini-mcp-tool 克隆、2026 年 4 月的官方 SDK 设计缺陷)。
  • 防御 ASI04 要求将每一个第三方工具、连接器和依赖项都视为不可信输入:固定版本、验证来源、清理工具描述符,并审计代理的完整依赖关系图——而不仅仅是它的提示词。

ASI04 到底说了什么

OWASP ASI04 是传统软件供应链攻击在代理领域的具体表现。它所指出的风险是:AI 代理在运行时从来源不完全可验证的地方加载代码、工具、数据或连接器,而这些来源中的某一个已经被攻破。一旦被攻破,恶意组件可以读取代理的上下文、注入指令、窃取数据,或驱使代理走向攻击者控制的结果——而用户和代理本身都以为一切正常运作。

三个特性使 ASI04 区别于一般的供应链风险:

信任边界不可见。传统应用程序中被攻破的依赖项通常需要打通敏感子系统(数据库、认证、支付)才能造成危害。而在代理应用中,依赖项已经位于承载信任的上下文内部——LLM 会将其描述符、输出或模式作为工作输入的一部分来读取。

攻击面非确定性。代理根据提示上下文决定调用哪个工具。攻击者如果控制了代理可能调用的工具的描述符,就能在没有确定性利用链的情况下对代理行为产生加权影响。

经济激励很高。由于 AI 代理被越来越多地授予真实世界的权限——发送邮件、签署交易、执行代码——一次成功的 ASI04 攻击往往能立即产生可货币化的影响,而不仅仅是需要进一步升级的立足点。


真实的 ASI04 事件

2025–2026 年的漏洞记录中至少有 8 个典型的 ASI04 例子。每个例子都记录在 MCP 漏洞索引 2025–2026 中:

MCP 仿冒攻击:Postmark npm 木马(2025 年 9 月)

攻击者向 npm 发布了一个被植入木马的 Postmark MCP 服务器版本。安装或自动更新该包的组织,其 AI 代理的恶意服务器工具获得了访问权限。代理通过仿冒服务器发送的每一封邮件都被静默密送给攻击者控制的邮箱。OWASP 文档将这一事件作为 ASI04 的典型案例引用——这正是典型的 MCP 仿冒攻击 模式,即一个 被植入木马的连接器 替换了合法供应商。

mcp-remote 中的 OAuth shell 注入(CVE-2025-6514)

mcp-remote npm 包处理远程 MCP 服务器的 OAuth 流程。嵌入在 OAuth 元数据中的一个精心构造的 authorization_endpoint 值在连接握手期间触发了主机上的操作系统命令执行。CVSS 9.6。任何针对攻击者控制的 MCP 服务器端点发起 OAuth 流程的代理都可能被远程利用。这属于 ASI04,因为漏洞源于加载到代理运行时中的第三方连接器。

2026 年 4 月 Anthropic SDK 设计缺陷

这是迄今为止影响最严重的 ASI04 事件。OX Security 披露,官方 MCP SDK(Python、TypeScript、Java、Rust)会将配置值直接流入用于生成 STDIO 传输 子进程的命令行。攻击者如果控制任何配置源——恶意包、被篡改的注册表条目、被污染的默认值——就能控制代理主机执行的内容。Anthropic 拒绝修补,理由是开发者负责清理。这带来的影响是:基于官方 SDK 构建的约 7,000 个公共 MCP 服务器都带有相同的架构风险。

外观相似的包抢注(gemini-mcp-tool、Oura 克隆)

针对热门 MCP 服务器的外观相似、被植入木马的包。CVE-2026-0755 涵盖 gemini-mcp-tool 变体:在用户提供的输入上通过 execAsync 进行命令注入。SmartLoader 的 Oura MCP 克隆于 2026 年 2 月发布,携带了 StealC 信息窃取器。两者都通过包注册表仿冒符合 ASI04 的"被攻破的连接器"模式。


ASI04 内部的攻击模式

OWASP 标准将 ASI04 归纳为可识别的模式。根据已披露的事件记录,以下四种是始终如一的入口点:

1. 连接器仿冒

恶意服务器伪装成已知供应商。代理通过正常配置(注册表条目、包安装、托管 URL)连接,并使用仿冒者的工具,同时认为自己正在使用合法服务。Postmark 是典型案例。防御需要固定包版本、签名验证和注册表白名单。

2. 被植入木马的连接器更新

以前合法的连接器通过受损的维护者账户或构建流水线发布恶意更新。这不同于仿冒攻击,因为连接器本身是目标。防御需要锁文件、对高权限连接器进行手动更新审查,以及 CI 构建来源证明(例如 SLSA、Sigstore)。

3. 配置通道注入

影响代理运行时生成行为的配置值本身构成了供应链攻击面。2026 年 4 月 Anthropic SDK 缺陷是教科书式的案例。防御要求将影响生成的配置(路径、参数、环境变量、工作目录)视为不可信输入,在执行前通过白名单进行解析。

4. 工具目录投毒

在代理的工具目录中注册的工具带有直接读入 LLM 上下文的工具描述符。被投毒的描述符功能上相当于特权提示注入。该模式与 ASI02(工具误用)有重叠,但其根源在于供应链信任——描述符是连接器附带的一部分。防御需要在将描述符插入上下文之前进行清理,并拒绝安装后描述符内容发生漂移的连接器。


为什么 MCP 让 ASI04 更严重

模型上下文协议(MCP)在发布后的 12 个月内,将 ASI04 从理论风险变成了高容量威胁类别。以下 MCP 特定的特性放大了暴露面:

MCP 服务器以包的形式分发。npm、PyPI 和 GitHub 托管的 MCP 服务器继承了各自注册表的全部攻击面——拼写错误抢注、维护者接管、依赖混淆。这是 2025 年阻力最小的路径:与 MCP 相关的披露通过包生态发生的次数超过了任何其他向量。

MCP 服务器暴露特权工具。典型的 MCP 服务器代表用户提供文件 I/O、shell 访问、浏览器控制或 API 认证。被攻破的服务器继承所有这些权限。MCP 内部没有限制工具权限低于主机授予的权限边界。

MCP 服务器以主机身份运行。由于 STDIO 传输服务器由主机进程生成,它们以主机的 UID、环境、网络访问和凭据存储执行。服务器被攻破实际上就是主机操作上下文被攻破。

工具描述符在安装后可变更。安装时良性的连接器可以在下次响应周期变成武器。主机没有内置机制检测描述符变异,除非明确记录并进行差异对比。

服务器间可达。当多个 MCP 服务器连接到同一代理上下文时,被攻破的服务器可以遮蔽或覆盖来自受信任服务器的工具。一个恶意节点无需进一步利用就能实现多服务器可达。


检测与缓解

防御 ASI04 是一个纵深防御问题。以下五个操作控制措施覆盖了已披露的事件记录:

  1. 固定每一个连接器和依赖项。使用 npm/PyPI 的锁文件。对托管端点进行版本固定。拒绝持有特权工具权限的连接器的自动更新。仅靠版本固定就能阻止或控制 Postmark 和 gemini-mcp-tool 事件。

  2. 验证来源。使用 Sigstore 签名、SLSA 构建证明、npm/PyPI 来源元数据(如果可用)。将未签名的连接器视为高风险,特别是那些生成子进程或执行 shell 命令的连接器。

  3. 清理配置通道。每个影响代理运行时生成的值——可执行路径、参数、环境变量、工作目录、传输 URL——都应在到达执行点之前通过严格的白名单进行解析。添加这一层可以完全缓解 2026 年 4 月 Anthropic SDK 暴露的问题。

  4. 清理工具描述符。在工具描述符内容进入 LLM 上下文之前,去除已知的提示注入模式,强制长度限制,隔离可疑标记,更倾向于使用结构验证过的子集(参数模式)而不是原始的自然语言描述字段。这可以阻断与 ASI04 重叠的工具投毒

  5. 记录并差异对比连接器行为。在描述符进入上下文的那一刻记录完整的连接器描述符,在进程创建时记录完整的生成调用,以及任何跨服务器工具覆盖事件。与上一次运行进行差异对比。将任何漂移视为需要调查的活跃事件。

对于 Web3 和 DeFi 团队,还有一个额外的层级:绝不要默认授予连接器交易签名权限、RPC 访问或钱包凭据。带有链上权限的被攻破 ASI04 连接器会将攻击从数据窃取一步转化为直接资金损失。


Zealynx 如何审计 ASI04

Zealynx 的 MCP 安全审计 将 ASI04 作为最高优先级类别,集中在五个具体测试上:

  1. 依赖关系图枚举。我们映射代理加载的每一个 MCP 服务器、连接器和运行时依赖项,包括传递依赖包。输出是代理攻击面的完整图景——这是大多数团队从未生成过的基线。

  2. 来源和版本审计。对于每个依赖项:已签名/未签名、已固定/未固定、注册表来源、最后更新向量。标记任何自动更新、未签名或易受注册表仿冒攻击的组件。

  3. 配置清理审查。我们枚举每一条流入生成命令、传输握手或工具调用的配置值。验证白名单实施、模式验证以及针对已知注入模式的解析器安全性。

  4. 工具描述符对抗性测试。我们提交模仿已知工具投毒MCP 仿冒攻击模式的精心构造描述符。代理的防御层必须在它们到达 LLM 上下文之前过滤或拒绝它们。

  5. 跨服务器隔离测试。在多个 MCP 服务器连接的情况下,我们验证单个被攻破服务器是否可以遮蔽或覆盖来自受信任邻居的工具。这是生产部署中测试最不充分的控制措施之一。

交付物是一份书面审计报告,将每个发现映射到 ASI04 及相关 MCP 特定模式,以及按优先级排序的修复指导。


常见问题

  1. 用一句话总结 OWASP ASI04 是什么? OWASP ASI04(代理型供应链漏洞)是 OWASP 代理应用 Top 10 中的第 4 项,涵盖 AI 代理加载的第三方工具、数据源、连接器或运行时依赖项被攻破、植入恶意代码或被仿冒的攻击。

  2. ASI04 与传统软件供应链攻击有何不同? ASI04 与传统供应链攻击不同,因为被攻破的依赖项被直接加载到 AI 代理的承载信任的上下文中,LLM 会与其系统提示一起读取它的描述符、模式或输出。依赖项无需跨越单独的信任边界——恶意组件已经可以读取代理的工作状态,其内容可以影响后续的每一个推理步骤。

  3. ASI04 的典型真实世界例子是什么? OWASP 文档明确引用 2025 年 9 月的 Postmark MCP 供应链攻击作为典型的 ASI04 例子。一个被植入木马的 Postmark MCP 服务器版本发布到 npm,将代理通过它发送的每一封邮件都密送给攻击者控制的邮箱。OWASP 为这种模式命名的名称是 MCP 仿冒攻击——一个恶意服务器伪装成合法供应商。

  4. 为什么 MCP 对 ASI04 来说是高风险面? MCP 放大了 ASI04 风险,因为 MCP 服务器以包的形式分发(继承了注册表级别的供应链风险)、暴露特权工具(文件 I/O、shell、网络、凭据)、以主机身份运行(因此服务器被攻破等于主机被攻破)、安装后描述符可变更(安装时良性,后来可能被武器化),并且允许跨服务器可达(一个被攻破的服务器可以在同一代理上下文中遮蔽来自受信任邻居的工具)。

  5. 是否有符合 ASI04 的 NVD 目录 CVE? 是的——2025–2026 年间至少有 8 个 NVD 目录中的 CVE 完全符合 ASI04。例子:CVE-2025-6514(mcp-remote OAuth shell 注入,CVSS 9.6)、CVE-2026-0755(gemini-mcp-tool 命令注入,CVSS 9.8)以及 2026 年 4 月 Anthropic MCP SDK 设计缺陷(多个 CVE,被声明为按设计如此)。完整清单记录在 MCP 漏洞索引 2025–2026 中。

  6. 针对 ASI04 的主要缓解措施有哪些? 前五大 ASI04 缓解措施是:(1) 使用锁文件和版本固定来固定每一个连接器和依赖项;(2) 通过签名、SLSA 证明和注册表元数据来验证来源;(3) 清理影响运行时生成的配置通道(路径、参数、环境变量);(4) 在工具描述符进入 LLM 上下文之前进行清理;(5) 在每次调用时记录并差异对比连接器行为,将漂移视为事件处理。

  7. ASI04 与 ASI02(工具误用)有何关系? ASI04 和 ASI02 在工具投毒攻击中有重叠,但根本原因不同。ASI04 关注被攻破工具的供应链来源——谁提供的以及如何提供的。ASI02 关注工具的运行时使用——代理如何调用它们、它们拥有什么权限、适用什么护栏。一个被投毒的工具描述符在关注依赖来源时属于 ASI04 发现,在关注代理的工具使用控制时属于 ASI02 发现。

  8. 如何审计我的代理是否存在 ASI04 漏洞? 要审计 ASI04 漏洞,需要枚举完整的依赖关系图(MCP 服务器、连接器、运行时库、传递包),验证每个依赖项的来源和固定情况,审查配置通道是否存在清理空白,针对已知投毒模式对抗性测试工具描述符处理,并在多个 MCP 服务器连接到同一代理上下文时验证跨服务器隔离。Zealynx 的 MCP 安全审计 可针对你的具体部署实战化实施这些步骤。


术语表

术语 定义
代理型供应链 AI 代理在运行时加载的第三方工具、连接器、数据源和运行时依赖项的完整关系图——即 OWASP ASI04 所覆盖的攻击面。
被植入木马的连接器 被替换为恶意版本的 MCP 服务器、插件或工具集成,通常通过包注册表仿冒、维护者账户被攻破或受污染的构建流水线实现。
工具目录 MCP 服务器(或其他连接器)向连接的 AI 代理宣传的工具集合——名称、描述、参数模式和使用说明——LLM 在规划期间会读取这些信息。

查看完整术语表 →

  • 原文链接: zealynx.io/blogs/owasp-a...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
zealynx
zealynx
江湖只有他的大名,没有他的介绍。