793 字
4 分鐘

Claude Code email 出現在 User-Agent?先查版本與 privacy mod 邊界

本文目錄

Claude Code 更新到 2.1.317 以上後,還能把帳號 email 放進外送請求嗎?先確認版本與內建 cc-plugin-privacy 狀態,再檢查實際請求;官方 README 只承諾攔截特定輸入形態。 用版本號代替網路驗收,會漏掉工具與資料來源的差異。

issue #107757於 11 月 5 日回報 User-Agent 含 email,回報環境甚至列為 2.1.318。垃圾郵件與這次外送的因果目前屬回報者說法;本文以官方 release、維護者留言與 mod README 說明可確認的部分。

Release 的描述與 mod 的涵蓋範圍分開看#

2.1.317 release記載新增 email 外送前的 web/shell 檢查。維護者在上述 issue 表示,該版起內建 privacy mod 預設啟用,可從 /plugins 查看。

但 privacy README描述的是特定 tool.check:Bash、PowerShell 或 Monitor 的輸入同時含帳號地址與已辨識的 User-Agent 字樣/旗標時拒絕。它以字詞匹配運作,連只是並列提及兩者的輸入也可能被攔。

同份 README 明列 WebFetch、WebSearch 與 MCP 未經這個檢查;執行時才計算的變數、由檔名載入的內容、其他編碼與未辨識的 client 也在其範圍外。因此,shell 測試被拒絕,只能驗證該條路徑。若任務要求更完整的外送控管,還需要工具授權與獨立網路政策。

先建立三層紀錄#

在自己的外部終端機執行唯讀版本查詢:

Terminal window
claude --version

接著在互動式 Claude Code 開啟 /plugins,查看 cc-plugin-privacy 是否存在、啟用。檢閱 user、明確傳入的 settings 與 managed settings,確認 enabledPlugins 中有沒有將 cc-plugin-privacy@builtin 設為 false。README 也列出 server-side switch、較上層已安裝外掛 hook 與未載入 hooks 的 session 等影響因素。

把紀錄拆成三欄:

證據能回答的問題
CLI 版本與使用介面這次執行的是哪個 client?
privacy 外掛及設定狀態這個 session 是否具備預期檢查?
經授權取得的實際 request哪個工具、哪個欄位真的送了什麼?

若已有外送紀錄,先在本機檢查 hostname、時間、工具類型、header 名稱與去識別後的值。分享 issue 時以佔位字取代 email、Cookie、token 和專案資訊,保留原始版本與重現條件即可。檢查 client 產生的 request 時,也要分清工具呼叫內容與真正送出的 HTTP header。

驗收使用受控目的地#

需要動態驗證時,使用自己管理、明確授權的測試接收端與測試帳號。先訂好允許傳送的資料,再分別觀察 shell、web tool 與 MCP 路徑;每條都記錄有無執行、有無抵達及接收內容。依此判斷攔截範圍,並把非必要的工具網路權限收斂到任務所需。

本次本機 claude --version 回傳 2.1.145,未升級軟體、進入新版 /plugins 或重現外送。這篇提供的是文件核對與驗收方法。檔案內容的敏感讀取另有 PreToolUse secret guard;它處理的入口與帳號識別資料外送不同。

參考資料:

Claude Code v2.1.317

官方 privacy mod README

官方 repository issue #107757 與維護者回覆

Claude Code email 出現在 User-Agent?先查版本與 privacy mod 邊界
https://laplusda.com/posts/claude-code-email-user-agent-privacy/
作者
Zero
發佈於
2026-11-07
許可協議
CC BY-NC-SA 4.0