Plugin4Shell 是什麼?Claude Code 外掛漏洞更新到哪版

目錄

💡 核心結論速覽 (TL;DR)

  • Plugin4Shell 是外掛被偷換的漏洞:鎖定的 commit 會被同名分支換掉,背景更新就會中,不用你點。
  • 修補線:Claude Code 2.1.179、Codex 0.146.0、VS Code 1.136.0 以上;Gemini CLI 不修。
  • GitHub 上的外掛風險低:Bitbucket、自架 Git 才要小心。
  • 今天就做:跑 claude --version、codex --version,低於修補線就更新。

Plugin4Shell 這個名字聽起來很嚇人,但對多數人來說答案只有一句:Claude Code 更新到 2.1.179 以上、Codex 更新到 0.146.0 以上,就修好了。

要多想一步的只有兩種人:還在用 Gemini CLI 的人,這個漏洞不會修;裝了放在 Bitbucket 或公司自架 Git 上的外掛的人,風險比放在 GitHub 的高。

我每天用 AI 超過 10 小時,寫程式是 Codex 和 Claude Code 分工:需要圖片的任務先丟 Codex,再用 Claude Code 細修。看到這則新聞,我第一件事是在自己的 Windows 11 桌機上,把版本號和外掛清單翻出來。

下面先用白話講它怎麼發生、4 家工具修到哪裡,再把我實際跑的自查步驟列給你。你手上用的是哪一家?


Plugin4Shell 是什麼?外掛不用你點,背景更新就可能被偷換程式碼

Plugin4Shell 是 AIR Security 在 2026 年 9 月 17 日公開的外掛供應鏈漏洞,影響 Claude Code、Codex、GitHub Copilot、Gemini CLI 四家的外掛安裝流程,屬於不用點擊就能遠端執行程式碼的高風險類型。

白話講:外掛市集會把每個外掛「鎖」在一個審過的 commit 編號上,意思是你裝到的就是被檢查過的那一版。問題出在這些 AI 工具照編號抓完程式碼,沒有回頭確認抓到的真的是那一版。

Git 有個規則:如果有分支的名字剛好跟 commit 編號一模一樣,它會先拿分支。控制外掛儲存庫的人只要開一個這樣命名的分支,你的工具就可能裝到他後來放進去的內容,畫面上卻還顯示「已鎖定審過的版本」。

最麻煩的是「不用點」。Claude Code 和 Codex 預設會在背景自動更新外掛,市集一更新鎖定的版本,你什麼都沒按,換過的程式碼就進來了。

我算過這次的時間線:研究團隊 5 月發現、6 月私下通報四家廠商,9/17 才公開,中間隔了約 3 個月,所以多數工具在新聞出來前就修好了。

下一步:先別急著把外掛全刪,往下看你用的工具修到哪一版。


Plugin4Shell 修補狀態:Claude Code、Codex、Copilot、Gemini CLI 一張表

4 家裡有 3 家已經修好:Claude Code 2.1.179、Codex 0.146.0、VS Code 1.136.0(Copilot)以上就安全;Gemini CLI 已停止支援,Google 確認不會修。

工具修好的版本確認時間你要做的事
Claude Code2.1.179 以上2026/6/17跑 claude --version
Codex0.146.0 以上2026/7/29 釋出跑 codex --version
GitHub CopilotVS Code 1.136.0 以上2026/9/2 釋出VS Code「說明 → 關於」看版本
Gemini CLI不修2026/8/4 確認改用 Antigravity 或其他工具

Anthropic 另外替 Claude Code 登記了 CVE-2026-86063,等級是高風險,範圍也包含 Claude Desktop,桌面版記得一起更新到最新。

Codex 0.146.0 的更新紀錄裡有一條「Verify Git plugin SHA checkouts」,補的就是「抓完要比對編號」這一步。

我自己的判斷是:版本號過了修補線就安全,不一定要追最新版;但 Gemini CLI 沒有修補線可以過,繼續用就是一直開著這個洞。

下一步:把表裡你有在用的那一列記下來,接著照下一段的 3 步自查。


Plugin4Shell 自查 3 步:我用自己的桌機跑了一遍

自查只要 3 步:看版本號、看外掛放在哪裡、低於修補線就更新,我在自己的 Windows 11 桌機上跑完不到 5 分鐘。

  • ❶ 看版本號:終端機輸入 claude --version、codex --version,對照上一段的修補線。
  • ❷ 看外掛從哪裡來:在 Claude Code 輸入 /plugin 看已裝的外掛和市集,放在 GitHub 的風險最低,Bitbucket、自架 Git 要特別留意。
  • ❸ 低於修補線就更新:Claude Code 跑 claude update,用 npm 裝的就重裝最新版;Copilot 把 VS Code 更新到 1.136.0 以上。

我在桌機上跑 claude --version,顯示 2.1.231。我換算了一下,比修補線 2.1.179 多了 52 個小版號,已經在安全範圍;不過 npm 上最新已經出到 2.1.318,我這台的 claude 指令其實落後了 87 版。

外掛那邊,我把 Claude Code 的外掛清單翻出來:我只裝了 1 個外掛,登記的 2 個市集,一個是官方的 claude-plugins-official,一個是 TypeSafe 的 skills,兩個都放在 GitHub 上。TypeSafe 的 Jev 我拿來接走哪一段判斷、額度怎麼算,之前寫過。

我這台桌機的 PowerShell 找不到 codex 指令,代表這台的 Codex 不是用命令列裝的;用 CLI 的人照跑就好,我查的時候 npm 上的版本是 0.166.0。

下一步:跑完版本號,順手把外掛清單裡你不認得的那幾個記下來,最後一段會用到。


為什麼放在 GitHub 的外掛比較安全?關鍵在一條命名規則

放在 GitHub 的外掛比較安全,是因為 GitHub 直接拒絕 40 位十六進位的分支名稱,這個手法在 GitHub 上用不出來;Bitbucket 和自架 Git 伺服器允許這種命名,才是高風險來源。

這也是為什麼有第三方報導轉述 GitHub 的說法:主機那一端的規則已經擋住主要手法。不過「主機會擋」不等於「工具修好了」,能更新還是要更新。

對團隊來說這條規則更重要。如果你們像我在Claude Code 外掛設定心法那篇講的,把外掛設定跟著 git 帶給全隊,一個人加了自架 Git 上的外掛,全隊都會吃到同一個來源。

下一步:外掛清單裡如果有不是 GitHub 的來源,先確認那個儲存庫是誰在維護。


Copilot 修了嗎?9 月「還沒修」的報導已經過時

VS Code 裡的 GitHub Copilot 已經修好:AIR 後來補充的修補時間線寫明,Microsoft 在 9 月 2 日釋出的 VS Code 1.136.0 改成會檢查抓到的 commit 是否等於鎖定的編號。

9 月中那波新聞多半寫「Copilot 還沒修」,那是 AIR 補充前的資訊。我算了一下,1.136.0 比 9/17 公開還早 15 天釋出,只是 VS Code 那一版的更新說明沒有單獨點名這個漏洞,所以很多人以為還沒修。

Copilot CLI 我查不到單獨的修補說明。用 CLI 的人,我的做法是先更新到最新版,外掛只裝放在 GitHub 上、自己認得的來源。

下一步:打開 VS Code 的「說明 → 關於」,版本在 1.136 以上,這一項就不用再擔心。


Gemini CLI 用戶怎麼辦?Plugin4Shell 不會修,直接換工具

Gemini CLI 不會修:Google 在 8 月 4 日確認它已停止支援、不推修補,建議改用 Antigravity;已經裝著的 Gemini CLI 會一直留著這個洞。

Gemini CLI 6 月就停止支援了,它停了之後還能不能用、改用 Antigravity CLI 要花多少,我在之前那篇比過。這次多了一個非換不可的理由。

我不推薦「先關掉自動更新、繼續用」這種折衷。沒修補的工具關掉自動更新,只是少一個觸發點,洞還在;已經修好的工具關掉自動更新,反而會錯過下一次修補。

要換的話,Antigravity 是 Google 自己指的路;已經在付 Claude 或 ChatGPT 的人,Codex 和 Claude Code 的額度、跑分怎麼比,搬家要搬什麼可以一起看。想換成編輯器型的工具,Cursor 20 美元方案夠不夠用、退款要趁多早我也算過。

下一步:把 Gemini CLI 裡用到的外掛和設定列出來,換工具前先確認新工具有沒有對應的功能。


Plugin4Shell 之後外掛還能裝嗎?我現在只留每天會用的

外掛還是可以裝,前提是工具已更新到修補版、外掛放在 GitHub、而且你真的每天會用。這次的漏洞說穿了就是:裝得越多、來源越雜,被偷換的機會越多。

帶產品帶久了,我看任何新外掛,第一個問題都是誰會用、多久用一次,兩題答不出來的就不裝。我現在的 Claude Code 只裝了 1 個外掛,對我來說剛好夠用。

省額度也是同一套邏輯。我的習慣是便宜的那支先做粗胚、貴的那支只拿來細修,工具分工清楚,就不需要一直加外掛補功能。

  • ✅ 適合繼續裝外掛:工具在修補版以上、外掛放在 GitHub、你知道是誰在維護。
  • ❌ 先別裝:還在用 Gemini CLI、外掛放在 Bitbucket 或公司自架 Git、只是看別人推薦就想裝。
  • 💰 成本:更新本身不用錢。我每個月的 AI 訂閱費加總超過 US$400,外掛出事後重設金鑰、重建環境的時間,比訂閱費貴得多。

還在想要不要同時付兩家的人,Claude Code 接 Codex 要不要付兩份錢、哪個開關先別開我算過額度表;方案本身怎麼選,可以看Claude 四檔方案我怎麼算差價和ChatGPT 三檔方案從 Go 升 Plus 多付的錢值不值。只想先用免費的,我每天在用的 8 款免費 AI 工具也可以參考。

下一步:把外掛清單裡一個月沒用過的先移除,留下的逐一確認來源。


懷疑裝到被換過的外掛?先做這 4 件事

如果你在修補前裝過來源不明的外掛,先做 4 件事:更新工具、移除可疑外掛、換掉金鑰與權杖、檢查最近的程式碼變更。順序有差,先把入口關掉,再處理可能外流的東西。

  • ❶ 先更新工具:照上面的表,更新到修補版以上。
  • ❷ 移除可疑外掛:來源不是 GitHub、或你不認得維護者的先拿掉。
  • ❸ 換掉金鑰與權杖:放在環境變數、設定檔裡的 API key 和 GitHub token 都換一輪,團隊的密碼和金鑰放哪裡比較安全、1Password 和 Bitwarden 成本差多少可以參考。
  • ❹ 看最近的程式碼變更:用 git log 檢查有沒有不是你提交的改動。

AI 代理能動到的範圍越大,出事的代價就越高。資安署建議的五項 AI 代理防護,個人做得到哪三項我逐條算過;AI 改完程式碼後,怎麼用帶人的 5 道關卡驗收也值得一起設。

下一步:今天先做 ❶ 和 ❷,❸ ❹ 排進這週。


FAQ 常見問題

Claude Code、Codex 要不要馬上更新?

版本已在修補線以上就不用急:Claude Code 2.1.179、Codex 0.146.0、VS Code 1.136.0。低於這幾版就今天更新;Gemini CLI 沒有修補版,建議直接換工具。

沒裝任何外掛也會中這個漏洞嗎?

這個漏洞走的是外掛安裝和自動更新的流程,沒裝外掛就沒有這條路。不過工具還是建議更新到修補版,之後要裝外掛就不用再想這件事。

Claude Code 的外掛要關掉自動更新嗎?

已經更新到 2.1.179 以上就不建議關,關了反而會錯過之後的修補。只有暫時沒辦法更新、或用的是不會修的 Gemini CLI,關自動更新才有一點意義,但洞還在。

用 Copilot 的人要做什麼?

VS Code 裡的 Copilot,把 VS Code 更新到 1.136.0 以上就好;Copilot CLI 查不到單獨的修補說明,先更新到最新版,外掛只裝 GitHub 上認得的來源。

Gemini CLI 停止支援要換什麼?

Google 建議 Antigravity;已經在付 Claude 或 ChatGPT 的人,也可以直接用 Claude Code 或 Codex。換之前先列出原本用的外掛,確認新工具有對應功能。


結論:先看版本號、再看外掛來源,這次就能安心

這次的漏洞看起來很大,處理起來其實很小:3 家已經修好,跑一次版本指令就知道自己安不安全;真正要動手的是 Gemini CLI 用戶,和裝了非 GitHub 外掛的人。

我自己的結論是外掛照用,但只留每天會用、來源認得的那幾個。AI 工具的資安消息我會持續追,想第一時間收到,可以訂閱我的部落格,會不定期收到信。

想知道我平常怎麼搭配這些 AI 工具,可以看看夜羽凌的自我介紹。


參考資料

 

延伸閱讀