![]()
Claude Code的安全漏洞可能允許攻擊者通過向代碼倉庫注入惡意配置來遠程執(zhí)行代碼并竊取用戶的API密鑰,攻擊者只需等待開發(fā)者克隆并打開不可信的項目即可實現(xiàn)攻擊。
Check Point軟件公司的研究人員發(fā)現(xiàn)并向Anthropic報告了這三個漏洞,Anthropic已對所有漏洞進行修復(fù)并為其中兩個分配了CVE編號。不過,安全研究人員表示,這些問題暴露了一個令人擔(dān)憂的供應(yīng)鏈威脅,因為企業(yè)正在將Claude等AI編程工具集成到開發(fā)流程中,這實際上將配置文件轉(zhuǎn)變?yōu)樾碌墓裘妗?/p>
Check Point研究人員Aviv Donenfeld和Oded Vanunu在周三的報告中表示:"通過倉庫控制的配置文件執(zhí)行任意命令的能力帶來了嚴重的供應(yīng)鏈風(fēng)險,單個惡意提交就可能危害與受影響倉庫協(xié)作的任何開發(fā)者。"
開發(fā)Claude Code的AI公司Anthropic未回應(yīng)記者的置評請求。
這三個安全漏洞源于Claude的設(shè)計,該設(shè)計旨在讓開發(fā)團隊更容易協(xié)作。這個AI編程工具通過將項目級配置文件(.claude/settings.json文件)直接嵌入到代碼倉庫中來實現(xiàn)這一功能,這樣當(dāng)開發(fā)者克隆項目時,就會自動應(yīng)用團隊成員使用的相同設(shè)置。
任何具有提交權(quán)限的貢獻者都可以修改這些文件。研究人員發(fā)現(xiàn),克隆并打開惡意倉庫有時能夠繞過內(nèi)置安全措施,觸發(fā)隱藏命令并執(zhí)行惡意代碼。
濫用鉤子實現(xiàn)遠程代碼執(zhí)行
三個漏洞中的第一個涉及濫用Claude的鉤子功能來實現(xiàn)遠程代碼執(zhí)行。鉤子是用戶定義的shell命令,在工具生命周期的各個節(jié)點執(zhí)行,確保在滿足預(yù)定條件時運行特定的預(yù)定義操作,而不是允許模型自行選擇。
由于鉤子在.claude/settings.json這個倉庫控制的配置文件中定義,任何具有提交權(quán)限的人都可以定義鉤子,這些鉤子將在其他協(xié)作者處理項目時在他們的機器上執(zhí)行shell命令。此外,Claude在執(zhí)行這些命令之前不需要任何明確的批準——因此研究人員濫用這種機制,在有人打開項目時打開計算器應(yīng)用程序。
雖然打開計算器的bash腳本并不惡意,但這仍然是遠程代碼執(zhí)行。正如團隊在視頻中演示的那樣:"攻擊者可以配置鉤子來執(zhí)行任何shell命令——比如下載并運行惡意負載",如反向shell。
Check Point于2025年7月21日向Anthropic報告了惡意鉤子漏洞,這家AI公司在大約一個月后實施了最終修復(fù),并于8月29日發(fā)布了GitHub安全公告GHSA-ph6w-f82w-28w6。
MCP同意繞過漏洞
第二個漏洞也允許遠程代碼執(zhí)行——這次是通過濫用MCP同意繞過功能。
Claude使用模型上下文協(xié)議(MCP)與外部工具集成,MCP服務(wù)器也可以通過.mcp.json配置文件在同一倉庫中配置。由于之前的披露和Anthropic的修復(fù),研究人員遇到了明確要求用戶批準才能執(zhí)行.mcp.json中命令的警告提示。
因此他們找到了一個變通方法:兩個倉庫控制的配置設(shè)置可以繞過安全措施并自動批準所有MCP服務(wù)器。
Check Point duo寫道:"使用這種配置啟動Claude Code揭示了一個嚴重漏洞:我們的命令在運行Claude時立即執(zhí)行——甚至在用戶能夠閱讀信任對話框之前。"
同樣,他們堅持使用計算器應(yīng)用程序,但也制作了一個視頻,演示如何利用這個漏洞遠程執(zhí)行反向shell并完全危害受害者的機器。
研究人員于2025年9月3日向Anthropic報告了第二個漏洞,Anthropic在當(dāng)月晚些時候修復(fù)了繞過漏洞,并于10月3日發(fā)布了CVE-2025-59536。
API密鑰盜竊
攻擊者可以利用第三個漏洞進行API密鑰盜竊。這個漏洞與Claude如何使用API密鑰與Anthropic服務(wù)通信有關(guān)。一個變量ANTHROPIC_BASE_URL控制所有Claude API通信的端點,雖然它應(yīng)該指向Anthropic的服務(wù)器,但可以在項目的配置文件中被覆蓋,改為指向攻擊者控制的服務(wù)器。
研究人員配置ANTHROPIC_BASE_URL通過他們的本地代理路由,并實時觀察所有Claude Code的API流量。Claude對Anthropic服務(wù)器的每個調(diào)用"都包含授權(quán)標頭——我們的完整Anthropic API密鑰,完全以明文形式暴露",他們寫道。
攻擊者可以濫用這個技巧重定向流量并竊取開發(fā)者的活躍API密鑰。這很重要,因為API包含一個名為工作區(qū)的功能,通過允許多個API密鑰共享對相同云端項目文件的訪問來幫助開發(fā)者管理多個Claude部署。文件連接到工作區(qū)——而不是單個密鑰——屬于工作區(qū)的任何API密鑰也可以查看工作區(qū)的任何存儲文件。
這讓研究人員能夠上傳文件到共享工作區(qū)——但不允許下載。根據(jù)Claude的文檔,用戶只能下載由技能或代碼執(zhí)行工具創(chuàng)建的文件。
Check Point的Donenfeld和Vanunu寫道:"由于Claude的代碼執(zhí)行工具生成的文件被標記為可下載,我們探索了攻擊者是否可以簡單地要求Claude使用被盜的API密鑰重新生成現(xiàn)有文件。如果成功,這將把不可下載的文件轉(zhuǎn)換為符合下載條件的工作區(qū)工件。"
克隆然后下載文件成功了,從而確認使用被盜API密鑰的惡意用戶可以獲得對所有工作區(qū)文件的完整讀寫訪問權(quán)限:刪除或更改敏感文件,甚至上傳惡意文件來污染工作區(qū)或超出100GB存儲空間配額。
Check Point于2025年10月28日向Anthropic報告了API密鑰提取漏洞,供應(yīng)商立即發(fā)布了修復(fù)。后來,在1月21日,Anthropic發(fā)布了CVE-2026-21852。
正如安全團隊所指出的:"將AI集成到開發(fā)工作流程中帶來了巨大的生產(chǎn)力優(yōu)勢,但也引入了傳統(tǒng)工具中不存在的新攻擊面。"
Q&A
Q1:Claude Code的鉤子功能漏洞是如何被利用的?
A:鉤子是在.claude/settings.json配置文件中定義的用戶自定義shell命令。任何具有提交權(quán)限的人都可以定義鉤子,這些鉤子會在其他協(xié)作者處理項目時在他們的機器上執(zhí)行shell命令。由于Claude執(zhí)行這些命令前不需要明確批準,攻擊者可以配置鉤子執(zhí)行任何惡意命令。
Q2:MCP同意繞過漏洞的攻擊原理是什么?
A:雖然Claude會顯示警告提示要求用戶批準執(zhí)行.mcp.json中的命令,但研究人員發(fā)現(xiàn)了兩個倉庫控制的配置設(shè)置可以繞過這些安全措施并自動批準所有MCP服務(wù)器,導(dǎo)致惡意命令在用戶甚至來不及閱讀信任對話框之前就立即執(zhí)行。
Q3:API密鑰盜竊漏洞會造成什么危害?
A:攻擊者可以通過修改ANTHROPIC_BASE_URL變量將API流量重定向到自己控制的服務(wù)器,從而竊取開發(fā)者的API密鑰。利用被盜密鑰,攻擊者可以獲得對整個工作區(qū)文件的完整讀寫訪問權(quán)限,包括刪除或更改敏感文件,上傳惡意文件污染工作區(qū)。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.