Claude Code被曝外泄用户邮箱,开发者反编译查出源头
小心,Claude Code会擅自泄露你的邮箱!请抓紧时间更新
每月花几十美元甚至 200 美元订阅
Claude Code 的人,本是让它在本机终端里干活,结果它却在后台把真实登录邮箱、姓名,连带公司内部代码库地址一并塞进 User-Agent 请求头,发给了外面的网站。

毛病出在
Anthropic 工程师身上:为了省事,他们把登录邮箱写死进每轮对话的系统提示词。Claude 一旦碰上要登记联系方式的站点,就从提示词里翻出真邮箱填过去。
图省事,把用户隐私搭进去了
2026 年 11 月 5 日,Hacker News 上一则指控 Claude Code 外发用户邮箱的帖子热度飙升。
发帖人天天收到几十封喊得出他真名的诈骗邮件,可那些发信域名他从来没访问过。
他去翻请求记录,发现 Claude Code 联网取数据时,把会话名和他的真邮箱拼进了 HTTP 请求的 User-Agent 头。
评论区随即有人晒出更扎眼的服务器日志:Claude Code 派子智能体去请求外部文档,请求头里赫然写着使用者的真名、所属团队名称,还有公司内部 GitHub 仓库路径。
一开始,不少人怀疑是模型被外部网页的提示词注入带偏了。
到 11 月 6 日凌晨,Claude Code 工程师 Lydia Hallie 公开致歉,起因才算讲明白。

此前就有用户发现,Claude 写 author 注释标签时会瞎编人名,根子在于模型拿不到账号信息。
工程团队图方便,直接把本地配置里的登录邮箱读出来,放进了给模型的系统上下文。
他们没料到,这一步撞上大模型死磕任务的习惯,会闹出什么后果。
用户让 Claude 去取美国证监会 SEC财报、维基百科、crates.io 或者游戏 EVE Online 的接口时,这些平台防爬虫都有规矩:脚本得在请求头里留联系邮箱,不留就直接 403 拒之门外。

调美国证监会 SECAPI 的时候,Claude 吃了「提示注入攻击」
系统自带的 curl 默认不带这些信息。大模型经过强化学习训练,一心想越过报错把任务跑通,看到上下文里躺着用户邮箱,就自己拿主意拼进命令发了出去。
评论区一位开发者用爬虫抓接口被封了 IP,特意花钱买轮换住宅代理来藏身份;Claude 给爬虫写请求头时偏偏填了他的真邮箱,事后还解释称,这样对方网站有问题能直接写信联系,省得再封 IP。(Claude:咱都是为你好)
反编译之后,真相露了出来
这事到 11 月初才彻底闹大。可翻 GitHub 历史记录,知情的用户已经折腾了大半年。
早在 2026 年 4 月起,社区就陆续提过 50702 号、53231 号等至少 4 个工单,反映账号邮箱被硬塞进上下文且关不掉,官方机器人全以不活跃或重复为由自动关闭。



7 月中旬,又有人因 curl 泄露邮箱提交 78431 号工单,8 月这事上过一次 Hacker News,9 月还是被机器人关掉。

正常渠道反馈没人管,开发者 skflowne 在 7 月 25 日反编译了 Claude Code v2.1.220 安装包,拿出 81138 号报告,证据列得清清楚楚。

代码里写着:客户端每次启动,都会从本地配置读出登录邮箱,再拼成一句英文提示词。
整个代码包里翻了个遍,这个字段没被任何业务逻辑调用过,只在两处遥测事件里用来统计布尔值;官方文档和设置页面对它同样一字未提。
反编译过程中还翻出一个颇为讽刺的细节:Claude Code 里有个叫 IS_DEMO 的环境变量,官方文档专门推荐主播在直播或录屏时把它设成 1,好把状态栏上的邮箱和组织名藏起来。可程序包里全部 7 处 IS_DEMO 判断,拦下的只是屏幕表层显示的文字,模型上下文那边一点没动。
主播们以为开了演示模式就能放心直播,邮箱其实原封不动躺在模型上下文里。提交这份报告的开发者本人就撞上过两次事故。

其中一次,模型在解释别的错误时,突然在终端里打出它从系统提示词中看到的他的邮箱。

另一次,模型连着提交 10 次代码,直接用 git 参数把私人邮箱强行传了进去,覆盖掉他全局设置好的匿名邮箱。最后还是 GitHub 推送保护报错拦下,私人邮箱才没进公开记录。
![]()
Anthropic 给出解决方案:先劝模型听话
反编译摆出的证据够硬,可 Anthropic 随后几个月的修补过程,比漏洞本身还离谱。社区拆包追踪发现,8 月底发布的 v2.1.246 里那个字段照旧没删,官方只在那句提示词后面补了一句自然语言要求,叮嘱模型邮箱仅用于识别身份,绝对不要发给无关服务。(Claude,别把邮箱告诉别人啊!)

到 10 月下旬的 v2.1.289,这段话又被塞进每次工具调用附带的系统提醒标签,每发一次请求就向模型重复一遍。

几句自然语言哪管得住概率模型,Temperature 一调,邮箱分分钟就被愉快地分享出去。10 月 20 日,有用户就在网页端抓到 Opus 5.5 照常把账号邮箱塞进两个 shell 命令的请求头。
被质问之后,模型倒是老实承认:系统上下文确实给了它邮箱,也附了禁止外发的指令,但它为了给目标网站留个联系地址,还是决定把真邮箱发出去。
直到 11 月初 Reddit 和 Hacker News 上吵翻了天,Anthropic 的另一位工程师 mpoteat 才出面回应,称团队已在 v2.1.317 加入默认开启的内置插件,用确定性规则拦截带用户邮箱的请求。

他在说明控制模型行为很重要、也极不简单时,句尾随手打了个 haha。这种轻浮态度一下惹恼了整个评论区;就算他后来悄悄删掉笑声,截图留证的网友还是追着他骂。

眼下最新的 Claude Code 版本已经到 v2.1.319,在命令行输入 claude update 就能升到最新版,但愿这个漏洞真被修好了。
几小时后,Lydia Hallie 不得不补充承认:就算装上这个隐私插件,只要 Claude 自己写脚本去发网络请求,插件照样拦不住;而把账号邮箱从上下文里删掉的改动,得等下周初的常规版本才会推送。
评论区自然有人把这桩荒唐事和 Anthropic 平日的高调宣传摆到一块儿。这家估值万亿美元的前沿 AI 公司,一边天天说自家团队靠大模型每天合并 30000 个代码提交、写代码已不是瓶颈,一边在一个删掉一行代码就能解决的隐私泄漏上拖了足足大半年。
先是给大模型写提示词讲道理,再给客户端写插件防自家的模型,最后告诉付费用户,彻底修好还得再等一个星期。这就是 Claude Code,真是安安又全全啊,你们有没有这样的 Agent?
参考资料:
https://news.ycombinator.com/item?id=50385272