// 威脅簡報
Claude Code 外掛雜湊鎖定繞過:鎖定了 commit,裝進來的卻可能是攻擊者的程式碼
- CVSS
- 7.5 HIGH
- CISA KEV
- 未列入
- 弱點類型
- CWE-494 · CWE-829
AI 審稿 2026-10-19(未經人工)指令測試:未提供漏洞重現:未進行驗證紀錄 ↓
Claude Code 2.1.179 之前的版本(低於 2.1.179)安裝外掛時,沒有確認實際取出的版本就是鎖定的 commit,控制外掛儲存庫的攻擊者可以換成自己的程式碼。
| 誰會中 | 使用 Claude Code(npm 套件 @anthropic-ai/claude-code)低於 2.1.179 的版本的開發者;官方說 Claude Desktop 的外掛安裝流程也受影響,但沒有給出版本範圍。實際被利用還需要外掛放在允許「長得像 commit 雜湊的分支名稱」的 Git 主機上。 |
|---|---|
| 後果 | 官方說法:即使外掛已鎖定雜湊,仍可能裝進攻擊者控制的程式碼。研究人員稱可導致遠端程式碼執行。新聞報導指出外掛以使用者本人的權限執行,可能碰到檔案、已儲存的憑證和能登入的系統。 |
| 現在該做什麼 | 更新 Claude Code 到 2.1.179 以上(使用標準自動更新者官方說已收到修補)。無法確認已修補時,雲端安全聯盟(CSA,第三方)建議先關閉外掛自動更新。 |
| 受影響版本 | Claude Code 早於(低於)2.1.179;Claude Desktop 受影響但官方未提供版本範圍 |
| 修好的版本 | Claude Code 2.1.179 以上 |
| CVSS 向量 | 顯示完整向量CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| 時間點 |
|
藍隊應對手冊
確認、修補 / 緩解、應變、強化。版本符合受影響條件不等於已被入侵;檢查沒有結果也不等於安全,每一項都有能證明與不能證明的範圍。標記的步驟對應下方攻擊流程裡可以擋下攻擊的那一步。
- 01確認 Claude Code 版本
在安裝 Claude Code 的那台電腦的終端機執行(唯讀,只查自己電腦上的版本)。npm 套件 @anthropic-ai/claude-code 低於 2.1.179 就在受影響範圍內。`npm ls -g` 只看得到用 npm 全域安裝的版本;用原生安裝程式、Homebrew 或 WinGet 等方式安裝的人,`npm ls` 會查不到,請以 `claude --version` 的結果為準。Claude Desktop 官方沒有提供版本範圍,請保持最新。
唯讀查詢claude --version; npm ls -g @anthropic-ai/claude-code - 02盤點外掛來源主機
研究人員指出 GitHub 會拒絕長得像雜湊的分支名稱,Bitbucket 與自架 Git 伺服器則允許。來自後者的外掛是需要優先檢查的對象。這是 PlainCVE 依研究人員說法整理的建議,官方沒有提供偵測指引。
- 01升級到 2.1.179 以上
官方說使用標準自動更新的使用者已收到修補;手動更新者應更新到最新版。在安裝 Claude Code 的那台電腦的終端機執行;這個指令**會修改環境**(安裝新版本)。`claude update` 是官方文件給原生安裝的手動更新指令;官方文件另外寫,npm 全域安裝改用 `npm install -g @anthropic-ai/claude-code@latest`,Homebrew 用 `brew upgrade claude-code`,WinGet 用 `winget upgrade Anthropic.ClaudeCode`(同樣會修改環境)。更新後再執行 `claude --version`,確認是 2.1.179 以上才算完成。
會變更環境claude update - 02還不能確認已修補:關閉外掛自動更新
雲端安全聯盟(CSA)的研究說明指出,關閉外掛自動更新可移除攻擊中「零點擊」的部分。這是第三方建議,不是官方說法。
- 01移除可疑外掛並輪替憑證
外掛以使用者本人的權限執行。若在舊版上安裝或更新過來自非 GitHub 主機的外掛、且無法確認內容,PlainCVE 建議移除該外掛,並輪替那台機器上可取得的憑證。這是預防性建議,目前沒有實際遭利用的報告。
完整修復步驟與說明
- 確認版本並更新。 在安裝 Claude Code 的電腦終端機用
claude --version查看版本(用 npm 全域安裝的人也可以用npm ls -g @anthropic-ai/claude-code;其他安裝方式npm ls查不到),低於 2.1.179 就更新到最新版。官方文件的手動更新方式:原生安裝用claude update,npm 安裝用npm install -g @anthropic-ai/claude-code@latest(兩者都會修改環境)。官方說使用標準自動更新的人已經拿到修補。 - 注意版本說明沒有提到這個修補。 新聞報導指出 2.1.179 的發布說明完全沒有提及此修正,不能靠翻發布說明判斷。
- Claude Desktop。 官方沒有給出受影響或修補版本,建議保持最新。
- 還無法確認已修補時。 CSA 建議關閉外掛自動更新,以移除零點擊的部分(第三方建議)。
攻擊流程
從左到右是攻擊發生的順序。藍色盾牌代表這一步可以被擋下,越早擋下越好。點圖示可看細節。
由上到下是攻擊發生的順序。藍色盾牌代表這一步可以被擋下,越早擋下越好。點圖示可看細節。
- 攻擊者
攻擊者控制某個外掛的上游儲存庫
依官方公告,外掛來源必須放在允許「長得像 commit 雜湊的分支名稱」的 Git 主機上。
防禦: 只安裝來源可信的外掛;留意外掛來自哪個 Git 主機。
- 攻擊者
儲存庫裡出現與鎖定雜湊同名的分支
官方公告說,控制儲存庫的攻擊者可以讓同名分支指向自己的程式碼。
- 你的系統
使用者安裝外掛,或外掛在背景自動更新
官方說需要使用者安裝惡意外掛並鎖定在看似安全的雜湊;研究人員則說透過外掛自動更新,完全不需要使用者操作。兩方說法不同。
防禦: 無法確認已修補時,關閉外掛自動更新(CSA 建議,第三方),可移除「零點擊」這條路。
- 你的系統
Claude Code 用 git checkout 取出「鎖定的雜湊」,卻沒檢查結果
舊版沒有確認取出後的 HEAD(目前所在版本)真的等於鎖定的 40 字元雜湊,於是可能取出同名分支而不是原本的 commit。
防禦: 升級到 Claude Code 2.1.179 以上。
- 攻擊者
攻擊者的程式碼被當成外掛安裝
外掛以使用者本人的權限執行,可能接觸檔案、已儲存的憑證和使用者能登入的系統(新聞報導的描述)。
防禦: 若懷疑已安裝被替換的外掛,移除它並輪替該機器上的憑證(PlainCVE 建議)。
影響範圍
| 條件 | 是否受影響 |
|---|---|
Claude Code(npm 套件 @anthropic-ai/claude-code)低於 2.1.179 | 受影響 |
| Claude Code 2.1.179 以上 | 已修補 |
| Claude Desktop 的外掛安裝流程 | 官方說受影響,但沒有提供版本範圍 |
| 外掛放在 GitHub 上 | 研究人員說 GitHub 會拒絕長得像雜湊的分支名稱,這個手法用不上 |
| 外掛放在 Bitbucket 或自架 Git 伺服器 | 研究人員說這些主機允許此類名稱,是攻擊需要的條件 |
依官方公告,實際被利用還需要:攻擊者控制外掛的上游儲存庫(存放原始碼的地方),以及使用者安裝了這個惡意外掛並鎖定在看似安全的雜湊。
原理
Claude Code 的外掛「市集」可以把外掛鎖定在某個 commit 雜湊(Git 給每次程式碼變更的 40 字元編號),用意是:就算外掛作者之後改了程式碼,你裝到的仍是當初審過的那一版。
問題在於安裝時只執行了 git checkout(Git 取出某個版本的指令),卻沒有在事後確認取出的 HEAD(目前所在的版本)真的等於鎖定的雜湊。Git 的分支名稱可以由儲存庫擁有者自訂;如果主機允許,攻擊者可以建立一個名稱剛好就是那串雜湊的分支,讓 checkout 取出分支裡的攻擊者程式碼,而不是原本的 commit。這對應 CWE-494(下載程式碼未驗證完整性)與 CWE-829(引入不受信任來源的功能)。
有問題的思路(概念示意,不是原始程式碼):
展開程式碼範例(text)
checkout(pinned_sha)
# 直接當作已取得鎖定版本,繼續安裝修好的思路(研究人員描述的做法):
展開程式碼範例(text)
checkout(pinned_sha)
if resolve(HEAD) != pinned_sha:
abort_install()官方沒有說明修補的具體做法;上面的修正思路來自 CSA 研究說明。
是否需要使用者操作,來源說法不同。 官方與 CVE 紀錄說需要使用者安裝惡意外掛並鎖定雜湊;Air Security 則稱透過外掛背景自動更新可做到「零點擊」。不過新聞報導指出,背景自動更新預設只對內建市集開啟,而內建市集放在 GitHub 上;結合「GitHub 拒絕此類分支名稱」這點,PlainCVE 的判斷是預設設定下零點擊的路徑可能較受限,但沒有來源直接這樣說。
影響描述也不同。 官方說的是「攻擊者控制的程式碼被安裝」;研究人員稱為遠端程式碼執行。新聞報導指出外掛以使用者本人的權限執行,可能接觸檔案、已儲存的憑證和使用者能登入的系統。
時間軸
| 日期 | 事件 |
|---|---|
| 2026-01-20 | 第三方發布追蹤網站說 v2.1.14 加入「鎖定外掛 commit 雜湊」功能;PlainCVE 推測問題可能自此存在,官方範圍僅寫「< 2.1.179」 |
| 2026-05 | 研究人員做出可運作的概念驗證(新聞報導) |
| 2026-06 | Air Security 私下通報廠商 |
| 6 月 16 日 | v2.1.179 的 GitHub 發布頁顯示的日期(頁面未顯示年份) |
| 2026-06-17 | Anthropic 確認修補(新聞依研究人員說法) |
| 2026-09-04 | CVE 編號保留 |
| 2026-09-17 | Air Security 在自家部落格公開「Plugin4Shell」研究(第三方研究,不是專案公告;部落格原文標 17 日,CSA 轉述為 18 日,以原文為準) |
| 2026-10-09 | Anthropic 安全公告 GHSA-pq7j-f95f-qfcv 公開;這是專案自己最早的公開內容,本頁以此為首次公開日(早於 10 月 13 日的 CVE 紀錄;專案 issue 與 2.1.179 發布說明都沒有提到這個問題) |
| 2026-10-13 | CVE 紀錄公開;CISA SSVC 評估實際利用為 none |
| 2026-10-14 | 未列入 CISA KEV;NVD 狀態為「等待分析」 |
延伸閱讀
- 評分差異: CVE 紀錄(CNA)給 CVSS 4.0 7.5,使用者互動為「主動」(UI:A);官方 GHSA 給 7.7,使用者互動為「被動」(UI:P)。NVD 截至 10 月 14 日尚未評分,本頁採用 CNA 分數。
- 實際利用: 未列入 CISA KEV,CISA SSVC 評估為 none,新聞報導也沒發現實際攻擊;沒有證據顯示在修補前就遭利用。研究人員有做出概念驗證。
- 與 Plugin4Shell 的關係: 回報單位、漏洞內容與修補版本都和 Air Security 的「Plugin4Shell」研究相符,該研究也涵蓋 Codex、GitHub Copilot 和 Gemini CLI。但沒有來源明確把這個 CVE 編號連到 Plugin4Shell,CSA 也說公開時尚無 CVE;兩者為同一件事是 PlainCVE 的判斷。
- GitHub 全域 Advisory Database: 2026-10-17 查詢時已有 reviewed 條目 GHSA-pq7j-f95f-qfcv(2026-10-15 收錄),CVSS 4.0 7.5(UI:A,與 CNA 相同),範圍為
@anthropic-ai/claude-code低於 2.1.179、修補於 2.1.179。Claude Code 儲存庫裡的官方公告則給 7.7(UI:P)。 - 未連結的來源: 本頁提到的 Air Security「Plugin4Shell」研究文章、雲端安全聯盟(CSA)研究說明與 The Next Web 報導,都依序寫出針對這個漏洞的攻擊步驟(該頁含攻擊程式,本站不連結)。本頁引用它們的說法時只標出處。
- 相關弱點類型:CWE-494、CWE-829。
驗證紀錄 AI 依審稿規則逐項核對來源,全部通過;未經人工審稿,也尚未在我們的環境重現
| AI 審稿 | 2026-10-19 · 審稿規則 |
|---|
驗證紀錄只寫環境與結果,不公開重現步驟或可攻擊他人系統的程式。詳見 政策.
來源
- 安全公告GHSA-pq7j-f95f-qfcv — Plugin Commit SHA Pin Bypass Allows Installation of Attacker-Controlled Code · Anthropic (GitHub), 2026-10-09 · 查閱 2026-10-14
- CVE / NVD / OSVCVE-2026-86063 record · CVE Program, 2026-10-13 · 查閱 2026-10-14
- CVE / NVD / OSVNVD API - CVE-2026-86063 · NIST · 查閱 2026-10-14
- 修補 commit / 版本Claude Code v2.1.179 release · Anthropic (GitHub) · 查閱 2026-10-14
- 其他Claude Code docs - Advanced setup (update Claude Code) · Anthropic · 查閱 2026-10-14
- 新聞報導Plugin4Shell: AI coding agents Claude Code, Codex, Copilot, Gemini CLI · aicybr · 查閱 2026-10-14
- 其他Claude Code 2.1.14 release summary · Havoptic · 查閱 2026-10-14
- 其他GitHub Advisory Database query for CVE-2026-86063 · GitHub · 查閱 2026-10-17
媒體簡報
一句話
Claude Code 是 Anthropic 的 AI 程式開發代理工具。它在安裝外掛時,雖然讓外掛「鎖定」在某個特定版本,卻沒有檢查實際裝進來的是不是那個版本。若外掛放在允許「長得像雜湊的分支名稱」的 Git 主機(研究人員說 GitHub 不允許)上,且(依官方說法)使用者安裝並鎖定了該外掛,控制外掛儲存庫的攻擊者就可能換上自己的程式碼(研究人員則稱可透過自動更新達成零點擊)。Anthropic 已在 2.1.179 版修補,官方公告於 2026 年 10 月 9 日公開。目前沒有實際遭利用的報告,也未列入 CISA 已知遭利用漏洞清單。
關鍵數字
- 嚴重度
- CVSS 4.0 7.5(CNA);官方 GHSA 為 7.7 cveawg.mitre.org
- 修補版本
- Claude Code 2.1.179 github.com
- 官方公告公開
- 2026-10-09(GHSA-pq7j-f95f-qfcv) github.com
- 回報者
- Air Security 的 Or Nevo Michrowski github.com
- 實際利用
- CISA SSVC 評估為 none(2026-10-13) cveawg.mitre.org
已確認
- Claude Code 與 Claude Desktop 的外掛安裝流程沒有確認取出的 HEAD 等於鎖定的雜湊(官方)。
- Claude Code 2.1.179 已修補;使用標準自動更新者已收到修補(官方)。
- 截至 2026-10-14 未列入 CISA KEV,CISA SSVC 評估實際利用為 none。
尚未確認 / 說法不一
- 是否需要使用者操作:官方與 CVE 紀錄說需要使用者安裝並鎖定外掛,研究人員說可透過自動更新做到零點擊。
- 影響描述:研究人員稱為遠端程式碼執行,官方公告只說會安裝攻擊者的程式碼。
- 此 CVE 與 Air Security 的「Plugin4Shell」研究是否為同一件事,沒有來源明確連結,是 PlainCVE 的判斷。
- Claude Desktop 的受影響版本範圍官方未提供;研究人員部落格原文標 9 月 17 日,CSA 轉述為 18 日。
可引用的一句話
鎖定版本只是一個承諾;沒有在事後核對拿到的東西,承諾就可能落空。
圖片
引用時請標示「PlainCVE」並附上本頁連結。 完整引用格式見下方「如何引用本頁」。有事實錯誤請回報.
Claude Code 外掛雜湊鎖定繞過:鎖定了 commit,裝進來的卻可能是攻擊者的程式碼 Claude Code 是 Anthropic 的 AI 程式開發代理工具。它在安裝外掛時,雖然讓外掛「鎖定」在某個特定版本,卻沒有檢查實際裝進來的是不是那個版本。若外掛放在允許「長得像雜湊的分支名稱」的 Git 主機(研究人員說 GitHub 不允許)上,且(依官方說法)使用者安裝並鎖定了該外掛,控制外掛儲存庫的攻擊者就可能換上自己的程式碼(研究人員則稱可透過自動更新達成零點擊)。Anthropic 已在 2.1.179 版修補,官方公告於 2026 年 10 月 9 日公開。目前沒有實際遭利用的報告,也未列入 CISA 已知遭利用漏洞清單。 關鍵數字: - 嚴重度:CVSS 4.0 7.5(CNA);官方 GHSA 為 7.7(https://cveawg.mitre.org/api/cve/CVE-2026-86063) - 修補版本:Claude Code 2.1.179(https://github.com/anthropics/claude-code/security/advisories/GHSA-pq7j-f95f-qfcv) - 官方公告公開:2026-10-09(GHSA-pq7j-f95f-qfcv)(https://github.com/anthropics/claude-code/security/advisories/GHSA-pq7j-f95f-qfcv) - 回報者:Air Security 的 Or Nevo Michrowski(https://github.com/anthropics/claude-code/security/advisories/GHSA-pq7j-f95f-qfcv) - 實際利用:CISA SSVC 評估為 none(2026-10-13)(https://cveawg.mitre.org/api/cve/CVE-2026-86063) 已確認: - Claude Code 與 Claude Desktop 的外掛安裝流程沒有確認取出的 HEAD 等於鎖定的雜湊(官方)。 - Claude Code 2.1.179 已修補;使用標準自動更新者已收到修補(官方)。 - 截至 2026-10-14 未列入 CISA KEV,CISA SSVC 評估實際利用為 none。 尚未確認 / 說法不一: - 是否需要使用者操作:官方與 CVE 紀錄說需要使用者安裝並鎖定外掛,研究人員說可透過自動更新做到零點擊。 - 影響描述:研究人員稱為遠端程式碼執行,官方公告只說會安裝攻擊者的程式碼。 - 此 CVE 與 Air Security 的「Plugin4Shell」研究是否為同一件事,沒有來源明確連結,是 PlainCVE 的判斷。 - Claude Desktop 的受影響版本範圍官方未提供;研究人員部落格原文標 9 月 17 日,CSA 轉述為 18 日。 「鎖定版本只是一個承諾;沒有在事後核對拿到的東西,承諾就可能落空。」— PlainCVE https://plaincve.date/vulns/cve-2026-86063-claude-code-plugin-pin-bypass
如何引用本頁
本文採 CC BY 4.0,轉載請保留署名與連結。
PlainCVE 團隊(2026)。《Claude Code 外掛雜湊鎖定繞過:鎖定了 commit,裝進來的卻可能是攻擊者的程式碼》。PlainCVE。https://plaincve.date/vulns/cve-2026-86063-claude-code-plugin-pin-bypass(查閱日期:YYYY-MM-DD)BibTeX
@misc{cve202686063claudecodepluginpinbypass2026,
title = {Claude Code 外掛雜湊鎖定繞過:鎖定了 commit,裝進來的卻可能是攻擊者的程式碼},
author = {PlainCVE 團隊},
year = {2026},
howpublished = {PlainCVE},
url = {https://plaincve.date/vulns/cve-2026-86063-claude-code-plugin-pin-bypass},
note = {更新於 2026-10-19}
}