Claude Code 被开发者发现会把用户的登录邮箱写进联网请求的 User-Agent 头,发给它访问的第三方网站。11 月 5 日,用户 taylor-edwards 在 Claude Code 的 GitHub 仓库提交问题报告,称自己因此每天收到大量诈骗邮件,并表示公司将改用 Pi 加 OpenRouter 的组合。
报告者用的是 macOS 上的 2.1.318 版。这条报告一天内收到近 90 条评论、600 多个点赞。
邮箱是怎么跑出去的
根据 Anthropic 员工和评论区的说明,起因是一个看起来无害的改动:为了不让模型在代码注释的 author 等字段里乱编作者名,Claude Code 把已登录账户的邮箱放进了模型上下文。
模型自己写 curl 命令抓网页时,会把这个邮箱当成联系地址塞进 User-Agent。部分网站确实要求脚本客户端在 UA 里留联系邮箱,维基百科就是一例,模型照着这个惯例做了,结果是用户邮箱被发给了它顺路访问的任何站点。
Anthropic 的 Lydia Hallie 回应:
“We’re removing the account email address from the context Claude Code gives the model.” (我们正在把账户邮箱从 Claude Code 提供给模型的上下文里移除。)
她还写道 “this should not have happened, and we should’ve caught this behavior earlier.”,并称修改会在下一版发布,预计下周初。截至发稿,这个版本还没有上线,问题报告仍处于打开状态。
把时间线串起来
这件事拖了几个月。按评论区和媒体整理:
- 7 月:GitHub 上已有用户提交编号 81138 的问题,评论者认为描述的是同一行为;
- 2.1.317 版:Claude Code 内置了一个名为 cc-plugin-privacy 的隐私插件,默认开启,在网页工具调用或带邮箱的 curl 命令执行前先询问用户;
- 11 月 5 日:新报告出现,用的已经是 2.1.318,邮箱照样被发出;
- 之后:官方表态从上下文里彻底拿掉邮箱。
从 7 月的第一份报告到 11 月的正式表态,前后约三个多月。中间那次补丁的思路是在出口加一道闸,问题出在入口:只要邮箱还在上下文里,模型就有可能用别的方式把它带出去。媒体报道指出,这个插件管不到 Claude 自己写成脚本再运行的情况;评论区也有用户说插件根本没出现在 /plugins 菜单里,或者显示已加载、带邮箱的命令仍然能跑。这些反馈目前无法核实,官方也未回应插件失效的具体情形。
另一个细节是版本渠道。据报道,稳定版渠道当时还停在 2.1.311,连那道询问闸都没有,用稳定版的用户要手动升级才能拿到插件。
现在能做什么
社区给出的临时办法有两种:用 pre-tool-use hook 拦截同时包含账户邮箱和 User-Agent 参数的命令;或者在 CLAUDE.md 里写明邮箱只允许出现在指定域名的请求里。有开发者已经把前一种做法放进了自己的配置仓库。
对团队用户,影响面取决于登录账户。用公司邮箱登录的,泄露的是工作邮箱,钓鱼邮件会直接打到企业收件箱里。哪些网站收到过这些 UA、服务器日志会保留多久,都掌握在对方站点手里,Anthropic 没办法替用户撤回。
参考来源:Claude Code GitHub 问题报告、CocoLoop、AI Chat Daily、Trending Topics;问题报告核验受影响版本号与隐私插件说明,Anthropic 员工表态以其公开回复为准。