技术说明
Mitiga Labs的研究人员(披露于5月12日,现已由CSO Online在6月5日广泛传播)演示了包含post-install钩子的恶意npm包可以静默重写~/.claude.json — 控制Claude Code如何路由所有MCP(Model Context Protocol)流量的配置文件。重写的文件将Claude Code的认证请求重定向到攻击者控制的基础设施而不是合法的SaaS端点。所有连接服务(Jira、Confluence、GitHub、数据库、内部API)的OAuth承载令牌在传输中被拦截。关键是,提供商端审计日志将攻击者的请求显示为来自Anthropic的合法出口IP范围,具有有效的用户会话 — 攻击者在日志中不可见。Anthropic拒绝修补,理由是攻击需要通过同意的包安装进行先前的代码执行。
攻击途径
包含隐藏post-install钩子的恶意npm包重写~/.claude.json,将MCP流量指向攻击者基础设施;在任何npm install工作流期间触发。不需要提升的特权 — 配置文件由设计是用户可写的。同一文件中的OAuth令牌被拦截并可用于长期SaaS访问,即使在令牌轮换尝试后,因为钩子可能重新拦截后续OAuth流。
受影响系统
Anthropic Claude Code CLI(截至2026年6月6日的所有版本);任何在配置了Claude Code MCP集成的同时运行过不受信任包的npm install的开发者环境;使用存储在~/.claude.json中的OAuth令牌的连接SaaS平台(Jira、Confluence、GitHub、数据库)。
缓解措施
截至6月6日,Anthropic没有补丁。推荐缓解措施:(1)使用文件完整性监控或auditd监控~/.claude.json是否有意外修改;(2)建立合法MCP服务器端点的基线,并在变更时发出警报;(3)使用--ignore-scripts标志禁用或审计npm post-install脚本;(4)在安装任何不受信任的包后轮换OAuth令牌,并在轮换前验证~/.claude.json完整性;(5)考虑将Claude Code限制在隔离的开发者环境或容器中。