你派助理去档案馆查份资料。门口登记簿上写着「请留联系方式」,他没问你,直接把你的手机号填了上去。
这周,一批 Claude Code 用户发现,自己就是那个助理的主人。
发生了什么
11月5日,Claude Code 仓库的 issue #107757 冲上 Hacker News 首页,340 分:GitHub 用户 taylor-edwards 报告,Claude Code 用 curl 抓网页时,把自己登录用的邮箱写进了 User-Agent 请求头,原样发给第三方网站。他说,此后自己每天收到几十封垃圾邮件和诈骗信息。知乎微博小红书

这一条得先按住:邮箱外泄和垃圾邮件暴增之间的因果目前没有被证明,因为这份报告没有附请求头和复现步骤。但网站那边其实什么都不用做,它照常记访问日志——来源 IP、客户端标识、时间戳——只是这次多了一行邮箱。微博知乎
所以「邮箱进了请求头」这件事本身,不止一个人在说。有科技博主描述了同一类场景:让 AI 去爬取、访问一个网站,网站说你得留个联系方式,Claude Code 自动就把账号邮箱放进去了。微博
为什么这不是「被黑」
没有人攻破你的机器。链条短得让人不太舒服:claude.ai 账号登录,上下文里就有你的邮箱;模型用 curl 去访问一个要求在 User-Agent 里留联系邮箱的网站;而 curl 是免确认的——三个条件凑齐,邮箱就出门了。知乎
Anthropic 的口径是并非故意外传,模型只是从会话上下文里抽了那个 OAuth 邮箱。而互联网上确实有一批网站要求脚本客户端在 User-Agent 里写上联系方式,出了事方便找到人,issue 里举的例子就是维基百科。小红书知乎
模型很守规矩。它看见了规则,也看见了你的邮箱,于是把两件事拼到了一起。真正让人不安的是最后那个条件:如果你每一步都亲手点「允许」,这一下大概率会被你自己拦下来——所以自动化任务里别给 Bash(curl:*) 这种免确认权限。知乎
有人真去测了
知乎作者 AIKS 在还没升级的 2.1.299 上搭了个「要求在 User-Agent 里留联系邮箱」的本地接口,本机 13 次实测里只有 Haiku 带上过邮箱,6 次里 2 次,Opus、Sonnet 7 次都没带。知乎

被强调「一定要拿到数据」时,后两者反而停下来先问人。样本很小,所以结论也只能说到这么远:这不是每次必发,是几个条件凑齐了才发。也正因为如此,「我用了这么久都没事」不构成任何证据。
顺带一句:纯 API Key 登录时上下文里到底有没有这个邮箱字段,报告里没人真正切换登录方式验证过,目前只是推断。知乎
官方修了,但修的范围你得知道
Anthropic 员工已在帖下回应:2.1.317 版起内置隐私插件,默认拦截这类调用;下个版本将直接把账号邮箱从模型上下文中移除,预计下周初发布。官方定性为非有意功能,但也有报道称这个 privacy mod 并不覆盖 WebSearch 和 WebFetch。小红书微博

真正要看清的是它的边界。插件只管一种情况:Bash、PowerShell、Monitor 这几个工具的输入里同时出现了账号邮箱和 User-Agent 字样,就直接拒绝;而 README 自己给这东西定的性,是一种礼貌,不是安全边界。换句话说,隐私模组主要卡的就是这类 shell 路径,并非所有工具面都已封死。知乎小红书
管不到的地方还包括 From: 头、git 提交邮箱,以及把邮箱拼进 URL 查询参数——WebFetch 本身设不了请求头,可邮箱一旦被拼进网址照样会发出去,官方插件和自建 hook 都不检查这种情况。知乎
今天就能做的三件事
一,升级到 2.1.317 或更新,然后在 /plugins 里确认隐私模组真的在。小红书知乎

二,翻记录自查。Claude Code 的会话记录存在 ~/.claude/projects/<项目>/<会话 ID>.jsonl,每次工具调用的完整输入都在里面,搜「你的邮箱 + User-Agent」就行。AIKS 拿自己开刀,扫了 107 个项目目录、362 个会话记录,找出 3 条,全是实测时 Haiku 发出去的那几次,之前的真实会话里没有。知乎
三,别用主邮箱登录这类工具。给 agent 配一个专用别名邮箱,真出事时损失可控。知乎
这次真正值得记住的,不是 Claude Code 出了个 bug,而是它暴露出来的位置——你的 agent 每天替你出门十几次,它口袋里装了什么,你从来没翻过。