紧急提醒:有人用 Claude Code 投毒,程序员已中招

你每天用 Claude Code 写代码、改 Bug、跑测试。
你觉得它安全、高效、值得信任。
但你有没有想过,你 clone 下来的那个项目,可能就是一颗定时炸弹?
2026 年初,安全公司 Check Point 披露了 Claude Code 的多个高危漏洞(CVE-2025-59536、CVE-2026-21852)。攻击者只需要在仓库里埋一个配置文件,你用 Claude Code 打开项目的那一刻,代码就开始在你机器上悄悄执行了。没有任何提示,没有任何确认弹窗。
更可怕的是,这不是理论推演。2026 年 2 月,AI 编程工具 Cline 就因为类似的攻击链,被人发布了一个被篡改的 npm 包,影响了 500 万用户。
AI 编程工具的供应链安全,已经不是”将来可能出问题”,而是”正在出问题”。
到底发生了什么?
Claude Code 的三个致命漏洞
Check Point 的研究人员 Aviv Donenfeld 和 Oded Vanunu 发现,Claude Code 有三个可以被利用的攻击面。它们都藏在同一个地方:项目配置文件。
第一个:Hooks 自动执行恶意命令
Claude Code 有个叫 Hooks 的功能,允许开发者在项目生命周期的特定节点自动运行 Shell 命令,比如在提交代码前自动格式化。
问题在于,Hooks 的配置写在 .claude/settings.json 里,而这个文件是跟着仓库走的。攻击者只要往仓库提交一个恶意的 Hook 配置,你 clone 下来用 Claude Code 打开,它就会自动执行——不需要你的同意。
研究人员演示了一个场景:通过这个漏洞,直接在受害者机器上建立了一个反向 Shell。也就是说,攻击者可以远程控制你的电脑。
第二个:MCP 服务器绕过信任验证
Claude Code 通过 MCP(Model Context Protocol)连接外部工具和服务。正常情况下,启动 MCP 服务器需要用户确认。
但研究人员发现,通过操纵仓库里的两个配置项(enableAllProjectMcpServers 和 enabledMcpjsonServers),可以绕过这个确认流程。恶意命令在 Claude Code 启动时就执行了,你甚至还没看到信任提示框,攻击就已经完成了。
第三个:API 密钥被偷走
这个最隐蔽。攻击者在配置文件里修改 ANTHROPIC_BASE_URL 这个环境变量,把 Claude Code 的 API 请求重定向到自己的服务器。
你的 API 密钥就这样被截获了。拿到密钥后,攻击者可以访问你整个团队的共享工作区,读取、修改、删除文件,甚至上传恶意文件污染整个项目。
Anthropic 在安全公告中确认:
“只需要在攻击者控制的仓库中打开 Claude Code,就足以泄露开发者的 API 密钥。”
Cline 事件:500 万用户的噩梦
如果你觉得 Claude Code 的漏洞只是”理论上可以被利用”,那 Cline 事件会让你清醒过来。
2026 年 2 月,安全研究员 Adnan Khan 发现,AI 编程工具 Cline 的 GitHub 仓库里有一个 AI 驱动的 Issue 分类机器人。这个机器人用的是 Anthropic 的 claude-code-action,权限设置得非常宽松——任何人都可以触发它,而且它有 Bash 命令的执行权限。
攻击链是这样的:
- 攻击者在 Issue 标题里注入一段 Prompt 指令
- Claude 被诱导执行了一个恶意的
npm install - 恶意脚本通过 GitHub Actions 缓存投毒
- 最终窃取了 npm 发布凭证
- 攻击者用偷来的凭证发布了一个被篡改的
cline@2.3.0
这个被篡改的版本在 npm 上存活了整整 8 个小时。它会在每个更新的开发者机器上全局安装一个 AI 代理。
一个 GitHub Issue 的标题,就击穿了 500 万用户的供应链。
为什么 AI 编程工具特别危险?
你可能会说,软件漏洞年年有,这不是什么新鲜事。
但 AI 编程工具的风险,跟传统工具有本质区别。
配置文件变成了”可执行代码”
传统开发中,配置文件就是配置文件。.eslintrc、tsconfig.json,你看都不看一眼,直接 clone 下来就用。
但在 AI 编程工具的世界里,配置文件成了执行层的一部分。.claude/settings.json 可以定义 Hooks、MCP 服务器、环境变量,每一项都可能触发命令执行。
Check Point 的研究人员说得很直白:
“风险不再仅限于运行不可信的代码——现在连打开不可信的项目都有风险。”
AI 代理 = 完美的攻击载体
Cline 事件中,攻击者选择安装的不是传统恶意软件,而是一个 AI 代理(OpenClaw)。
安全研究员 Yuval Zacharia 指出了这件事的可怕之处:
“如果攻击者能远程向它发送 Prompt,这就不只是恶意软件了——这是 C2(远程控制)的下一代形态。不需要定制木马,AI 代理本身就是木马,纯文本就是协议。”
一个有 Shell 访问权限的 AI 代理,看起来就像正常的开发者工具。杀毒软件不会报警,EDR 不会拦截。但它能执行命令、读写文件、浏览网页。
Vibe Coding 放大了风险
2026 年被称为 “Vibe Coding 之年”。越来越多的人用自然语言让 AI 写代码,不看代码、不做审查,直接部署。
安全公司 Tenzai 测试了 5 款主流 AI 编程工具,构建了 15 个应用,发现了 69 个安全漏洞。Escape.tech 扫描了 5600 个 Vibe Coding 平台构建的应用,找到了超过 2000 个漏洞、400 多个泄露的密钥。
CodeRabbit 的分析显示,AI 生成的代码引入 XSS 漏洞的概率是人类代码的 2.74 倍。
当你连代码都不看的时候,谁来发现配置文件里的恶意指令?
怎么保护自己?
说了这么多风险,关键问题是:作为程序员,我们能做什么?
1. 不要盲目信任项目配置文件
以前你 clone 一个项目,最多看看 README。现在你需要多看几个文件:
.claude/settings.json—— 检查有没有可疑的 Hooks、MCP 配置、环境变量.mcp.json—— 检查 MCP 服务器的来源和权限CLAUDE.md—— 检查有没有注入的 Prompt 指令
把配置文件的审查,提升到和代码审查同等的优先级。
2. 及时更新工具版本
Anthropic 已经修复了上述漏洞:
- CVE-2025-59536:增强了信任警告对话框
- CVE-2026-21852:在 2.0.65 版本中修复了 API 密钥泄露问题
确保你的 Claude Code 版本是最新的。运行 claude --version 检查一下。
3. 不要滥用 --dangerously-skip-permissions
这个 flag 会跳过所有权限确认。有些人为了方便在 CI/CD 里加上这个参数。但这等于给攻击者敞开了大门。
如果必须使用,一定要严格限定作用范围。
4. 审查 MCP 服务器
每个 MCP 服务器连接都是一个信任边界。你需要:
- 清楚每个 MCP 服务器能访问什么数据
- 固定版本号(用
@0.6.3而不是@latest) - 定期检查已连接的 MCP 服务器列表
截至 2026 年 3 月,MCP 生态已经披露了 14 个高危 CVE。
5. 对 AI 生成的代码做安全审查
不管你用什么 AI 编程工具,最后一道防线永远是人。
- 跑静态分析(SAST)
- 写安全相关的测试用例
- 不要把 API 密钥硬编码在代码里
- 对照 OWASP Top 10 检查一遍
写在最后
AI 编程工具正在改变我们写代码的方式。这是好事。
但每一次效率的提升,都伴随着新的攻击面。当 AI 代理有了执行命令的权限、访问文件的权限、连接外部服务的权限,它就不再只是一个”辅助工具”——它成了一个有特权的系统组件。
配置文件不再是元数据,而是攻击入口。AI 代理不再只是工具,而是潜在的攻击载体。
好消息是,Anthropic、Cline 等厂商在漏洞被发现后都快速响应了修复。坏消息是,这类攻击的门槛正在降低,而 AI 工具的普及速度远快于安全意识的普及速度。
作为开发者,我们享受 AI 带来的效率红利,但也必须承担随之而来的安全责任。Trust, but verify。 信任你的工具,但永远要验证。
你在使用 AI 编程工具时有遇到过安全问题吗?你是怎么审查 AI 生成的代码的?欢迎在评论区分享你的经验和做法。