// 威脅簡報

Claude Code 外掛雜湊鎖定繞過:鎖定了 commit,裝進來的卻可能是攻擊者的程式碼

CVSS
7.5 HIGH
CISA KEV
未列入
弱點類型
CWE-494 · CWE-829

PlainCVE 團隊 · 發布 2026-10-19 · AI 輔助 · 媒體簡報 ↓

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
時間點
  • 首次公開 2026-10-09

藍隊應對手冊

確認、修補 / 緩解、應變、強化。版本符合受影響條件不等於已被入侵;檢查沒有結果也不等於安全,每一項都有能證明與不能證明的範圍。標記的步驟對應下方攻擊流程裡可以擋下攻擊的那一步。

DETECT確認我受影響嗎?有沒有入侵跡象?
  1. 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
  2. 02盤點外掛來源主機

    研究人員指出 GitHub 會拒絕長得像雜湊的分支名稱,Bitbucket 與自架 Git 伺服器則允許。來自後者的外掛是需要優先檢查的對象。這是 PlainCVE 依研究人員說法整理的建議,官方沒有提供偵測指引。

MITIGATE修補 / 緩解先修補;還不能修補時先擋住
  1. 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
  2. 02還不能確認已修補:關閉外掛自動更新

    雲端安全聯盟(CSA)的研究說明指出,關閉外掛自動更新可移除攻擊中「零點擊」的部分。這是第三方建議,不是官方說法。

RESPOND應變發現入侵跡象時
  1. 01移除可疑外掛並輪替憑證

    外掛以使用者本人的權限執行。若在舊版上安裝或更新過來自非 GitHub 主機的外掛、且無法確認內容,PlainCVE 建議移除該外掛,並輪替那台機器上可取得的憑證。這是預防性建議,目前沒有實際遭利用的報告。

HARDEN強化長期避免同類問題
  1. 01只安裝可信來源的外掛

    官方說利用此漏洞需要使用者安裝惡意外掛;鎖定雜湊只是一道防線,不能取代對來源的信任判斷。

  2. 02自己的工具也要「取出後驗證」

    研究人員建議的正確做法:取出後確認實際的 HEAD 完全等於鎖定的雜湊,不符就中止安裝。

完整修復步驟與說明
  1. 確認版本並更新。 在安裝 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. 注意版本說明沒有提到這個修補。 新聞報導指出 2.1.179 的發布說明完全沒有提及此修正,不能靠翻發布說明判斷。
  3. Claude Desktop。 官方沒有給出受影響或修補版本,建議保持最新。
  4. 還無法確認已修補時。 CSA 建議關閉外掛自動更新,以移除零點擊的部分(第三方建議)。

攻擊流程

從左到右是攻擊發生的順序。藍色盾牌代表這一步可以被擋下,越早擋下越好。點圖示可看細節。

由上到下是攻擊發生的順序。藍色盾牌代表這一步可以被擋下,越早擋下越好。點圖示可看細節。

Claude Code 外掛雜湊鎖定繞過:鎖定了 commit,裝進來的卻可能是攻擊者的程式碼: 1. 攻擊者控制某個外掛的上游儲存庫 → 2. 儲存庫裡出現與鎖定雜湊同名的分支 → 3. 使用者安裝外掛,或外掛在背景自動更新 → 4. Claude Code 用 git checkout 取出「鎖定的雜湊」,卻沒檢查結果 → 5. 攻擊者的程式碼被當成外掛安裝CVE-2026-86063 · Claude Code 外掛雜湊鎖定繞過:鎖定了 commit,裝進來的卻可能是攻擊者的程式碼攻擊者你的系統攻擊者控制某個外掛的上游儲存庫 — 依官方公告,外掛來源必須放在允許「長得像 commit 雜湊的分支名稱」的 Git 主機上。 1攻擊者控制某個外掛的上游儲存庫儲存庫裡出現與鎖定雜湊同名的分支 — 官方公告說,控制儲存庫的攻擊者可以讓同名分支指向自己的程式碼。 2儲存庫裡出現與鎖定雜湊同名的分支使用者安裝外掛,或外掛在背景自動更新 — 官方說需要使用者安裝惡意外掛並鎖定在看似安全的雜湊;研究人員則說透過外掛自動更新,完全不需要使用者操作。兩方說法不同。 3使用者安裝外掛,或外掛在背景自動更新Claude Code 用 git checkout 取出「鎖定的雜湊」,卻沒檢查結果 — 舊版沒有確認取出後的 HEAD(目前所在版本)真的等於鎖定的 40 字元雜湊,於是可能取出同名分支而不是原本的 commit。 4Claude Code 用 gitcheckout 取出「鎖定的雜湊」,卻沒檢查結果攻擊者的程式碼被當成外掛安裝 — 外掛以使用者本人的權限執行,可能接觸檔案、已儲存的憑證和使用者能登入的系統(新聞報導的描述)。 5攻擊者的程式碼被當成外掛安裝攻擊路徑可在此擋下PlainCVE · plaincve.date/vulns/cve-2026-86063-claude-code-plugin-pin-bypass · CC BY 4.0
Claude Code 外掛雜湊鎖定繞過:鎖定了 commit,裝進來的卻可能是攻擊者的程式碼: 1. 攻擊者控制某個外掛的上游儲存庫 → 2. 儲存庫裡出現與鎖定雜湊同名的分支 → 3. 使用者安裝外掛,或外掛在背景自動更新 → 4. Claude Code 用 git checkout 取出「鎖定的雜湊」,卻沒檢查結果 → 5. 攻擊者的程式碼被當成外掛安裝CVE-2026-86063 · Claude Code 外掛雜湊鎖定繞過:鎖定了 commit,裝進來的卻可能是攻擊者的程式碼攻擊者控制某個外掛的上游儲存庫 — 依官方公告,外掛來源必須放在允許「長得像 commit 雜湊的分支名稱」的 Git 主機上。 1攻擊者攻擊者控制某個外掛的上游儲存庫儲存庫裡出現與鎖定雜湊同名的分支 — 官方公告說,控制儲存庫的攻擊者可以讓同名分支指向自己的程式碼。 2攻擊者儲存庫裡出現與鎖定雜湊同名的分支使用者安裝外掛,或外掛在背景自動更新 — 官方說需要使用者安裝惡意外掛並鎖定在看似安全的雜湊;研究人員則說透過外掛自動更新,完全不需要使用者操作。兩方說法不同。 3你的系統使用者安裝外掛,或外掛在背景自動更新Claude Code 用 git checkout 取出「鎖定的雜湊」,卻沒檢查結果 — 舊版沒有確認取出後的 HEAD(目前所在版本)真的等於鎖定的 40 字元雜湊,於是可能取出同名分支而不是原本的 commit。 4你的系統Claude Code 用 git checkout 取出「鎖定的雜湊」,卻沒檢查結果攻擊者的程式碼被當成外掛安裝 — 外掛以使用者本人的權限執行,可能接觸檔案、已儲存的憑證和使用者能登入的系統(新聞報導的描述)。 5攻擊者攻擊者的程式碼被當成外掛安裝攻擊路徑可在此擋下PlainCVE · CC BY 4.0plaincve.date/vulns/cve-2026-86063-claude-code-plugin-pin-bypass
圖片可自由用於報導與教學,採 CC BY 4.0,圖上已附出處。
  1. 攻擊者

    攻擊者控制某個外掛的上游儲存庫

    依官方公告,外掛來源必須放在允許「長得像 commit 雜湊的分支名稱」的 Git 主機上。

    防禦: 只安裝來源可信的外掛;留意外掛來自哪個 Git 主機。

  2. 攻擊者

    儲存庫裡出現與鎖定雜湊同名的分支

    官方公告說,控制儲存庫的攻擊者可以讓同名分支指向自己的程式碼。

  3. 你的系統

    使用者安裝外掛,或外掛在背景自動更新

    官方說需要使用者安裝惡意外掛並鎖定在看似安全的雜湊;研究人員則說透過外掛自動更新,完全不需要使用者操作。兩方說法不同。

    防禦: 無法確認已修補時,關閉外掛自動更新(CSA 建議,第三方),可移除「零點擊」這條路。

  4. 你的系統

    Claude Code 用 git checkout 取出「鎖定的雜湊」,卻沒檢查結果

    舊版沒有確認取出後的 HEAD(目前所在版本)真的等於鎖定的 40 字元雜湊,於是可能取出同名分支而不是原本的 commit。

    防禦: 升級到 Claude Code 2.1.179 以上。

  5. 攻擊者

    攻擊者的程式碼被當成外掛安裝

    外掛以使用者本人的權限執行,可能接觸檔案、已儲存的憑證和使用者能登入的系統(新聞報導的描述)。

    防禦: 若懷疑已安裝被替換的外掛,移除它並輪替該機器上的憑證(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-06Air Security 私下通報廠商
6 月 16 日v2.1.179 的 GitHub 發布頁顯示的日期(頁面未顯示年份)
2026-06-17Anthropic 確認修補(新聞依研究人員說法)
2026-09-04CVE 編號保留
2026-09-17Air Security 在自家部落格公開「Plugin4Shell」研究(第三方研究,不是專案公告;部落格原文標 17 日,CSA 轉述為 18 日,以原文為準)
2026-10-09Anthropic 安全公告 GHSA-pq7j-f95f-qfcv 公開;這是專案自己最早的公開內容,本頁以此為首次公開日(早於 10 月 13 日的 CVE 紀錄;專案 issue 與 2.1.179 發布說明都沒有提到這個問題)
2026-10-13CVE 紀錄公開;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 · 審稿規則

驗證紀錄只寫環境與結果,不公開重現步驟或可攻擊他人系統的程式。詳見 政策.

來源

  1. 安全公告GHSA-pq7j-f95f-qfcv — Plugin Commit SHA Pin Bypass Allows Installation of Attacker-Controlled Code · Anthropic (GitHub), 2026-10-09 · 查閱 2026-10-14
  2. CVE / NVD / OSVCVE-2026-86063 record · CVE Program, 2026-10-13 · 查閱 2026-10-14
  3. CVE / NVD / OSVNVD API - CVE-2026-86063 · NIST · 查閱 2026-10-14
  4. 修補 commit / 版本Claude Code v2.1.179 release · Anthropic (GitHub) · 查閱 2026-10-14
  5. 其他Claude Code docs - Advanced setup (update Claude Code) · Anthropic · 查閱 2026-10-14
  6. 新聞報導Plugin4Shell: AI coding agents Claude Code, Codex, Copilot, Gemini CLI · aicybr · 查閱 2026-10-14
  7. 其他Claude Code 2.1.14 release summary · Havoptic · 查閱 2026-10-14
  8. 其他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 日。

可引用的一句話

鎖定版本只是一個承諾;沒有在事後核對拿到的東西,承諾就可能落空。

圖片

下載分享圖(PNG) · 攻擊流程圖(可下載)

引用時請標示「PlainCVE」並附上本頁連結。 完整引用格式見下方「如何引用本頁」。有事實錯誤請回報.

如何引用本頁

本文採 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}
}