觀點 · 資訊分享
Claude Code 2.1.187:沙盒新增 credentials 設定,可擋下指令讀取金鑰檔與機密環境變數
Claude Code 2.1.187 新增 sandbox.credentials 設定:在沙盒裡執行的指令,可以被禁止讀取你列出的憑證檔案與機密環境變數。同版還修正遠端 MCP 工具無回應時一直卡住的問題。
- 發布
- 2026-06-24
- 篇幅
- 約 4 分鐘 · 1,659 字
- 結構
- 6 節 + 4 題常見問題
- 標籤

一句話看懂:Claude Code 2.1.187 新增 sandbox.credentials 設定,可以禁止沙盒內的指令讀取你列出的金鑰檔案與機密環境變數,同版也修好遠端 MCP 工具卡住不動的問題。

先用白話講:為什麼要保護金鑰?
想像你請一位水電工來家裡修水管。你相信他會好好修水管,但不想讓他順便翻你的抽屜,那裡放著存摺和保險箱鑰匙。最好的做法不是「相信他不會翻」,而是把抽屜鎖起來。
Claude Code 在你的電腦上執行指令時,那些指令跟你自己開的終端機一樣,可能讀得到 ~/.aws/credentials 這類檔案,或環境變數裡的 GITHUB_TOKEN。沙盒(sandbox) 是限制這些指令的範圍,這次新增的 sandbox.credentials 就是「鎖抽屜」的設定。
發生什麼事
Claude Code 在 6 月 23 日(UTC)釋出 2.1.187,值得注意的更新:
- 憑證保護:新增
sandbox.credentials設定,阻止沙盒內的指令讀取憑證檔案與機密環境變數 - 組織的模型限制:由組織設定的模型限制,現在也套用在模型選單、
--model、/model與ANTHROPIC_MODEL,選到被限制的模型時會顯示「受組織設定限制」 - 遠端 MCP 工具:呼叫若無回應,現在 5 分鐘後會中止並回報錯誤,不再無限期等待(可用
CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT調整) - 安裝 GitHub App:
/install-github-app現在可以只安裝 App,不必設定 GitHub Actions 流程與機密 - 其他:全螢幕選單支援滑鼠點選、
/plugin會列出久未使用的外掛方便清理、修好貼上韓文與中日文內容變亂碼、清掉被中止代理留下的 git worktree 登記等
給開發者的技術細節
以下取自 Claude Code 文件的現況(頁面在 6 月 23 日之後更新過,欄位與模式可能和當天不同):
{
"sandbox": {
"enabled": true,
"credentials": {
"files": [
{ "path": "~/.aws/credentials", "mode": "deny" },
{ "path": "~/.ssh", "mode": "deny" }
],
"envVars": [
{ "name": "GITHUB_TOKEN", "mode": "deny" },
{ "name": "NPM_TOKEN", "mode": "deny" }
]
}
}
}
- deny 的效果:檔案路徑在沙盒內禁止讀取(與
filesystem.denyRead相同限制),環境變數則在每次沙盒指令執行前移除 - 沒有內建清單:只有你列出的檔案與變數會受限制
- 適用範圍:只影響沙盒內的 Bash 指令;要讓所有子行程都拿不到機密,要另外設定
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB - 檔案系統隔離:檔案保護屬於檔案系統層,若關掉檔案系統隔離就不生效,環境變數保護仍然有效
- mask 模式:文件現況還有「mask」模式,讓指令只看到替身值,由沙盒代理在連到允許的主機時才換成真值。這是版本說明沒提到的後續內容
我的看法
我很喜歡這種「列出來才保護」的設計,雖然要自己列清單有點麻煩,但它逼著你想一次:這台機器上到底有哪些金鑰? 很多人是用到才發現,環境變數、設定檔、SSH 目錄裡躺著一堆高權限憑證。
實務上,我會做的是:先盤點機器上的雲端金鑰與個人存取權杖,把最危險的列進 deny,再用權限規則與最小權限的帳號配合。AI 跑指令的場合,沒有單一設定能保證安全,但每多一層就少一點風險,尤其是還沒開自動模式時,更該把「看得到什麼」先收緊。
名詞小辭典
- 沙盒(Sandbox):把程式限制在受控範圍內執行,避免它碰到不該碰的檔案或網路。
- 環境變數:作業系統提供給程式的一組設定值,常被用來放金鑰與權杖。
- MCP:讓 AI 連接外部工具與資料的通用協定。
- 憑證(Credential):證明身分或授權的東西,例如金鑰檔、存取權杖、密碼。