MCP 服务器暴露在公网:AI Agent 工具层正在变成新的安全边界

摘要

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,可以先按下面的顺序做:

  1. 本地开发阶段:只连接自己明确安装和理解的 MCP Server。
  2. 团队试点阶段:建立工具白名单,不允许随意接入未知 Server。
  3. 内部生产阶段:所有 MCP 工具走统一网关和审计。
  4. 高风险场景:把写操作、外发操作、命令执行拆出来,增加人工确认。
  5. 长期运行:定期扫描内部网络和配置仓库,找出未登记的 MCP Server。

另外,不要把 MCP 当成"普通 API 套一层协议"。MCP 的特殊之处在于它会进入 Agent 工作流:工具描述会影响模型理解,工具输出会影响下一步决策,工具权限会决定 Agent 能做多大动作。

结语

MCP 的方向是对的。AI Agent 要真正进入工程、办公和业务流程,必须有一种标准方式连接工具和数据。

但越是通用的连接协议,越需要清楚的安全边界。

未来一段时间,MCP 的竞争点不会只是谁的工具多、谁的生态热,还会是谁能把工具调用做得可控、可审计、可回滚。

对开发团队来说,现在最值得做的不是恐慌,也不是把 MCP 一关了之,而是把它当成一个新的工程边界来管理:默认不公开、默认最小权限、默认可审计、默认高风险动作需要确认。

AI Agent 的能力上限取决于它能调用多少工具;AI Agent 的安全下限,则取决于这些工具有没有边界。

参考来源

相关推荐
Slow菜鸟1 小时前
AI 代码知识图谱选型指南(2026)
人工智能
2601_956456341 小时前
2026跨境多账号防封指南:四大指纹浏览器多维深度横测,哪款指纹浏览器适合推荐?
人工智能·安全
风落无尘1 小时前
第十一章《对齐与安全》 完整学习资料
python·安全·机器学习
JGDT_1 小时前
端侧优化与企业落地挑战:Token成本与安全边界
安全
weixin_446260851 小时前
[特殊字符] 从弱点中学习:小计算使用智能体的自动领域专业化
人工智能·学习
sunshine8852 小时前
2026财务数字化全景图:合规、效率与安全的三角平衡术
人工智能
wuxinyan1232 小时前
工业级大模型学习之路029:解决双智能体调用数据库报错问题
数据库·人工智能·python·学习·智能体
志栋智能2 小时前
超越监控:超自动化巡检提供的主动价值
运维·网络·人工智能·自动化
Elastic 中国社区官方博客2 小时前
Elastic 线下 Meetup 将于 2026 年 7 月 26 号下午在深圳举行
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索