觀點 · 資訊分享

Claude Code 2.1.207:自動模式不再讀專案內的設定,外掛指令也補上命令注入防護

Claude Code 2.1.207 收緊了幾處信任範圍:自動模式不再讀專案資料夾裡的設定檔,外掛選項只認使用者層級,外掛指令也擋下可能的命令注入。Bedrock、Vertex 的預設模型同時改成 Claude Opus 4.8。

發布
2026-07-12
篇幅
約 4 分鐘 · 1,900 字
結構
7 節 + 3 題常見問題
標籤
#Claude Code#自動模式#外掛安全#Amazon Bedrock#AI 開發工具
Claude Code 2.1.207:自動模式不再讀專案內的設定,外掛指令也補上命令注入防護

一句話看懂:Claude Code 2.1.207 把「專案資料夾裡的檔案能影響什麼」收緊了一圈:自動模式、外掛選項都不再信任專案內的設定,外掛的指令也補上命令注入防護。

Claude Code 2.1.207 收緊信任範圍資訊圖卡:專案裡的檔案,不能再影響自動模式與外掛設定

先用白話講:為什麼專案內的設定不能全信?

想像你接手一間別人留下來的辦公室,抽屜裡有一張紙條寫著:「新來的人,以後做什麼都不用問主管,直接做。」你會直接照辦嗎?應該不會,因為紙條可能是任何人放的。

AI 寫程式工具也有類似的問題。你從網路上複製一個專案下來,裡面可能附帶了設定檔。如果工具無條件相信「專案裡的設定」,那麼設定檔的作者就有機會決定 AI 能做什麼、不用問你。所以比較安全的做法是:能放寬權限的設定,只認「你自己的電腦上、你自己設定的」那一層。

這次 2.1.207 的幾個改動,大多就是在這個方向。官方的版本說明只寫了調整內容,沒有說明是否有人實際利用過這些情況。

發生什麼事

Claude Code 在 7 月 11 日(UTC)釋出 2.1.207,跟安全與信任範圍有關的改動包括:

  • 自動模式:不再讀取專案內 .claude/settings.local.json 的 autoMode 設定,請改放在使用者層級的 ~/.claude/settings.json
  • 外掛選項:pluginConfigs 不再從專案層級的 .claude/settings.json 讀取,只認使用者設定、--settings 與受管設定
  • 外掛指令的注入防護:外掛的 hooks、monitors 與 MCP headersHelper 若在 shell 形式的指令裡用 ${user_config.*},現在會被拒絕
  • 同意對話框:修好非互動執行(claude -p 或 SDK)時,遠端受管設定會被永久記成「已同意」,卻從來沒顯示安全同意對話框的問題
  • 誤報:修好一般的系統訊息被當成提示詞注入而跳出警告的問題

其他重要變更

  • Bedrock、Vertex 與 Claude Platform on AWS 的預設模型,改為 Claude Opus 4.8
  • 自動模式在 Bedrock、Vertex AI 與 Foundry 上,不再需要用環境變數手動啟用;要關閉可以在設定裡用 disableAutoMode
  • 自動更新程式不會再蓋掉你放在 ~/.local/bin/claude 的自訂啟動腳本或捷徑,/doctor 也會告訴你啟動器是外部管理的
  • /usage-credits 的金額輸入會檢查格式,超過 1,000 美元要打字確認
  • Windows 上若 AWS 憑證解析卡住,60 秒的防卡死機制現在會生效,不再無限等待
  • 修好串流輸出很長的清單或表格時,終端機卡住、打字延遲的問題

給開發者的技術細節

升級後,建議檢查三件事:

  1. 自動模式:如果你原本把 autoMode 設在專案的 .claude/settings.local.json,現在要搬到 ~/.claude/settings.json,否則會被忽略
  2. 外掛選項:專案層級的 .claude/settings.json 裡若放了外掛選項值,同樣不再生效
  3. 外掛指令:如果你自己寫外掛,hooks 要改用 exec 形式(用 args 陣列),或讀環境變數 $CLAUDE_PLUGIN_OPTION_<KEY>;monitors 與 headersHelper 則在腳本裡自己讀設定值(設定檔,或伺服器的 env 區塊)

我的看法

這類更新很容易被忽略,因為它們沒有新功能、不會讓 AI 變聰明。但對常在不同專案之間切換、又喜歡開自動模式的人來說,這種「信任範圍」的收緊,其實比多一個指令重要。

我的習慣是把「會放寬權限」的設定,都放在自己的使用者層級,專案資料夾裡只放跟專案本身有關的規則。如果你的團隊把 autoMode 之類的設定提交進版本控制,現在要重新討論:它們能不能放寬,應該由每個人自己決定,而不是被複製來的專案決定。

名詞小辭典

  • 自動模式(Auto mode):讓 Claude Code 在一定範圍內不用每步都問你,自己執行動作的模式。
  • 提示詞注入(Prompt Injection):有人把惡意指令藏在文字、檔案或網頁裡,想騙 AI 照做。
  • 命令注入:攻擊者把惡意指令混進程式要執行的命令字串,讓系統執行不該執行的事。
  • 外掛(Plugin):擴充 Claude Code 功能的附加套件,可以包含指令、掛鉤與工具設定。

資料來源

常見問題

為什麼「專案內的設定」要被收緊?
專案資料夾裡的檔案可能來自別人(例如複製來的程式碼庫),如果它能決定 AI 能不能不經詢問就動作,風險就比較高。官方這次的版本說明只寫了調整,沒有說明是否有人實際利用。
我原本把 autoMode 放在專案的 settings.local.json,現在怎麼辦?
官方的指示是改放在使用者層級的 ~/.claude/settings.json。升級後這個專案層級的設定會被忽略,所以要自己搬過去。
外掛的 shell 指令被拒絕了怎麼改?
官方建議:hooks 改用 exec 形式(用 args 陣列),或使用環境變數 $CLAUDE_PLUGIN_OPTION_<KEY>;monitors 與 headersHelper 則在腳本內自己讀取設定值,例如設定檔或伺服器的 env 區塊。
LINE