MCP Python SDK惊现致命OAuth漏洞:一个404响应就能让攻击者接管你的AI代理账户
一个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服务器只需对现代的授权服务器发现请求返回一个404SDK就会自动切换到旧版回退路径。在这条路径下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.02.x用户请升级到2.2.0。新版本会在所有发现路径上交叉验证授权服务器的颁发者身份凡是来自非预期提供商的元数据一律拒绝。对于使用ClientCredentialsOAuthProvider或PrivateKeyJWTOAuthProvider的团队还必须通过issuer参数显式锁定预期的颁发者不能让客户端再“猜”。升级只是第一步事后清理同样不能省。如果你的应用在打补丁之前有可能连接过不受信任的MCP服务器务必彻底清除旧的OAuth注册信息轮换所有暴露的客户端密钥并撤销已经签发的令牌。有一点可以让人松口气用SDK搭建的MCP服务器端、本地标准I/O客户端以及自带令牌或请求头的客户端不在此次影响之列。这一轮MCP Python SDK OAuth漏洞给整个行业敲了一记响亮的警钟AI代理时代信任不能再默认授予。每一次OAuth跳转背后都该有严格的颁发者校验兜底每一个MCP服务器接入前都该先过一道身份与来源的审查。补丁已经摆在那里升不升级选择权在你——但攻击者不会等你。

相关新闻

微信支付分账 30% 上限如何突破?第三方独立清算链路技术方案

微信支付分账 30% 上限如何突破?第三方独立清算链路技术方案

微信分账 30% 上限的突破路径,按实施主体可分为五大类:微信支付官方分账、银行通用分账产品、持牌支付机构分账、合规授权的技术服务商方案、对接非官方接口的四方系统。不同方案在比例能力、合规性、接入成本上差异极大,并非比例越高越好。本…

2026/10/2 17:12:35 阅读更多 →
微信表情保存到相册后,怎么发到视频号?

微信表情保存到相册后,怎么发到视频号?

微信表情包要发到视频号,得先存进手机相册变成一张图片文件,视频号里才能从相册把这张图选出来用。原因是:微信里的表情是聊天里的素材,不是能直接拖出去的文件,只有存成相册里的图片,视频号这类地方才认得…

2026/10/2 17:12:35 阅读更多 →
Windows 与 Office 激活脚本:4 种激活方式完整指南

Windows 与 Office 激活脚本:4 种激活方式完整指南

Windows 与 Office 激活脚本:4 种激活方式完整指南 【免费下载链接】Microsoft-Activation-Scripts Open-source Windows and Office activator featuring HWID, Ohook, TSforge, and Online KMS activation methods, along with advanced troubleshooting. 项目地…

2026/10/2 17:12:35 阅读更多 →

最新新闻

OCC入门指南:Open CASCADE三维建模开发实战

OCC入门指南:Open CASCADE三维建模开发实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:46:52 阅读更多 →
C++ static constexpr与static const本质区别及性能影响

C++ static constexpr与static const本质区别及性能影响

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:46:52 阅读更多 →
AppsFlyer延迟深度链接接入实战:Android/iOS客户端完整指南

AppsFlyer延迟深度链接接入实战:Android/iOS客户端完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:46:52 阅读更多 →
nodebestpractices 安全实践:如何避免在 npm 发布时意外泄露机密(.npmignore / files 白名单 / --dry-run 全解析)

nodebestpractices 安全实践:如何避免在 npm 发布时意外泄露机密(.npmignore / files 白名单 / --dry-run 全解析)

文档教程后端 【免费下载链接】nodebestpractices ✅ The Node.js best practices list (July 2026) 项目地址: https://gitcode.com/GitHub_Trending/no/nodebestpractices 点击查看 免费下载 导读 本篇文章来自 nodebestpractices 仓库中安全实践清单第 6.25 条…

2026/10/2 17:46:52 阅读更多 →
微信聊天记录导出为HTML、Word、CSV:从解密数据库到年度报告

微信聊天记录导出为HTML、Word、CSV:从解密数据库到年度报告

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:46:52 阅读更多 →
Python解析式

Python解析式

在日常的情况里面, 是经常可以看见形如ret等于的这种表现的。这是一个列表推导式, 用于计算列表中每个元素的平方。这类赋值语句, 对于从C转行过来的人来说, 不是太容易懂得这种for循环的用法是怎么一回事, 这也就是为了追求简练而被创造出来的一种新式语法。解析式存在如下的一…

2026/10/2 17:45:51 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 6:09:11 阅读更多 →