数以百万计的组织正在采用AI智能体,这为攻击者创造了新的机会,诱导智能体执行恶意操作,例如窃取数据库内容以及敏感的商业和个人信息。

在过去五个月中,谷歌和另外四家机构——尽管这些机构之间几乎没有其他共同点,唯一的相似之处就是使用了AI智能体——已承认存在一种漏洞:攻击者利用目标网络内的一个智能体,将有害指令传播给其他内部智能体。这种技术是提示词注入的一种特殊形式,攻击目标并非大语言模型本身,而是某个特定的智能体,例如负责翻译或数据分析的智能体。这类智能体内部的防护机制(如果存在的话)往往比较薄弱,会将指令继续传递给链条中的下一个智能体。由于后续智能体明确信任前一个智能体,因此会直接执行这些指令。

意外且难以缓解的风险

独立研究员赛义德·阿纳斯·穆希丁对包括谷歌、摩根大通、Weviate、Rapid7、法国政府跨部门数字化总局以及美国联邦政府在内的多家机构的智能体进行了测试。他的概念验证攻击利用了MCP(即模型上下文协议)中存在的信任缺口。该标准是AI应用和智能体在内部网络中相互通信的一种方式。下图展示了一个简化版的MCP运作示意。

许多专用智能体缺乏能够有效缓解提示词注入最严重后果的防护机制。而且由于MCP服务器为每个智能体存储了凭证——且智能体被设计为信任其他所有内部智能体——那些原本会被大语言模型拒绝的攻击行为反而能够成功实施。在许多情况下,针对特定智能体精心构造的提示词会导致服务器端请求伪造(SSRF),这种漏洞会导致Web服务器发出未经授权的网络请求。

Rapid7漏洞情报总监道格拉斯·麦基向Ars表示:"AI智能体为攻击者提供了一整套全新的可利用连接路径。有人在内容中植入文本,一个智能体读取后会将其作为正常的委派任务传递给另一个智能体,而第二个智能体会执行该任务,因为它信任交付任务的一方。这条链条中的每一环节都在做它被设计要做的事情,这正是此类攻击难以察觉的原因所在。每个协议在设计时都假设自己是独立运行的,因此每个协议只检查自己的'前门',却没有人留意中间的'走廊'。"

穆希丁在Rapid7网络中发现的漏洞编号为CVE-2026-97228,严重程度评分仅为10分中的2.7分。Rapid7已于上月修复该漏洞。

影响谷歌的漏洞则更为严重,评分达到8分。该漏洞源于一个用于数据库操作的MCP工具箱(googleapis/mcp-toolbox),其HTTP客户端在初始化时未使用CheckRedirect策略——这是一系列用于控制服务器如何处理URL返回错误或重定向到其他URL情况的设置。谷歌的HTTP客户端同时也未能验证目标IP地址。

穆希丁解释道:"精心构造的路径参数可以诱使该工具箱跟随重定向访问内部端点,并以攻击者的名义发送请求。"谷歌的修复方案是应用了IP范围的允许列表和阻止列表。"该方案会在启动时就拒绝不安全的基础URL,而不是等到首次请求时才拒绝。这才是真正有效的SSRF防护应有的样子,但这也比大多数MCP服务器所做的工作要复杂得多。"

穆希丁将这一类攻击命名为"协议跳转",因为当某个应用或服务器使用MCP向某个智能体分配任务,而该智能体随后使用另一种通信方式——例如谷歌用于智能体间任务委派的智能体对智能体(A2A)协议,或是智能体网络协议等新兴标准——将恶意指令转发给另一个智能体时,这种攻击就会生效。他指出,信任或授权关系往往在这种"协议转换"过程中实际上丢失了。他将协议跳转描述为:"一种多步骤攻击,攻击者首先通过某一种协议获得初始访问权限,然后利用不同协议之间的信任假设,最终提升至只能通过另一种协议才能获取的能力权限。"

Q&A

Q1:什么是MCP协议?它存在什么安全风险?

A:MCP即模型上下文协议,是AI应用和智能体在内部网络中相互通信的标准方式。其主要安全风险在于智能体之间默认相互信任,一旦攻击者攻陷其中一个智能体,就能通过提示词注入的方式,将恶意指令传递给其他内部智能体,而这些智能体往往缺乏有效的防护机制去识别和拦截这类攻击。

Q2:"协议跳转"攻击是如何实现的?

A:协议跳转是指攻击者先通过MCP协议获得对某个智能体的初步访问权限,然后利用不同通信协议(如MCP和谷歌的A2A协议)之间存在的信任假设漏洞,诱导受感染的智能体将恶意指令转发给使用其他协议通信的另一个智能体,从而逐步提升攻击权限,获取原本无法直接访问的能力。

Q3:谷歌和Rapid7发现的漏洞分别严重到什么程度?

A:Rapid7的漏洞编号为CVE-2026-97228,严重程度评分为2.7(满分10分),已于上月修复。谷歌的漏洞评分为8分,源于其MCP数据库工具箱未正确配置重定向策略和IP地址验证,谷歌已通过增加IP允许列表和阻止列表等方式进行了修复。

ArsTechnica