Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
獨立知識媒體
與任何項目無關聯
學會用 Claude,每件事都做得更好
claudeskill-me.com
最新
用 OpenTelemetry 看 Claude Code 的壓縮與 hook:compaction、hook_execution_complete 與 precompute_reuse 欄位怎麼讀  ·  Bash 權限規則的盲區:deny 擋不住 /bin/rm、bash -c 與 git -C,devbox run * 還會放行內層任何命令  ·  CLAUDE.md 太長了怎麼辦:用 .claude/rules/ 與 paths 讓規則只在碰到特定檔案時才載入  ·  沙盒裡跑 Chromium 出現 No usable sandbox!:--no-sandbox、excludedCommands、allowNestedUserNamespaces 三種解法各放棄什麼  ·  Claude Code v2.1.309:沙盒啟動檔不再在沙盒外執行、denyWrite 經 symlink 失效等一批沙盒與權限缺口修正  ·  auto mode 的 $defaults 陷阱:autoMode.soft_deny 少放一個字串,內建的 force push 攔截規則就整批消失
news

Claude Code v2.1.309:沙盒啟動檔不再在沙盒外執行、denyWrite 經 symlink 失效等一批沙盒與權限缺口修正

30 秒速讀
沙盒的價值取決於你對它的假設,v2.1.309 修的正是這些假設:啟動檔、symlink、設定檔、重新導向。

完整解析 +
01 · 為什麼發生?

我該升級嗎?

如果你把沙盒當成無人值守 session 的主要防線,建議升級到 v2.1.309 以上。更新說明沒有說明是否有人利用過這些缺口,所以緊迫程度取決於你的使用方式,而非一個已知的攻擊事件。

02 · 運作原理是什麼?

我的腳本會壞嗎?

兩個地方可能:用 claude ultrareview 的腳本現在要加 --trust-workspace 或設 CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1;依賴 /rewind 還原 sed -i 的流程也不再成立。

03 · 如何應用

npm 的 stable 標籤會是這個版本嗎?

我沒有查證 v2.1.309 目前在 npm 各標籤的對應。先前的 rm 繞過事件顯示 stable 標籤可能落後,升級後請用 claude --version 確認實際版本。

04 · 我該怎麼做?

不是工程師,一句話懂這則新聞?

就像大樓的門禁:這次不是換門,而是修好幾個「看起來上鎖、其實有縫」的地方。更新說明沒說有人鑽過這些縫,但修掉總比留著好。

完整內容 +

Claude Code v2.1.309(2026-10-22)的更新說明裡,沙盒與權限的修正占了大半。同一週的 v2.1.304 到 v2.1.307 也有幾項安全相關的調整。以下全部引自官方 changelog;「這代表什麼」的部分是我的推論,會明說。

v2.1.309:沙盒修正

  • macOS 與 Linux 上,沙盒化的 Bash 命令原本會在每條命令之前,於沙盒外執行 shell 的啟動檔,現已修正。
  • macOS 沙盒的 denyWrite glob 在該資料夾是透過 symlink 抵達時,原本不會套用在路徑的真實位置,現已修正。官方沙盒文件也寫了 macOS 上被拒絕的路徑經過 symlink 時,會連真實位置一起拒絕。
  • 沙盒化命令與自動接受的編輯,原本能修改用 --mcp-config 傳入的 MCP 設定檔,現已修正。
  • Linux:背景命令比 session 活得更久時,沙盒的寫入拒絕會失效,現已修正。
  • 被設定排除在沙盒外的命令,在沙盒已啟用卻無法執行時,寫入沙盒的寫入清單路徑前會先詢問,沒沙盒的後備路徑被拒絕。

v2.1.309:權限檢查的缺口

  • Bash 權限檢查原本會信任「由一條重新導向可能開檔失敗的命令所設定的變數」,現已修正。
  • 先 cd 再跑 git 的複合命令,若 cd 被包起來或加了前綴,原本不會像單純的 cd 那樣跳出確認,現已修正。
  • Edit(path) 的 deny 規則,在有子 shell 的某些命令裡擋不住指向該路徑的重新導向,現已修正。
  • Windows:PowerShell 對某些針對目前目錄並帶額外參數的 Set-Location/cd 會自動核准,現在改為詢問。
  • print 與 SDK session 裡,已停用的 MCP 伺服器原本會被之後的權限提示重新連線,現已修正。

行為變更,升級前要知道

  • sed -i 現在當作一般 Bash 命令詢問並照原樣執行,不再是模擬的檔案編輯預覽,也不會被 /rewind 還原。如果你習慣用 /rewind 撤銷 sed -i,這個保護沒了。
  • claude ultrareview 需要 workspace trust:在終端機會詢問,否則拒絕。腳本要傳 --trust-workspace(不接值,PR 編號或 base branch 要放在它前面),或設 CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1。
  • Desktop app 與 VS Code 的 bypass permissions 模式下,危險的 rm/rmdir 現在立刻拒絕並附改寫提示,讓無人值守的 session 繼續跑。
  • 太大的巢狀 CLAUDE.md 現在只載入開頭,避免讀到它之後 session 反覆壓縮。

同週其他幾項

  • v2.1.304:對掛載磁碟或頂層資料夾(例如 /Volumes、/media、/mnt/c)的 rm -r 現在會跳安全提示。
  • v2.1.307:新增 claude_code.safety_event OpenTelemetry 事件,對每個被權限規則、auto mode、安全檢查、hook 或沙盒擋下、詢問或退回的工具呼叫發出一次。
  • v2.1.305:新增 sandbox.allowNestedUserNamespaces,官方明說這會讓沙盒化命令繞過沙盒的檔案保護。

這代表什麼(我的判斷)

更新說明只寫「修了什麼」,沒有說明是否有人實際利用過,也沒有給 CVE 編號,我也沒找到獨立來源說明利用情況,所以不要把它讀成「已有攻擊事件」。比較有用的角度是:這批修正集中在「沙盒與權限檢查的邊角」,也就是你在沙盒上依賴的假設(啟動檔不在沙盒外跑、deny 規則經過 symlink 仍有效、設定檔不被沙盒內命令改寫)。如果你的團隊把沙盒當成無人值守 session 的主要防線,值得升級到 v2.1.309 以上;是否真的需要,取決於你是否用到上面這些路徑,這一點我無法替你判斷。

資料來源:Claude Code changelog - Claude Code Docs、Configure the sandboxed Bash tool - Claude Code Docs
提問
請至少輸入 10 個字
相關文章
用 OpenTelemetry 看 Claude Code 的壓縮與 hook:compaction、hook_execution_complete 與 precompute_reuse 欄位怎麼讀
advanced · 10/23
Bash 權限規則的盲區:deny 擋不住 /bin/rm、bash -c 與 git -C,devbox run * 還會放行內層任何命令
practice · 10/23
CLAUDE.md 太長了怎麼辦:用 .claude/rules/ 與 paths 讓規則只在碰到特定檔案時才載入
beginners · 10/23
沙盒裡跑 Chromium 出現 No usable sandbox!:--no-sandbox、excludedCommands、allowNestedUserNamespaces 三種解法各放棄什麼
advanced · 10/23
相關新聞