你的Agent中间商你从未审查过
研究人员从淘宝、闲鱼和Shopify托管店铺购买了28个付费LLM API路由器,并从公开社区收集了400多个。他们在请求中植入凭证,并对每个路由器进行探测,观察它对流量的处理行为。1
其中17个路由器接触了请求中植入的AWS金丝雀凭证。一个从作为诱饵放置的私钥中抽走了ETH。研究团队设置的一个OpenAI蜜罐密钥在被撤回之前,生成了1亿个GPT-5.4 tokens,并根据摘要描述,”超过七个Codex会话”。1另外几个弱配置诱饵产生了20亿计费tokens、440个Codex会话中的99个凭证,以及401个已在自主YOLO模式下运行的会话。1
LLM API路由器是新的攻击面。没有人在审计它。
MCP信任链是一系列中介(API路由器、代理和工具服务器),它们位于您的AI agent和上游模型之间,每一环都拥有对每个请求和响应的完整明文访问权限。没有任何供应商端到端强制执行加密完整性,这意味着任何中介都可以读取、修改或泄露传输中的数据。实地研究发现28个付费路由器中有17个接触了植入的AWS凭证,一个从私钥中抽走了ETH,这表明未经审查的信任链环节是活跃的攻击面。
TL;DR
第三方LLM API路由器是应用层代理,对您的agent与上游模型之间传输中的每个JSON载荷拥有完整明文访问权限。没有任何供应商在客户端和上游之间强制执行加密完整性。Liu、Shou、Wen、Chen和Fang发表的一篇新arxiv论文首次对这一攻击面进行了系统性研究,实地数据很不乐观:28个付费路由器中有1个、400个免费路由器中有8个正在主动向响应中注入恶意代码,2个部署了自适应规避触发器,17个接触了植入的AWS金丝雀凭证,1个从植入的私钥中抽走了ETH。1作者形式化了两种核心攻击类别加两种自适应规避变体,然后构建了一个名为Mine的研究代理,针对四个公开agent框架实现了”所有四种攻击类别”(原文措辞),并评估了三种可部署的客户端防御。1如果您的agent使用的是一个您没有构建的路由器,那么您就有一个从未审计过的信任边界。
核心要点
- Agent运营者:位于您的客户端和上游模型之间的每一个LLM API路由器都是一个应用层代理,拥有对每个请求和响应的明文访问权限。没有供应商强制执行加密完整性。如果您从市场购买了路由器,或从公开社区列表中获取了路由器,请将其视为敌对中介,直到您独立验证它为止。
- Harness构建者:您的PreToolUse钩子在工具执行之前运行,但恶意路由器会在模型生成之后、在响应到达钩子之前修改响应。在您的钩子堆栈中添加响应端验证,并考虑对异常响应形状设置失败关闭策略门。
- 任何运行YOLO模式的人:研究人员的蜜罐中有401个会话已在自主YOLO模式下运行。1在自主会话中修改工具调用的路由器,其爆炸半径远大于修改您将要阅读的响应的路由器。不要通过您无法控制的路由器运行YOLO模式。
路由器到底是什么?
在本文的语境下,LLM API路由器是一种第三方服务,位于您的客户端与一个或多个上游模型供应商之间。您使用与OpenAI兼容的API向路由器发送请求。路由器将这些请求分派给它选择的任何上游(GPT-5、Claude、Gemini、开源权重模型,或所有这些模型的池),并以相同的形式将响应返回给您。1
路由器之所以存在,是因为LLM生态系统混乱不堪。人们想要一个API密钥就能对接每一个模型。人们想要价格套利:批量购买tokens,再以更低价格转售。人们想要地理上的绕过方案,应对直接访问供应商受限的地区。人们想要用一个客户端测试多个模型。所有这些都是合理的理由,健康的路由器市场为它们提供了服务。
问题在于,路由器是一个应用层代理。它不仅仅转发字节。它读取请求JSON,选择上游,可选地重写请求,转发出去,读取响应,可选地重写响应,然后返回。这个管道的每一步都在路由器的基础设施上以明文形式发生。1
这里没有TLS的对应物。TLS保护从您的客户端到路由器、以及从路由器到上游模型的字节。它对保护载荷免受路由器侵害毫无作用。没有供应商在原始客户端和最终模型之间强制执行加密完整性。没有签名断言证明模型收到的请求就是客户端发送的请求,也没有签名断言证明客户端收到的响应就是模型生成的响应。1
这个缺失就是攻击面。
实地数据
研究人员从三个市场(淘宝、闲鱼、Shopify托管店铺)购买了28个付费路由器,并从公开社区收集了400个免费路由器。他们让每个路由器经过一系列探测,使用包含植入凭证、已知载荷和标记字符串的带检测请求。1
以下是他们的发现:
| 发现 | 数量 | 备注 |
|---|---|---|
| 主动向响应中注入恶意代码的付费路由器 | 1(28个中) | 摘要中明确拆分 |
| 主动向响应中注入恶意代码的免费路由器 | 8(400个中) | 摘要中明确拆分 |
| 部署自适应规避触发器的路由器 | 2 | 摘要未明确说明付费/免费拆分 |
| 接触研究人员所有的AWS金丝雀凭证的路由器 | 17 | 摘要未明确说明付费/免费拆分 |
| 从研究人员所有的私钥中抽走ETH的路由器 | 1 | 摘要未明确说明付费/免费拆分 |
自适应规避这一发现才是让人夜不能寐的那个。自适应规避触发器意味着路由器在大部分时间表现正常,并在特定条件下切换到攻击行为:特定的请求形状、特定的客户端指纹、特定的节奏。您无法通过采样随机请求来捕获它,因为路由器知道自己正在被采样,于是表现得很正常。
金丝雀凭证是绊线:当有人试图使用它们时它们就会触发。17个路由器”接触”它们意味着至少有17个路由器从传输中的载荷中提取了凭证,并尝试对AWS使用它们。1摘要未详细说明每个路由器的确切机制,但绊线的设计意味着接触=使用。
那个从研究人员所有的私钥中抽走ETH的路由器是一个更强的发现。提示中的私钥不是凭证绊线;它是诱饵,只有当路由器真的抽走钱包时才会产生被攻破的证据。有一个路由器做到了。1
两项投毒研究
研究人员进行了两项额外研究,以证明表面上良性的路由器可能通过第三方暴露被卷入同一攻击面。
研究1:泄露的OpenAI密钥。研究人员泄露了一个有效的OpenAI API密钥,就像开发人员因失误而泄露一样。在观察窗口期间,根据摘要,那一个泄露的密钥通过拾取它的路由器生成了1亿个GPT-5.4 tokens和”超过七个Codex会话”。1有人(或很多人)找到了这个密钥,使用它通过社区路由器路由请求,烧掉了1亿tokens的算力。路由器成了被盗密钥的洗钱层。
研究2:弱配置诱饵。研究人员架设了弱配置的诱饵端点。这些诱饵产生了20亿计费tokens、440个Codex会话中的99个凭证,关键的是,401个已在自主YOLO模式下运行的会话。1
401个自主会话已经在通过一组单一诱饵进行路由。其中每一个会话都是一个活跃的攻击面,恶意中介可以注入工具调用、泄露密钥或修改模型的输出,而agent会在无人干预的情况下执行任何返回的内容。401这个数字只是一个研究诱饵捕获到的。通过未受控中介路由的实际运营群体必然更大。
两种核心攻击类别和两种自适应变体
该论文形式化了两种核心攻击类别和两种自适应规避变体。摘要对分类法表述明确:AC-1和AC-2是核心类别;AC-1.a和AC-1.b是AC-1的变体。研究代理Mine针对四个公开agent框架实现了”所有四种攻击类别”(摘要原文措辞)。1
AC-1:载荷注入(核心类别)。路由器修改响应以注入额外的指令、工具调用或客户端agent据此采取行动的内容。agent以为自己在读取模型的输出;它其实是在读取路由器所有者的输出。
AC-2:密钥泄露(核心类别)。路由器从传输中的请求和响应中读取密钥(API密钥、tokens、私钥,任何看起来像凭证的东西),并将其发送到攻击者的基础设施。
AC-1.a:依赖针对性注入(AC-1的自适应变体)。注入仅在请求匹配特定依赖或上下文时才触发:仅当请求涉及特定库时,仅当引用特定函数时,仅当提示中出现某些文件路径时。选择性触发使攻击在随机测试中不可见。
AC-1.b:条件交付(AC-1的自适应变体)。路由器仅在特定条件下交付恶意载荷(一天中的时间、请求节奏、客户端指纹)。同样的检测规避逻辑。
这些攻击类别中的每一种对客户端和上游模型都是不可见的,因为双方都信任路由器。客户端看到的是正常的响应形状。模型看到的是正常的请求形状。路由器可以在中间随心所欲地做任何事,而双方都没有加密手段来检测篡改。1
下一层的组合模式
我一直在写同样的结构性漏洞:各自经过授权的组件组合成未经授权的行为。Trivy到LiteLLM是软件包层的组合。静默出口是工具描述层的组合。MCP工具投毒是协议层的组合。axios维护者被入侵事件是人类维护者层的组合。
路由器攻击是网络层的组合。您的客户端被授权调用路由器。路由器被授权调用上游模型。上游模型被授权响应。每一跳都经过授权。那些经过授权的跳点的组合大规模产生了载荷注入和密钥泄露,因为组合跨越了一个没人费心以加密方式封闭的信任边界。1
您无法在任何单一层上修复这一点。您需要在组合层上修复它,这意味着客户端必须将路由器视为敌对方,直到它独立验证响应形状、工具调用和内容都与上游模型可能产生的某种输出一致为止。
论文评估的三种防御
论文评估了针对这些攻击类别的三种客户端防御。1
1. 失败关闭策略门。客户端对响应形状、允许的工具调用、允许的URL、允许的命令强制执行策略。任何超出策略的东西都失败关闭:客户端拒绝请求,而不是允许它。
2. 响应端异常筛查。客户端监视响应形状异常、异常token模式或包含已知攻击标记的输出(指向未知主机的URL、可疑凭证模式、异常工具调用结构)。
3. 仅追加透明日志。客户端将每个请求和响应写入仅追加日志,无人可以追溯修改。日志记录不能阻止攻击,但可以让它们在取证上可追踪。
这些都不是银弹。我的解读是:失败关闭策略门是这三者中最强的,因为它拒绝允许清单之外的任何内容,而不是试图检测攻击;但摘要没有对防御进行排名,所以请将此视为我的观点,而不是论文的发现。异常筛查会漏掉看起来正常的攻击,而自适应规避变体(AC-1.a和AC-1.b)专门模仿测试条件下的正常行为。策略门的有效性取决于策略本身,而为”模型响应应该是什么样子”编写一份完整的策略很难。
您实际上应该做什么
如果您运行的agent正在通过您未构建的路由器调用LLM API:
-
停止使用您从市场购买或从公开社区获取的路由器,除非您信任运营方。这里的”信任”是指您有某种外部依据(已知的团队、已签订的合同、可对其执行的法律管辖区),而不是”它在市场上有好评”。
-
在您的harness中添加失败关闭策略门。在Claude Code中,这意味着PreToolUse钩子拒绝允许清单之外的工具调用,以及PostToolUse钩子在将响应传递给下一个模型回合之前验证响应形状。钩子堆栈就是您的失败关闭策略层。
-
绝不要通过您无法控制的路由器运行YOLO模式。蜜罐中的401个自主会话就是先例。如果路由器是敌对的,而您的会话是自主的,那么路由器就在运行您的机器。
-
记录所有内容。仅追加透明日志是让您能够重建事件的东西。每个请求。每个响应。每个工具调用。将它们存储在路由器无法触及的地方。
-
如果您运营agent基础设施,强制执行加密完整性。如果您运营客户端并运营上游,就在客户端签名请求,并在上游验证签名。这是唯一真正的修复。路由器仍然可以看到明文,但在不使签名失效的情况下,它无法修改任何内容。
令人不安的暗示
路由器攻击面是一个清晰的例子,说明agent生态系统在部署基础设施的速度上超过了保护它的速度。人们想要一个API密钥对接每个模型。人们想要价格套利。人们想要区域访问。路由器提供了所有这些。市场奖励它们。安全审计尚未发生。
MCP攻击面有50个有据可查的漏洞。供应链攻击面有一个TeamPCP活动在一周内跨越五个生态系统。静默出口攻击面有Clinejection和MCPTox基准。现在加上路由器攻击面:研究了428个路由器,9个主动注入恶意代码,17个接触植入凭证,1个抽走ETH,401个自主会话已在敌对基础设施上运行。1
每一次的模式都是一样的。我们构建agent堆栈的新一层。开发人员在任何人审计之前就采用新一层。攻击者出现。研究人员出现。社区写出了发现。注意到的运营者修补了他们的部署。没有注意到的运营者以艰难的方式发现了这一点。
路由器攻击面正处于”研究人员刚刚写完报告”的阶段。您有时间修补您的部署。好好利用它。
常见问题
在这个语境下,什么是LLM API路由器?
第三方服务,位于您的客户端与上游模型供应商之间,公开一个与OpenAI兼容的API,并将您的请求分派给一个或多个上游模型。它是一个应用层代理,拥有对每个请求和响应的明文访问权限。1
这与CDN或常规HTTP代理有何不同?
CDN转发字节而不读取应用程序载荷。LLM API路由器读取JSON、选择上游、可选地重写请求、转发、读取响应,并可选地重写响应。它在您的数据上进行的是应用级处理,而不仅仅是传输。1
TLS能保护我免受恶意路由器的侵害吗?
不能。TLS保护从您的客户端到路由器、以及从路由器到上游模型的字节。路由器终止TLS,读取明文,然后在另一端重新加密。TLS对保护您的载荷免受路由器侵害毫无作用。1
我如何检测一个正在主动注入响应的路由器?
如果路由器使用自适应规避,您无法可靠地检测到。论文中的AC-1.a和AC-1.b攻击类别专门针对规避检测,仅在运营条件下触发。1您最好的选择是使用失败关闭策略门,拒绝允许清单之外的任何内容,而不是事后尝试检测攻击。
我直接针对api.anthropic.com运行Claude Code。我会受到影响吗?
不会受到本文所述路由器攻击类别的影响,因为您是直接调用Anthropic,没有中介。该攻击面专门针对第三方路由器。如果您出于任何原因(企业网关、绕过速率限制、模型聚合器)通过代理路由Claude Code,您应该审计该代理。
OpenRouter、LiteLLM或其他知名聚合器怎么样?
该论文研究的是从特定市场(淘宝、闲鱼、Shopify托管店铺)购买的28个付费路由器,以及来自公开社区列表的400个免费路由器。1它没有公布具体的产品名单。论文的要点是结构性的:任何路由器都是不受信任的中介,除非您有单独的信任依据。知名聚合器并不自动更安全;它们只是更显眼,这是一个不同的属性。
研究人员发现的401个自主会话我该怎么办?
那些会话属于其他运营者,他们的流量经由研究人员的诱饵进行路由。如果您通过任何您未构建的路由器运行自主agent会话,第一步是停止。第二步是轮换所有经过该路由器的凭证。第三步是审计您的会话日志,查找异常工具调用或输出。
参考文献
-
Hanzhi Liu, Chaofan Shou, Hongbo Wen, Yanju Chen, Ryan Jingyang Fang,“Your Agent Is Mine: Measuring Malicious Intermediary Attacks on the LLM Supply Chain,” arXiv:2604.08407,2026年4月。本文中所有路由器攻击数据、攻击类别定义、实地研究方法和防御评估的主要来源。所有统计数据(28个付费路由器、400个免费路由器、1+8主动注入、2个自适应规避触发器、17个接触AWS金丝雀凭证、1个抽走ETH、来自泄露密钥的1亿tokens、来自诱饵的20亿tokens、401个自主YOLO会话、440个Codex会话、99个凭证,两种核心攻击类别(AC-1载荷注入和AC-2密钥泄露)加两种自适应规避变体AC-1.a和AC-1.b的分类法,Mine代理针对四个公开agent框架实现”所有四种攻击类别”,三种客户端防御:失败关闭策略门、响应端异常筛查、仅追加透明日志)均直接源自论文摘要。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩