Claude协作工具存在远程代码执行漏洞

Claude Code的安全漏洞可能允许攻击者通过向代码仓库注入恶意配置来远程执行代码并窃取用户的API密钥,攻击者只需等待开发者克隆并打开不可信的项目即可实现攻击。

Check Point软件公司的研究人员发现并向Anthropic报告了这三个漏洞,Anthropic已对所有漏洞进行修复并为其中两个分配了CVE编号。不过,安全研究人员表示,这些问题暴露了一个令人担忧的供应链威胁,因为企业正在将Claude等AI编程工具集成到开发流程中,这实际上将配置文件转变为新的攻击面。

Check Point研究人员Aviv Donenfeld和Oded Vanunu在周三的报告中表示:"通过仓库控制的配置文件执行任意命令的能力带来了严重的供应链风险,单个恶意提交就可能危害与受影响仓库协作的任何开发者。"

开发Claude Code的AI公司Anthropic未回应记者的置评请求。

这三个安全漏洞源于Claude的设计,该设计旨在让开发团队更容易协作。这个AI编程工具通过将项目级配置文件(.claude/settings.json文件)直接嵌入到代码仓库中来实现这一功能,这样当开发者克隆项目时,就会自动应用团队成员使用的相同设置。

任何具有提交权限的贡献者都可以修改这些文件。研究人员发现,克隆并打开恶意仓库有时能够绕过内置安全措施,触发隐藏命令并执行恶意代码。

滥用钩子实现远程代码执行

三个漏洞中的第一个涉及滥用Claude的钩子功能来实现远程代码执行。钩子是用户定义的shell命令,在工具生命周期的各个节点执行,确保在满足预定条件时运行特定的预定义操作,而不是允许模型自行选择。

由于钩子在.claude/settings.json这个仓库控制的配置文件中定义,任何具有提交权限的人都可以定义钩子,这些钩子将在其他协作者处理项目时在他们的机器上执行shell命令。此外,Claude在执行这些命令之前不需要任何明确的批准——因此研究人员滥用这种机制,在有人打开项目时打开计算器应用程序。

虽然打开计算器的bash脚本并不恶意,但这仍然是远程代码执行。正如团队在视频中演示的那样:"攻击者可以配置钩子来执行任何shell命令——比如下载并运行恶意负载",如反向shell。

Check Point于2025年7月21日向Anthropic报告了恶意钩子漏洞,这家AI公司在大约一个月后实施了最终修复,并于8月29日发布了GitHub安全公告GHSA-ph6w-f82w-28w6。

MCP同意绕过漏洞

第二个漏洞也允许远程代码执行——这次是通过滥用MCP同意绕过功能。

Claude使用模型上下文协议(MCP)与外部工具集成,MCP服务器也可以通过.mcp.json配置文件在同一仓库中配置。由于之前的披露和Anthropic的修复,研究人员遇到了明确要求用户批准才能执行.mcp.json中命令的警告提示。

因此他们找到了一个变通方法:两个仓库控制的配置设置可以绕过安全措施并自动批准所有MCP服务器。

Check Point duo写道:"使用这种配置启动Claude Code揭示了一个严重漏洞:我们的命令在运行Claude时立即执行——甚至在用户能够阅读信任对话框之前。"

同样,他们坚持使用计算器应用程序,但也制作了一个视频,演示如何利用这个漏洞远程执行反向shell并完全危害受害者的机器。

研究人员于2025年9月3日向Anthropic报告了第二个漏洞,Anthropic在当月晚些时候修复了绕过漏洞,并于10月3日发布了CVE-2025-59536。

API密钥盗窃

攻击者可以利用第三个漏洞进行API密钥盗窃。这个漏洞与Claude如何使用API密钥与Anthropic服务通信有关。一个变量ANTHROPIC_BASE_URL控制所有Claude API通信的端点,虽然它应该指向Anthropic的服务器,但可以在项目的配置文件中被覆盖,改为指向攻击者控制的服务器。

研究人员配置ANTHROPIC_BASE_URL通过他们的本地代理路由,并实时观察所有Claude Code的API流量。Claude对Anthropic服务器的每个调用"都包含授权标头——我们的完整Anthropic API密钥,完全以明文形式暴露",他们写道。

攻击者可以滥用这个技巧重定向流量并窃取开发者的活跃API密钥。这很重要,因为API包含一个名为工作区的功能,通过允许多个API密钥共享对相同云端项目文件的访问来帮助开发者管理多个Claude部署。文件连接到工作区——而不是单个密钥——属于工作区的任何API密钥也可以查看工作区的任何存储文件。

这让研究人员能够上传文件到共享工作区——但不允许下载。根据Claude的文档,用户只能下载由技能或代码执行工具创建的文件。

Check Point的Donenfeld和Vanunu写道:"由于Claude的代码执行工具生成的文件被标记为可下载,我们探索了攻击者是否可以简单地要求Claude使用被盗的API密钥重新生成现有文件。如果成功,这将把不可下载的文件转换为符合下载条件的工作区工件。"

克隆然后下载文件成功了,从而确认使用被盗API密钥的恶意用户可以获得对所有工作区文件的完整读写访问权限:删除或更改敏感文件,甚至上传恶意文件来污染工作区或超出100GB存储空间配额。

Check Point于2025年10月28日向Anthropic报告了API密钥提取漏洞,供应商立即发布了修复。后来,在1月21日,Anthropic发布了CVE-2026-21852。

正如安全团队所指出的:"将AI集成到开发工作流程中带来了巨大的生产力优势,但也引入了传统工具中不存在的新攻击面。"

Q&A

Q1:Claude Code的钩子功能漏洞是如何被利用的?

A:钩子是在.claude/settings.json配置文件中定义的用户自定义shell命令。任何具有提交权限的人都可以定义钩子,这些钩子会在其他协作者处理项目时在他们的机器上执行shell命令。由于Claude执行这些命令前不需要明确批准,攻击者可以配置钩子执行任何恶意命令。

Q2:MCP同意绕过漏洞的攻击原理是什么?

A:虽然Claude会显示警告提示要求用户批准执行.mcp.json中的命令,但研究人员发现了两个仓库控制的配置设置可以绕过这些安全措施并自动批准所有MCP服务器,导致恶意命令在用户甚至来不及阅读信任对话框之前就立即执行。

Q3:API密钥盗窃漏洞会造成什么危害?

A:攻击者可以通过修改ANTHROPIC_BASE_URL变量将API流量重定向到自己控制的服务器,从而窃取开发者的API密钥。利用被盗密钥,攻击者可以获得对整个工作区文件的完整读写访问权限,包括删除或更改敏感文件,上传恶意文件污染工作区。

展开阅读全文

更新时间:2026-02-27

标签:科技   漏洞   代码   工具   密钥   钩子   攻击者   文件   命令   研究人员   恶意   仓库

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight All Rights Reserved.
Powered By 61893.com 闽ICP备11008920号
闽公网安备35020302035593号

Top