MCP on windows

随着人工智能代理的功能越来越强大并集成到日常工作流程中,工具和代理之间对安全、标准化通信的需求从未如此强烈。在 Microsoft Build 2025 上,我们宣布了 Windows 11 如何采用模型上下文协议 (MCP) 作为安全、可互作的代理计算的基础层的早期预览版,以及我们如何从头开始保护它。

What is MCP? 什么是 MCP?

MCP 是一种轻量级的开放协议(本质上是基于 HTTP 的 JSON-RPC),它允许代理和应用程序以标准化的方式发现和调用工具。它支持跨本地和远程服务的无缝编排,允许开发人员一次构建并在任何地方集成。

MCP 定义了三个角色:

  • MCP 主机 :VS Code 等应用程序,或其他希望通过 MCP 访问功能的 AI 工具。
  • MCP 客户端 :向 MCP 服务器发起请求的客户端。
  • MCP 服务器 :通过 MCP 接口公开特定功能(例如文件系统访问、语义搜索、应用程序作)的轻量级服务。

Windows 11 将支持开发人员构建智能应用程序 ,这些应用程序希望使用 MCP 和生成式 AI 功能来构建以生成式 AI 和智能为中心的应用程序,这些应用程序可以在适当的情况下利用 MCP 代表用户采取行动。我们将在未来几个月内向开发人员提供 MCP 平台功能的早期预览版,以提供反馈。

为什么安全很重要

MCP 开辟了强大的新可能性,但也带来了新的风险。例如,如果没有强有力的控制,MCP 服务器可能会暴露敏感功能、错误配置以允许远程访问,或者通过多种攻击手段(包括提示注入或工具中毒等新形式)被利用。从安全角度来看,LLM 的输入和训练数据被认为是不可信的。此外,交叉提示注入可以使攻击者包含不受信任的提示数据并完成混淆的代理攻击。对于一个简单的聊天应用程序,提示注入的影响可能是越狱或内存数据泄漏,而对于 MCP,影响可能是完全远程代码执行------最严重的攻击。

我们利用内部和外部安全研究来确定需要在安全代理架构中考虑的几种新兴威胁媒介:

  • 交叉提示注入 (XPIA): 嵌入在 UI 元素或文档中的恶意内容可能会覆盖代理指令,从而导致意外作,例如数据泄露或恶意软件安装。

  • 身份验证差距 :MCP 当前的身份验证标准是新的,并且采用不一致。OAuth 是可选的,并且临时方法正在出现。

  • 凭证泄漏: 以完全用户权限运行的代理可能会暴露敏感令牌或凭据。

  • 工具中毒: 未经审查或低质量的 MCP 服务器可能会暴露危险功能或用于提升权限。

  • 缺乏遏制: 如果没有隔离,受感染的代理可能会影响整个用户会话或系统。

  • 有限的安全审查 :许多服务器在安全审查最少的情况下快速开发,增加了漏洞的风险。

  • 注册表和 MCP 供应链风险 :如果没有审查,MCP 服务器的公共注册表可能会成为恶意软件或滥用的载体。

  • 命令注入 :MCP 服务器中未经正确验证的输入可能会导致任意命令执行。

MCP 标准和 AI 相关安全是一个快速发展的研究领域

Windows 11 作为代理作系统的目标是提供最强大的基本安全功能,同时不断发展和适应新出现的威胁。

Windows 11 中的 MCP 安全体系结构

根据 Microsoft 的 "安全未来计划" 承诺,在我们扩展 MCP 功能时,安全性是我们的首要任务。Windows 11 中的 MCP 安全体系结构根据以下原则提供基本的安全功能:

  1. 提供所有 MCP 服务器开发人员必须满足的一组基线安全要求,以帮助确保用户安全。Windows 11 寻求提供开放且多样化的服务器生态系统,同时将用户安全作为重中之重。这意味着确保每台服务器都满足安全要求(更多信息见下文),具有唯一的标识,并签署代码以在必要时启用来源验证和吊销。
  2. 用户可以控制代表他们执行的所有安全敏感作。 当代理代表用户工作时,其范围和作必须对用户透明,并且必须显示敏感作(例如修改作系统状态、数据和凭据访问)。代表用户执行的所有敏感作都必须是可审核且透明的。
  3. 必须强制执行最小权限原则,以遏制任何可能的攻击对 MCP 服务器的影响。Windows 11 对服务器强制实施声明性和隔离(如果适用),以限制攻击对 MCP 的爆炸半径和影响。

MCP 安全控制

为了兑现这些承诺,Windows 11 将提供以下安全控制:

  • Proxy-Mediated 通信:所有 MCP 客户端-服务器交互都通过受信任的 Windows 代理进行路由,从而实现策略和同意的集中执行。 这包括以集中且一致的方式强制执行身份验证和授权的能力,以解决 MCP 协议的主要挑战之一。这还可以对所有代理作进行透明的审计,并提供一个中心点,安全解决方案可以在其中观察和响应潜在的攻击。
  • 工具级授权: 用户必须显式批准每个客户端-工具对,支持每个资源粒度有助于实现保持用户控制的原则。
  • 集中式服务器注册表: 只有满足基线安全条件的 MCP 服务器才能在 Windows 注册表中可用,从而确保在不影响信任的情况下可发现性。
  • 运行时隔离: MCP 服务器的要求将通过隔离和精细权限等机制实现强制执行的最小权限原则。 这将使用户通过声明模型控制向 MCP 服务器授予哪些权限,并限制对特定 MCP 服务器的任何潜在攻击的"爆炸半径"。

MCP 服务器安全要求

MCP 服务器将需要满足一系列基线安全要求才能出现在 Windows 11 MCP 服务器注册表中,其中包括:

  • 强制代码签名以确定出处并启用吊销
  • 服务器对工具的定义不能在运行时更改
  • 公开接口的安全测试
  • 强制包标识
  • 服务器必须声明它们需要的权限

这些将防止工具中毒等攻击类别,同时还创建一个开放且多样化的 MCP 服务器生态系统。有关这些要求的更多信息将在开发者预览版发布时提供。随着我们通过预览版了解更多信息,这些要求可能会发生变化。

开发者预览版

Microsoft 将在 Microsoft 构建后向开发人员提供 MCP 服务器功能的早期私人预览版,仅用于反馈目的。此个人预览版可能包括在个人预览版期间未处于强制模式的安全功能,这些功能将在广泛可用性之前启用。Microsoft 将向开发人员提供此私人预览版并要求设备处于开发人员模式,以确保只有具有权利的开发人员才能使用它。默认安全强制实施将成为向客户发布的整体版本的一部分。

展望未来

安全性不是一次性功能,而是一项持续的承诺。随着我们扩展 MCP 和其他代理能力,我们将继续发展我们的防御。从提示隔离和双 LLM 验证到运行时策略实施和防火墙插件,我们的路线图旨在保持领先于威胁曲线。我们还与生态系统中的其他公司合作,例如 Anthropic 和 MCP 指导委员会,帮助 MCP 通过持续的代理创新来满足日益增长的安全需求。有关详细信息,请参阅:Microsoft Build 2025:AI 代理时代和构建开放代理 Web

参考

  1. blogs.windows.com/windowsexpe...
  2. developer.microsoft.com/en-us/windo...
相关推荐
学习编程的小羊14 分钟前
Spring Boot 全局异常处理与日志监控实战
java·spring boot·后端
Moonbit1 小时前
MoonBit 作者寄语 2025 级清华深圳新生
前端·后端·程序员
前端的阶梯2 小时前
开发一个支持支付功能的微信小程序的注意事项,含泪送上
前端·后端·全栈
咕噜分发企业签名APP加固彭于晏2 小时前
腾讯元器的优点是什么
前端·后端
AAA修煤气灶刘哥2 小时前
Swagger 用着糟心?试试 Knife4j,后端开发狂喜
后端·面试
泡海椒3 小时前
jquickexcel 全功能指南:从数据导入到精美导出的完整流程
后端
iOS开发上架哦3 小时前
移动端网页调试实战,键盘弹出与视口错位问题的定位与优化
后端
百度Geek说3 小时前
PaddleMIX推出扩散模型推理加速Fast-Diffusers:自研蒸馏加速方法FLUX-Lightning实现4步图像生成
后端
gopher_looklook3 小时前
Go并发实战:singleflight 源码解读与二次封装
数据结构·后端·go