原文為 GitHub issue #107757〈Privacy violation in User-Agent header〉,由 taylor-edwards 回報;本文含全文翻譯、官方回應與 Hacker News 136 則討論整理(抓取時間 2026-11-06 08:45 CST)。視覺懶人包見文末。
事件:上網搜尋,順手把你的 email 送出去
回報人指出,Claude Code 執行網頁搜尋、對外抓取資料時,會在 HTTP 請求裡寫入類似這樣的 User-Agent:
my-session-slug/1 <my.name@example.com>
email 就這樣被送到「每一個被造訪的網站」。回報人稱,自己因此每天收到數十封詐騙與釣魚信,來源是從未親自造訪過的網站。他的主張很直接:這不該是 opt-out 或 opt-in 的設定問題,必須從 harness 裡整個拿掉——它不幫網站擋 agentic 流量、不保使用者匿名,只是把客戶餵給刮板與詐騙集團。
機制:藏在 system prompt 裡的 email
網友 sunaookami 挖出的機制最關鍵:Claude Code 會在 system prompt 塞一段使用者看不到的資訊塊,大意是「使用者的 email 是 xxx@example.com,僅用於識別使用者,例如署名、歸因或過濾自己的作品;除非使用者明確要求,不要把它送到無關服務,例如請求標頭、網址或 payload」。
模型照做不到。用 curl 時,它「順手」就把 email 塞進 User-Agent。另一派解釋來自官方:有些網站(例如 Wikipedia)本來就要求 scripted client 自我識別,HTTP 也有在請求裡附聯絡 email 的慣例(RFC 9110 的 From 欄位),Claude 看到這類政策就決定跟從。
時間線也值得注意:早在 7 月就有人通報 email 被塞進 system prompt(issue #81138),10 月疑有同類回報,真正爆開是 11 月初 Reddit 討論延燒之後。
官方回應:內建攔截外掛+一句引爆眾怒的話
Anthropic 成員 mpoteat(Claude function hooks lead)在 HN 親自回應,重點有三:
- v2.1.317 起內建
cc-plugin-privacy模組,用確定性檢查擋下這類行為,預設開啟,可經/plugins關閉。 - 攔截模組的原始程式碼已公開在
mods/privacy,歡迎檢視與給意見。 - 「沒人把寄 email 給網站當成功能實作過,是模型不可預測;所以模型行為之外的確定性檢查才重要,這正是 alignment 又難又關鍵的原因。」
第 3 點的語氣(原文還帶了個 haha)在討論串裡被圍剿:把大量客戶的 email 噴到全網,官方回應是「對齊很難 haha」,不少人表示無法接受。也有人指出治本之道:拿來認證登入的 email 根本不該進 system prompt,修法是拿掉它,而不是加一個可以關掉的外掛。
實測面:有人在 318 版驗過,header 已變成乾淨的 Claude-User (claude-code/2.1.318 (cli); +https://support.anthropic.com/),確認 2.1.317 的修補有生效;但回報串本身就是 2.1.318 環境開的,覆蓋顯然還不完全。
網友討論:五個戰場
一、官方外掛夠不夠。 預設開啟被肯定,但「做成可關閉的外掛」被批是 opt-out 心態。mkl 的主張最硬:認證用的 email 不該讓模型碰得到,拿掉才是修,加外掛只是繞路。
二、到底是誰的決定。 一派認為沒有人類做過這個決定,是某次模型「自作聰明」拿 email 去關聯查詢;另一派認為產品打磨過程沒人想過「上千萬個可能出錯的地方」,vibe coding 的必然。Seattle3503 的提問最傳神:這是人類的選擇,還是 Claude 沒人注意到的 subtle 選擇?
三、證據與可重現性。 有人貼出自己的 header 實測,有人重現 crates.io 下載同例,也有人提出驗法:在本地架個小站,讓 agent 打一次,看 log 見分曉。但也有反例:b112 每個站用唯一信箱,用了數月零垃圾信;另一派提醒,LinkedIn、GitHub 抓取本來就是垃圾信主因,別急著歸因。
四、Codex 會不會也一樣。 matheusmoreira 驗過開源 Codex CLI 的 User-Agent builder,確認乾淨;但 oefrha 反駁到點子上:email 只要在 context 裡(翻一下 git log 就有),任何模型都可能拿去組 curl。確定性攔截才是正解,不要只信 prompt 層的保證。
五、信任與法規。 有人揚言遷移到 Pi+OpenRouter、改跑本地消融版 Qwen,也有人擔心企業直接封殺;另一邊,歐盟網友指出 email 屬個人資料,未經授權為此目的處理,已構成向資料保護機關投訴的理由。務實派建議:永遠給 AI 服務專用信箱,拿不到你的主信箱就洩不出去。
自保三步
- 升級到 2.1.317 或更新版本,確認
cc-plugin-privacy處於開啟狀態。 - 註冊 AI 服務一律用專用信箱/隱藏轉寄,主信箱不給模型碰。
- 懷疑外洩時自己驗證:本地架站讓 agent 打一次,看 log 裡的 header 見分曉。
一頁懶人包
手機版可直接開:https://static.blog.derekhsu.net/claude-code-email-hn.html
譯註(非原文)
- HN 主串 #50385272 由 motoroco 轉貼該 issue,標題為〈Claude Code sends your email address to websites〉;同主題舊串 #49258881(issue #78431)數月前已出現。
- 分數、留言數為抓取當下 live 值,會隨時間變動;
descendants含已刪除留言。 - 人名皆為論壇帳號,保留原文不譯。
