Previous: 2025-04 起,Invariant Labs 首次定义 Tool Poisoning(工具投毒);2025-09 postmark-mcp 成为首个真实恶意 MCP 服务器(~300 组织邮件外泄);同一时期 CVE-2025-6514(9.6)与 CVE-2025-49596(9.4)证明"连一个服务器 = 主机沦陷"。
This: 2026-08-10 ASSET Research Group 披露 GhostSplice:恶意指令跨三个通道拆分(工具描述 / 工具结果 / sampling 请求),任何单条都不含恶意内容,agent 跨边界组合后照做——两段拆分让 11 个模型的平均合规率从 42% 升到 82%。此前"逐条审查"的防御思路被直接击穿。
Effect: 同一模型在一个客户端拒绝、在另一个客户端 100% 外泄——模型拒绝不是安全边界,agent harness 才是。MCP 生态(~8% 仓库被标记可能恶意、53% 服务器用长寿命静态密钥)正在复刻 npm/pip 供应链十年的全部教训。
Model Context Protocol(MCP)是 Anthropic 2024-11 开源的 agent 工具协议:把外部能力(文件系统、GitHub、Slack、邮件、数据库)封装成"工具",供 AI 编程助手(Cursor、VS Code/Copilot、Claude Code、Codex CLI)在会话中调用。它的核心信任假设是:你连接的服务器,是你信任到愿意委托权威的代码。
这个假设在 2025 年被系统性地击穿。安全社区很快意识到 MCP 放大了两个经典问题:
攻击链条的通用形态(Invariant Labs 的"致命三要素"):不可信指令 + 敏感数据 + 外泄通道,三者交汇即出事。截至 2026-08,官方 Registry 上线约 2,000 个条目,但不校验服务器内容、无版本签名——"注册表是发现层,信任评估是消费者责任"。
此前所有防御(模型拒绝训练、单条消息过滤、用户批准对话框)都假设"恶意指令以完整形态出现在某一条消息里"。GhostSplice 绕过的正是这个假设:MCP 协议在结构上保持工具/结果之间的边界,但 agent 在自己的共享工作上下文中跨边界组合信息。攻击者把"读哪些文件 + 填到哪些字段 + 发到哪个工具"拆成多块,任何单块都不构成完整恶意指令。
integrity_checker,带四个平淡字段(alpha、beta、gamma、delta),工具描述中不出现任何敏感文件名;.ssh/id_rsa、专有源代码、customers.csv、.env 的内容填入上述字段,理由是"服务端哈希校验";| 测试 | 单段 | 两段拆分后 |
|---|---|---|
| 11 个 API 测试模型平均合规率 | 42% | 82% |
| GPT-4o / Gemini 2.0 Flash / Llama 3.3 70B | 0% | 100% |
| Claude Haiku 4.5(API 测试) | 0% | API 测试 0%,但三段式 Cursor 测试 100% |
| GPT-5.4 | Cursor 90% · Codex CLI 100% · Claude Code 背后 0% | |
| Claude Sonnet 4.6 / Opus 4.6 | 列表标 0%,但 Sonnet 在一次测试中仍外泄了含硬编码密钥的专有源码 | |
MCP 的 sampling 特性允许服务器向 agent 模型发送提示(服务器发起请求)。研究发现:VS Code with GitHub Copilot 是唯一接受 sampling 请求的主流工具(Cursor、Claude Code、Claude Desktop 均拒绝),且微软代码把服务器的 systemPrompt 逐字作为系统消息前置,无任何安全包装;批准对话框只显示服务器名称,从不显示被注入的提示文本。sampling 请求本身不指名任何文件——真正的文件清单在后续工具结果中才出现。
| 时间 | 事件 | 机制 / 影响 |
|---|---|---|
| 2025-04 | Invariant Labs 定义 Tool Poisoning | 恶意指令藏入工具名称/描述/输入 schema;PoC:被投毒的 add 工具指示 Cursor 读取 ~/.ssh/id_rsa 并外泄 |
| 2025-04 | WhatsApp MCP 外泄 | 经 send_message 的 content 字段(超出滚动可见区)窃取完整聊天记录 |
| 2025-05 | GitHub 官方 MCP 被利用 | 恶意 issue 注入;PAT 同时覆盖公开与私有仓库 → 越界读取并写公开 PR。架构性缺陷:凭据边界与信任边界不一致 |
| 2025-06 | CVE-2025-49596:MCP Inspector RCE(9.4) | 本地代理无认证绑定 0.0.0.0,恶意网页 DNS rebinding 触发 shell;~560 实例暴露公网;48 小时修复 |
| 2025-07 | CVE-2025-6514:mcp-remote 命令注入(9.6) | OAuth 回调值未校验拼入本地 shell;~437,000+ 下载受影响;连接不可信服务器 = 主机 RCE |
| 2025-07 | Lakera 零点击 RCE 链(Google Docs MCP + Cursor) | 静默共享的恶意 Docs 内隐藏注入,Cursor 拉取即触发,零用户交互 |
| 2025-09 | postmark-mcp:首个真实恶意 MCP 服务器 | npm 仿冒包先发 15 个干净版本养信任,v1.0.16 加一行 BCC 代码;用受害者自己的 API key → 通过 SPF/DKIM;~1,643 下载、~300 组织、3,000–15,000 封/日邮件外泄(Koi Security 披露,泰国 CERT 确认) |
| 2025-09 | Shai-Hulud 供应链蠕虫(CISA 确认) | 维护者遭伪造 2FA 钓鱼;18 个包(chalk/debug 等,~26 亿周下载)被投毒;蠕虫窃取 npm/GitHub/AWS/GCP token;其中若干是官方 MCP SDK 的传递依赖 |
| 2025-10 | CVE-2025-59536:Claude Code 配置继承(8.7) | 仓库内 .claude/settings.json + .mcp.json 恶意 commit 自动批准 MCP 服务器,绕过同意对话框;克隆恶意仓库即静默装后门 |
| 2025 下半年 | MCPTox 学术基准 | 20 个 LLM × 45 个真实服务器 × 353 工具;最强前沿模型 o1-mini 攻击成功率 72.8%——更强的模型往往更服从 |
| 2025 夏 | MSA:会话记忆窃取(WPES '25) | "寄生参数":恶意工具声明必需的 task_history 参数,LLM 顺从打包整个会话上下文传出;捕获率与外泄率 100%,记忆重建保真度 86%+(协议级缺陷) |
| 2026-06 | Ghostcommit(ASSET) | PNG 隐写提示注入:AGENTS.md 指向图片,图内文本指示逐字节读 .env;73% 的合并变更无人工审查,攻击实用性强 |
| 2026-07 | CVE-2026-52830:fast-mcp-telegram 路径穿越(9.4) | 原始 token 拼入会话文件路径且不拒绝 ..;无认证远程攻击者可接管 Telegram 会话(读/发消息、MTProto 调用) |
| 2026-08-10 | GhostSplice(ASSET,本篇主角) | 跨通道指令拆分;无 CVE、无真实世界入侵确认(全部为受控测试) |
| 统计(安全厂商/研究机构口径) | 数字 |
|---|---|
| VirusTotal 审计 17,845 个 MCP 仓库 | ~8%(约 1,400 个)被标记可能恶意或含严重漏洞 |
| 需要凭据的 MCP 服务器(Astrix 2025) | 88% |
| 用长寿命静态密钥(API key / PAT) | 53%(仅 8.5% 用 OAuth) |
| 硬编码暴露凭据("State of MCP Security 2025") | 53%;仅 18% 实施工具权限范围限定 |
| 受测实现含命令注入缺陷 / 无认证暴露 | 43% / 近 500 台服务器 |
| 2026 年 8,000+ 公网服务器扫描 | 大量开放管理面板/调试端点;Vulnerable MCP Project 跟踪 50+ 已披露漏洞(十余个关键级) |
tools/list 响应(防事后投毒 / rug-pull);.claude/settings.json、.mcp.json、AGENTS.md、图片资源(Ghostcommit/GhostSplice 的投递面);十年包管理生态的滥用模式——仿冒、信任预热、维护者钓鱼、依赖混淆、蠕虫式自我复制——在 MCP 生态完整复现,且被信任模型放大:被攻陷的服务器每次调用都被递上活凭据、执行任意逻辑、无代码审查,危险还延伸到安装后的配置继承与 agent 自动安装依赖。postmark-mcp 的"15 个干净版本 + 一行 BCC"就是教科书式的信任预热。
GhostSplice 与 Ghostcommit 两连发指向同一结论:模型外部的控制(工具审批、数据流隔离、调用序列审计)才是真正的安全边界。验收任何 agent 系统,应问"被 hack 成功后的工具调用序列是什么",而不是"模型会不会拒绝"。
规范持续收紧(OAuth 2.1、RFC 8707、不可信工具输出声明),但协议无强制机制,Registry 不校验内容——规范给你一条干净的线协议与强身份,给不了干净的威胁模型。
MCPTox 中最强前沿模型攻击成功率 72.8%。"能力增长必须视为权限增长"——模型越强,越需要 harness 兜底。
静态逐条过滤检测不了跨轮结晶的意图。可行的架构:工具输出与参数之间的数据流隔离、完整调用序列评估(Toxic Flow Analysis)、运行时治理与人工批准、读者/写者服务器分离——不可信内容永远不流经写能力工具。
| 时间 | 事件 |
|---|---|
| 2024-11 | Anthropic 开源 MCP 协议 |
| 2025-04 | Invariant Labs 定义 Tool Poisoning;WhatsApp MCP 外泄 |
| 2025-06/07 | CVE-2025-49596(9.4)、CVE-2025-6514(9.6)——两个关键级 RCE;MCP 规范新增安全最佳实践页 |
| 2025-09 | postmark-mcp 首个真实恶意服务器;Shai-Hulud 蠕虫(CISA 确认);官方 Registry 上线 |
| 2025-11 | MCP 规范 OAuth 2.1 + PKCE 强制;Cursor 配置绕过 CVE-2025-59944 |
| 2026-06/07 | Ghostcommit(PNG 隐写);CVE-2026-52830(9.4) |
| 2026-08-10 | GhostSplice 披露(跨通道分裂);THN 报道 |