邮箱被写进了 User-Agent:一个请求头引发的信任问题

GitHub issue 107757 报告,Claude Code 在做网页搜索时把用户邮箱放进了 User-Agent 请求头,发给任意第三方站点。提交者要求把这段信息从 harness 里彻底移除,而不是做成开关。这条 issue 今天在 Hacker News 首页拿到 1320 点。截至抓取时,页面上没有官方回复或修复状态。
User-Agent 这个请求头,平时传的是客户端名字、版本、操作系统。浏览器发它,是为了让服务端知道该给哪种页面。它属于协议元数据,不是内容,也不是用户填写的表单。正因为这样,里面塞了什么很少有人去翻。
11 月 6 日的 Hacker News 首页上,排第二的是一条 1320 点、417 条讨论的 GitHub issue:Claude Code sends your email address to websites。对应的 issue 编号 107757,标题写得更直白:Bug Report: Privacy violation in User-Agent header。
issue 里到底说了什么
提交者的描述是:Claude Code 在未经许可进行网页搜索时,把他的邮箱放进了 User-Agent 请求头,发给了任意第三方站点;他说自己因此每天收到几十封诈骗邮件,还写了要把公司迁到 Pi with OpenRouter。环境信息是 darwin、tmux、版本 2.1.318,附了 Feedback ID。
他的诉求有一句特别具体:这件事不该做成 opt-in 或 opt-out 设置,应该从 harness 里整个移除。理由是它对反 agentic 流量的服务没帮助,也保不住匿名,反倒给诈骗者送了一份名单。
必须说清楚证据边界:以上是 issue 提交者的自述,不是官方确认。「每天几十封诈骗邮件」是个人经历描述,页面里没有给出邮件与这次请求之间的因果证据;截至抓取时,我在该 issue 页面上也没看到维护者回复、复现步骤或修复状态。HN 讨论里的技术细节我没有采进来,因为没核到原始出处。这篇能确定的只有:有人这样报告了,而且讨论量很大。

图1:一次网页搜索请求里 User-Agent 所处的位置
为什么「加个开关」不够
把身份信息放进协议元数据,和把它放进请求体,风险形状不一样。请求体会被业务代码看见、记录、审计;元数据通常被网关、CDN、日志系统顺手收走,用户既看不到也不会想到去查。一个默认携带的字段,实际效果等于「对每次访问过的站点自报家门」。
做成可关闭也有问题。默认值决定了绝大多数人的处境,而知道自己该去关掉这个开关的人,恰恰是先读过这份 issue 的人。提交者要求移除而不是加开关,讲的其实是这个:隐私默认值不能靠用户警觉来兜底。
站内之前写过 Grok 把整个家目录上传云端,那次是范围问题;这次是元数据问题。编码助手拿到的权限越来越大,能读本地文件、能发网络请求、能改代码,边界却常常藏在一行默认配置里。我倾向于把这类工具当成一个有网络出口的独立进程来看,而不是编辑器插件:先看它往外发了什么,再谈它帮你写了多少代码。

图2:默认携带、可关闭、根本不带,三种设计差别
核心信息来源
GitHub anthropics/claude-code issue #107757(Bug Report: Privacy violation in User-Agent header):提供提交者自述的行为、每天几十封诈骗邮件与迁移决定、darwin/tmux/2.1.318/Feedback ID、「应从 harness 移除而非做成开关」的诉求。Hacker News 首页 2026-11-06(Algolia front_page 接口):1320 点、417 评论。文中关于元数据与请求体的风险差异、默认值设计的分析:本文自述的判断,不是来源结论;官方回复与修复状态:抓取时页面未见,属本文标注的信息缺口。
关联推荐
- Grok 把整个家目录上传云端 — 编码助手权限边界的另一面
- 你读的帮助页面里,藏着给 AI 看的指令 — 看不见的那一层内容
- 为什么 AI 医疗评测不能只看榜单 — 同为「先验证再信任」的方法论
评论 (0)
正文划词可点「问萝卜特」——自动发评论并由 AI 回复
加载评论中…