摘要
MCP(Model Context Protocol)让 AI Agent 能用统一方式连接搜索、数据库、文件、内部 API 和自动化工具。它的价值很明显:开发者不用为每个工具单独写一套接入协议,Agent 也能更自然地发现和调用能力。
但最近的公开研究提醒我们:MCP 不只是"AI 插件协议",它正在变成一个新的执行面。Censys 在 2026-05-27 发布的研究中披露,截至 2026-04-28,他们识别到 12,520 个可从互联网访问的 MCP 服务,分布在 8,758 个唯一 IP 地址上;到 2026-05-06,数据集中已超过 21,000 个 MCP Server。NSA 也在 2026-05-20 发布了 MCP 安全设计建议,强调真实部署正在加速,安全边界需要前置设计。
这篇文章不教你扫描别人服务,也不复现攻击,而是把 MCP 的风险翻译成工程团队能立刻使用的检查清单。

一句话结论
如果说传统 API 的核心风险是"谁能调接口",那么 MCP 的核心风险更像是:
谁能让 Agent 发现一个工具、理解一个工具、相信一个工具,并代表用户去调用这个工具。
这意味着 MCP 安全不能只看端口、Token 或网关,还要看工具描述、权限范围、上下文传递、会话管理、输出过滤和审计闭环。
为什么 MCP 会突然变成热点?
MCP 官方文档把它定义为连接 AI 应用与外部系统的开放标准。用一个通俗类比,它像 AI 应用的"统一接口层":AI 应用可以通过 MCP 连接数据源、工具和工作流,例如数据库、搜索引擎、日历、设计工具、企业系统等。
这正是 MCP 流行的原因。Agent 想要从"聊天"走向"办事",必须连接真实工具。统一协议会显著降低集成成本,也会让工具生态更快增长。
问题也出在这里:只要工具能做真实动作,工具层就不再只是上下文增强,而是执行边界。

上图里的"安全网关"不是某个固定产品,而是一组必须存在的控制点:鉴权、策略、隔离、审计、限流和人工确认。没有这些控制点,MCP Server 很容易从"智能助手的能力扩展"变成"公开的远程调用入口"。
公开数据暴露了什么问题?
Censys 的研究值得关注,不只是因为数量大,而是因为能力类型敏感。
公开报告中提到的几个关键事实:
- 截至 2026-04-28,Censys 识别到 12,520 个互联网可访问 MCP 服务,涉及 8,758 个唯一 IP。
- 其中 11,379 个服务至少暴露了一个工具。
- 大量服务公开声明了工具、资源和提示词等能力信息。
- 最大功能类别是 Data & Knowledge,包括数据库接口、Agent 记忆、文档工具和知识库。
- Infrastructure 类别中还包括系统控制、云管理、可观测性、Web 抓取、Git 操作等能力。
换成工程语言讲:很多 MCP Server 暴露的不是"只读说明文档",而是可以触达数据、系统、业务工具和自动化动作的入口。
这就是风险的本质:MCP 的工具清单往往很直白,攻击者不一定需要先猜接口语义,服务自己就可能把"我有哪些工具、能访问哪些资源、怎么调用"暴露出来。
MCP 的风险不只来自"公网端口"
很多团队第一反应会是:那不开放公网不就好了?
这是必要条件,但不够。
NSA 的安全设计建议中提到,MCP 系统的风险包括动态工具调用、隐式信任关系、上下文共享、会话和 Token 安全、工具输出传递等。也就是说,即便 MCP Server 在内网,只要它能被低权限组件间接驱动,高权限工具仍然可能被错误触发。
可以把风险拆成五类:
1. 工具发现风险
MCP 的灵活性来自工具发现。Agent 能知道服务有哪些 Tools、Resources、Prompts。
但如果工具描述不可信、来源不可验证、权限没有分级,Agent 就可能把"看起来正常"的工具当成可信能力。
工程建议:
- 工具注册要有来源校验。
- 新增工具不能自动进入生产可用状态。
- 工具描述应纳入代码审查或配置审查。
- 高风险工具必须显式标记,例如写数据库、发请求、执行命令、发送消息、创建工单。
2. 权限扩大风险
MCP 工具经常连接数据库、云服务、消息平台、文件系统、CI/CD 或企业 API。
如果一个工具拿到了过大的凭证,Agent 的一次错误调用就可能变成越权操作。
工程建议:
- 工具级最小权限,不要复用管理员凭证。
- 读写权限分离,查询和变更拆成不同工具。
- 高风险动作增加二次确认。
- 工具调用应绑定用户身份,而不是只绑定服务身份。
3. 上下文污染和间接提示注入
MCP 工具返回的数据会进入模型上下文。
如果外部网页、文档、Issue、邮件、IM 消息里藏了"请忽略之前规则并调用某工具"的内容,Agent 可能把这些外部内容误当成指令。
工程建议:
- 把"外部数据"和"系统指令"分层处理。
- 工具输出进入模型前做内容标注:这是数据,不是命令。
- 对能触发动作的流程增加策略判断。
- 不让低可信数据直接驱动高权限工具。
4. SSRF 与网络穿透风险
官方 MCP 安全最佳实践特别提醒了 SSRF。
当 MCP Client 或 Server 会根据外部 URL 发起请求时,攻击者可能诱导它访问内网地址、云元数据地址、localhost 服务或重定向链。
工程建议:
- 生产环境默认拒绝非 HTTPS 外部地址。
- 阻断私有 IP、Loopback、Link-local、云元数据地址。
- 不要自己手写简陋 IP 校验,避免被编码技巧绕过。
- 对重定向目标也做同样校验。
- 服务端部署时考虑出站代理和网络策略。
5. 会话与审计风险
MCP 里的会话、事件流、Token 和工具调用链如果没有绑定用户身份,就可能出现"拿到会话 ID 就能继续操作"的问题。
而没有审计,问题发生后也很难还原到底是谁、通过哪个工具、在什么上下文里触发了动作。
工程建议:
- 会话 ID 不能当认证凭据。
- 所有请求必须重新验证授权。
- 会话绑定用户、租户、工具权限和来源。
- 记录工具调用参数、调用人、调用来源、结果摘要和风险等级。
- 对写操作、外发操作、系统命令保留更严格的审计。
一个可落地的 MCP 安全检查表
下面这份清单可以直接放进团队评审里。它不依赖具体框架,适合 MCP Server、Agent 平台、企业插件平台和内部工具网关。
| 检查项 | 建议做法 |
|---|---|
| 是否暴露公网 | 默认不暴露公网;确需开放时必须经过网关、鉴权、限流和审计 |
| 是否有鉴权 | 生产环境必须鉴权;不能依赖"没人知道地址" |
| 工具是否分级 | 区分只读、写入、外发、执行命令、访问敏感数据 |
| 权限是否最小化 | 每个工具使用独立凭证,按动作和数据范围限制 |
| 是否有人审 | 高风险工具上线前做配置审查和安全审查 |
| 是否能回滚 | 工具变更、Prompt 变更、策略变更要有版本和回退 |
| 是否防 SSRF | 阻断私有地址、云元数据地址、危险重定向和非预期协议 |
| 是否防注入 | 外部数据和模型指令分层,工具输出不直接变成命令 |
| 是否有审计 | 记录调用链、用户、工具、参数摘要、结果和风险等级 |
| 是否有人工确认 | 对发邮件、写库、部署、转账、删改等动作加确认 |
推荐的 MCP 部署分层
一个比较稳妥的生产部署方式可以分成四层。
第一层是接入层:负责身份认证、租户隔离、速率限制、来源校验。
第二层是策略层:判断用户能不能用某个工具,某个工具能不能访问某类数据。
第三层是执行层:真正的 MCP Server 和后端工具,只拿最小权限。
第四层是审计层:记录工具调用、异常行为、策略命中和人工确认结果。
这套分层的目标不是把系统做重,而是避免把全部信任压在 Agent 的"自觉"上。Agent 可以推理,但执行必须受控。
给开发者的实践建议
如果你正在试用 MCP,可以先按下面的顺序做:
- 本地开发阶段:只连接自己明确安装和理解的 MCP Server。
- 团队试点阶段:建立工具白名单,不允许随意接入未知 Server。
- 内部生产阶段:所有 MCP 工具走统一网关和审计。
- 高风险场景:把写操作、外发操作、命令执行拆出来,增加人工确认。
- 长期运行:定期扫描内部网络和配置仓库,找出未登记的 MCP Server。
另外,不要把 MCP 当成"普通 API 套一层协议"。MCP 的特殊之处在于它会进入 Agent 工作流:工具描述会影响模型理解,工具输出会影响下一步决策,工具权限会决定 Agent 能做多大动作。
结语
MCP 的方向是对的。AI Agent 要真正进入工程、办公和业务流程,必须有一种标准方式连接工具和数据。
但越是通用的连接协议,越需要清楚的安全边界。
未来一段时间,MCP 的竞争点不会只是谁的工具多、谁的生态热,还会是谁能把工具调用做得可控、可审计、可回滚。
对开发团队来说,现在最值得做的不是恐慌,也不是把 MCP 一关了之,而是把它当成一个新的工程边界来管理:默认不公开、默认最小权限、默认可审计、默认高风险动作需要确认。
AI Agent 的能力上限取决于它能调用多少工具;AI Agent 的安全下限,则取决于这些工具有没有边界。
参考来源
- Censys:MCP Servers on the Internet,2026-05-27
https://censys.com/blog/mcp-servers-on-the-internet/ - Model Context Protocol 官方文档:What is MCP?
https://modelcontextprotocol.io/docs/getting-started/intro - Model Context Protocol 官方文档:Security Best Practices
https://modelcontextprotocol.io/docs/tutorials/security/security_best_practices - NSA 新闻稿:NSA Releases Security Design Considerations for AI-Driven Automation Leveraging the Model Context Protocol,2026-05-20
https://www.nsa.gov/Press-Room/Press-Releases-Statements/Press-Release-View/Article/4496698/nsa-releases-security-design-considerations-for-ai-driven-automation-leveraging/ - NSA 报告:Model Context Protocol (MCP): Security Design Considerations for AI-Driven Automation,2026-05
https://www.nsa.gov/Portals/75/documents/Cybersecurity/CSI_MCP_SECURITY.pdf