Claude Code MCP 劫持漏洞:攻击者通过中间人攻击窃取 OAuth 令牌
Mitiga Labs 安全研究人员发现 Claude Code 存在严重安全漏洞:攻击者通过修改 ~/.claude.json 配置文件,劫持 MCP 流量窃取 OAuth 令牌。被盗令牌在轮换后仍然有效,Anthropic 认为此问题超出安全边界。
核心结论
Mitiga Labs 的安全研究人员展示了一条针对 Claude Code 用户的中间人攻击链。攻击者通过修改 ~/.claude.json 配置文件,可以悄悄地将 Model Context Protocol (MCP) 流量重定向到攻击者控制的服务器,拦截 GitHub、Jira、Slack 等连接的 SaaS 平台的 OAuth 令牌。被盗的令牌在轮换后仍然有效,让攻击者获得长期访问权限。Anthropic 已确认此问题但认为超出安全边界——攻击需要用户事先授权或系统已被攻破为前提,但令牌以明文存储这一事实仍然是数千名日常使用 Claude Code 的开发者的核心安全隐患。
Background: Claude Code 与 MCP 协议
Claude Code 是 Anthropic 的 AI 编码助手,自发布以来增长迅猛。截至 2026 年 5 月,Anthropic 报告称 代码库中超过 80% 的合并代码由 Claude 编写 — 这一数字反映了该工具与开发者工作流的深度融合。
这一增长背后的关键架构决策是 Model Context Protocol (MCP)。这个开放标准(Anthropic 已捐赠给 Linux 基金会)允许 Claude Code 连接外部服务——GitHub 仓库、Jira 看板、Slack 频道、Confluence 页面、数据库和内部 API。开发者通过 OAuth 授权这些连接,使 Claude Code 能在整个开发工具链中读取、写入和执行操作。
这就是漏洞所在。
攻击链:窃取令牌的五步法
Mitiga Labs 的安全研究人员(2026 年 5 月 7 日披露,6 月 8 日由 GBHackers 和 Cybersecurity News 重新报道)展示了一条五步攻击链:
| 步骤 | 操作 | 目标 |
|---|---|---|
| 1 | 获取文件写入权限 | 修改开发者机器上的 ~/.claude.json |
| 2 | 修改 MCP 配置 | 将 MCP 服务器 URL 重定向到攻击者控制的代理 |
| 3 | 劫持 OAuth 令牌 | 拦截明文中存储的 bearer 和 refresh tokens |
| 4 | 外泄到攻击者服务器 | 将令牌发送到攻击者基础设施 |
| 5 | 维持持久化访问 | 令牌在轮换后仍然有效 |
关键发现:明文存储的 OAuth 令牌
最核心的问题是:Claude Code 以明文形式将 OAuth bearer 和 refresh tokens 存储在 ~/.claude.json 中。当开发者授权 MCP 集成时,令牌直接写入此文件,没有任何加密。
攻击者的代理服务器在令牌经过时捕获它们。被盗的令牌让攻击者能够:
- 读取和克隆私有 GitHub 仓库
- 以开发者身份在 Slack 和 Jira 上发布消息
- 修改代码、审批 PR、触发 CI/CD 流水线
- 访问内部公司数据库和 API
令牌轮换也不安全
最令人担忧的发现是:令牌在轮换后仍然持久有效。因为攻击者的 MCP 代理维持着连接,当通过 OAuth 刷新发放新令牌时,它会经过同一个代理。攻击者捕获新令牌,无限期地维持访问权限。
Anthropic 的回应:超出安全边界
Anthropic 于 2026 年 4 月 10 日收到漏洞通知。他们在 4 月 12 日的回应中表示该问题 超出安全边界,原因是:
"攻击需要用户已事先授权或系统已被攻破,这是许多攻击的先决条件。"
这一分类意味着:
- 未分配 CVE
- 不计划针对明文令牌存储进行补丁
- 没有针对 MCP 端点重定向的配置级保护
不过,Anthropic 在 2026 年 5 月 29 日发布了 Claude Code 更新(2.11 版本),为 ~/.claude.json 文件增加了完整性检查。该检查会在配置被修改时警告用户,但不阻止攻击。
更广泛的背景:MCP 漏洞模式
这不是孤立问题。MCP 协议的安全模型在 2026 年已多次受到审查:
| 日期 | 漏洞 | 影响 |
|---|---|---|
| 2026 年 2 月 | CVE-2025-59536 (Check Point) | 通过项目文件中的恶意钩子实现 RCE |
| 2026 年 4 月 | GitHub Actions 投毒 (Flatt.tech) | 通过 Claude Code CI 的供应链攻击 |
| 2026 年 5 月 | MCP 令牌窃取 (Mitiga) | 通过 MCP 代理的 OAuth 令牌外泄 |
| 2026 年 6 月 | GitHub Actions 投毒(新一轮) | 更大攻击面识别 |
CSOonline 在 2026 年 6 月 5 日发表的文章 "Claude Code 有一个 MCP 安全问题——而你的开发者已经在使用它" 一针见血地指出:"让 Claude Code 强大的特性——它能连接到一切——也是它最大的安全负债。"
开发者应立即采取的措施
虽然 Anthropic 将此问题归类为超出安全边界,开发者和团队可以立即采取行动:
1. 审计你的 ~/.claude.json 文件:检查是否有意外的 MCP 服务器 URL 或可疑配置
2. 限制文件系统权限:确保 ~/.claude.json 有严格的读写权限
3. 监控未经授权的 MCP 连接:在开发者机器上监控意外的出站连接,特别是发往未知 IP 或域名的连接
4. 使用 MCP 连接白名单:如果你的团队大规模使用 MCP,维护合法的 MCP 端点白名单并监控偏差
5. 审查 OAuth 令牌范围:将通过 MCP 授予的 OAuth 令牌限制为最低必要权限。避免授予 repo:all 或 admin:org 范围
6. 考虑替代配置:对于高安全环境,考虑通过具有严格访问控制的内部基础设施运行 MCP 代理
行业影响
此漏洞对 AI 编码助手市场有显著影响:
- Cursor,直接竞争对手,将其"沙箱化 MCP 执行"作为差异化卖点
- GitHub Copilot 使用不同的连接模型,不在本地以明文存储令牌
- OpenAI Codex 在 2026 年 4 月的更新中宣布了沙箱化执行环境
安全团队的反应很快。据报道,多家大型企业已限制开发者机器上的 Claude Code 使用,等待更全面的安全审查。
这对 Claude Code 用户意味着什么
Mitiga 的研究并不意味着 Claude Code "不安全"——但它暴露了一个明确的架构取舍。Claude Code 的强大来自与开发者工具的深度集成,而这种集成需要信任 MCP 生态系统。
行业现在面临的根本问题是:AI 编码助手应该在本地以明文存储 OAuth 令牌吗? 大多数开发者会回答不。但替代方案——集中式令牌代理或加密令牌保险库——增加了 Anthropic 迄今不愿实施的复杂性。
目前,保护 ~/.claude.json 文件和监控 MCP 流量的责任落在开发者和安全团队身上。在 2026 年的 AI 编码助手战争中,安全姿态正变得与模型质量同等重要。
相关阅读
来源: Mitiga Labs, GBHackers, CSOonline, SecurityWeek, Check Point Research, Flatt.tech
主题中心
2026 AI 编程工具全景指南
从 Copilot 改版到 Claude Code / DeepSeek 低成本方案——把分散资讯收成可搜索、可对比的工具矩阵。
进入「2026 AI 编程工具全景指南」 →赚钱视角
这个趋势怎么赚钱?
WayToClawEarn 的差异在可验证的赚钱案例,而不只是资讯。从这些复盘开始:
浏览全部案例 →