☰
MCP Python SDK惊现致命OAuth漏洞:一个404响应就能让攻击者接管你的AI代理账户
2026/10/2 17:12:33 网站建设 项目流程

一个404响应,就足以让AI代理的“身份证”拱手让人——这不是危言耸听,而是刚刚被安全研究员曝光的MCP Python SDK严重OAuth缺陷。如果你的AI助手正通过MCP协议连接外部工具、数据库或API,而它背后跑的是受影响的SDK版本,那么一次看似平常的登录跳转,可能已经在不知不觉中把你的Google、Okta或Microsoft Entra ID账户交给了攻击者。

MCP,也就是Model Context Protocol(模型上下文协议),是当下AI代理生态里炙手可热的开放标准。它让大模型不再只会“聊天”,而是能直接调用外部工具、读写数据源、执行真实任务。可问题恰恰出在“连接”这一步:当MCP客户端需要身份认证时,它会先做OAuth发现,去确认该由哪个授权服务器处理登录。原本这套机制设计得很严谨,但出事的SDK版本对MCP服务器返回的数据过于信任,把安全防护的第一道门直接敞开了。

攻击的入口小得令人难以置信。恶意MCP服务器只需对现代的授权服务器发现请求返回一个404,SDK就会自动切换到旧版回退路径。在这条路径下,SDK会接受由MCP服务器直接下发的OAuth配置,却不去核对其中声明的颁发者(issuer)是否真的是你预期的那个登录提供商。这意味着什么?攻击者可以构造一份精心打扮过的配置:浏览器里打开的是货真价实的Google或微软登录页,域名、界面、证书全都正常,唯独OAuth令牌端点被悄悄指向了攻击者控制的服务器。

用户看到的是熟悉的官方登录页面,戒备心瞬间归零。可就在身份验证成功的那一刻,受影响的SDK会把授权码、客户端密钥,甚至专门用来防劫持的PKCE代码验证器,一并送往那个恶意令牌端点。PKCE(代码交换证明密钥)本来是OAuth 2.0体系里抵御授权码窃取的重要屏障,按设计,攻击者即便截获授权码,没有验证器也无法完成兑换。可当恶意服务器同时握有授权码和验证器时,这道屏障便形同虚设——它可以冒充客户端,堂而皇之地向真正的身份提供商换取有效的访问令牌,完成账户接管。

更隐蔽的是凭证绑定机制也被连带着削弱。SDK会根据MCP服务器提供的颁发者值来校验已存储的凭证,攻击者只要伪造成合法的授权服务器,就能诱导SDK把原本属于正规提供商的凭据复用并转发到攻击者控制的端点。据Cycode的研究披露,交互式OAuth提供程序的CVSS评分为6.5分,因为理论上还需要用户点一下登录;而机器对机器的ClientCredentials和PrivateKeyJWT提供程序评分高达7.5分——全程无需人工干预,漏洞一旦命中,连“手滑点错”的机会都不给你。

影响范围需要每一位开发者严肃对待:MCP Python SDK的1.x分支中,1.9.1至1.29.1版本全部中招;2.x分支里,2.0.0到2.1.1同样未能幸免。涉及的OAuth提供程序包括OAuthClientProvider、ClientCredentialsOAuthProvider和PrivateKeyJWTOAuthProvider,老部署中已弃用的RFC7523OAuthClientProvider也可能被波及。换言之,只要你的应用通过这些组件接入过不可信的MCP服务器,风险就已经客观存在。

值得警惕的是,在AI代理自主决策的场景里,危险系数被进一步放大。当模型自己挑选要连接的MCP服务器时,任何一个环节失守——被污染的注册表、抢注的域名、提示注入、DNS劫持,乃至网络层面的入侵——都可能把代理悄悄引向恶意服务器。代理越智能、连接的插件越多,攻击面就越大,这条信任链上的每一环都必须经得起审视。

好消息是,修复方案明确且已经就绪。官方发布的补丁版本彻底堵上了这个口子:1.x用户请立即升级到1.30.0,2.x用户请升级到2.2.0。新版本会在所有发现路径上交叉验证授权服务器的颁发者身份,凡是来自非预期提供商的元数据一律拒绝。对于使用ClientCredentialsOAuthProvider或PrivateKeyJWTOAuthProvider的团队,还必须通过issuer=参数显式锁定预期的颁发者,不能让客户端再“猜”。

升级只是第一步,事后清理同样不能省。如果你的应用在打补丁之前有可能连接过不受信任的MCP服务器,务必彻底清除旧的OAuth注册信息,轮换所有暴露的客户端密钥,并撤销已经签发的令牌。有一点可以让人松口气:用SDK搭建的MCP服务器端、本地标准I/O客户端,以及自带令牌或请求头的客户端不在此次影响之列。

这一轮MCP Python SDK OAuth漏洞给整个行业敲了一记响亮的警钟:AI代理时代,信任不能再默认授予。每一次OAuth跳转背后,都该有严格的颁发者校验兜底;每一个MCP服务器接入前,都该先过一道身份与来源的审查。补丁已经摆在那里,升不升级,选择权在你——但攻击者不会等你。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询