安全政策

安全政策

社区译文;来源: MCP 80041ab0

本页概述 Model Context Protocol 项目处理安全报告的方式。完整政策(包括信任模型,以及有意为之、不能认定为漏洞的行为完整清单)位于规范仓库的 SECURITY.md。

报告漏洞

请通过受影响仓库的 GitHub Security Advisories 报告安全问题。modelcontextprotocol 组织中的规范仓库和每个官方 SDK 仓库均已启用私密漏洞报告。

请勿通过公开 issue、discussion 或 pull request 报告安全问题。

SDK 披露与跨 SDK 协调

当针对某个 SDK 提交报告后,该 SDK 的维护者会评估同一问题是否影响其他官方 SDK。许多 MCP 漏洞源于多个 SDK 以相同方式实现的共享模式、传输实现或规范层行为。接收报告的维护者会与其他可能受影响 SDK 的维护者协调,确定哪些 SDK 受到影响以及影响程度,从而一并发布修复和公告,避免部分 SDK 发布后其他 SDK 仍处于暴露状态。

如果根本原因是规范缺陷而非实现错误,协调工作的维护者将与规范维护者讨论。

CVE 通过 GitHub 的 CNA,在 GHSA 工作流中分配。

范围

因规范或官方 SDK 缺陷而产生的以下问题被视为安全漏洞:协议层漏洞、身份认证或授权绕过、注入或内存安全问题等实现错误、沙箱逃逸、会话劫持、令牌泄露和跨租户访问。

完整的 SECURITY.md 记录了 MCP 信任模型,以及不属于漏洞的有意行为清单。最常见的情形之一是 stdio 对等方攻击,概要如下。

Stdio 传输的信任边界

使用 stdio 传输时,客户端会将服务器作为本地子进程启动,双方可能拥有同等的环境级权限。SDK 不会跨 stdio 通道保护任一对等方免受恶意对方攻击:恶意服务器因被执行而已经拥有任意代码执行能力,恶意客户端也已完全控制其启动的服务器进程。

如果报告的唯一影响是一个 stdio 对等方可以导致另一个对等方崩溃、挂起、资源耗尽或以其他方式拒绝服务,则该报告不在安全漏洞范围内,应作为普通 issue 提交,而不是 GHSA。如果受影响的 SDK 代码可通过任何受支持的远程传输访问,或会导致沙箱逃逸,则报告仍在范围内。以较低权限运行 stdio 服务器的部署负责在该边界实施隔离。SDK 的 stdio 传输不是沙箱。

安全兴趣组

安全兴趣组(英文)用于讨论 MCP 特有威胁、评审安全相关提案,以及分流无法归入单个仓库的披露问题。