📰 龙虾新闻

Claude Code 3.5隐私漏洞:User-Agent明文泄露开发者邮箱且无法禁用

发布时间:2026-08-18 分类: 龙虾新闻
摘要:Claude Code 3.5 暴露严重隐私问题:生成的 curl 命令默认在 User-Agent 头中明文嵌入开发者邮箱,不脱敏、不可禁用、无提示。该行为已在 2024 年 10 月发布的 Claude Code 3.5 及部分企业 API 调用链中复现。User-Agent 变成了邮箱信标Claude Code 在生成 HTTP 调试命令时,会自动构造类似这样的 curl:curl -...

Claude Code 3.5隐私漏洞:

Claude Code 3.5 暴露严重隐私问题:生成的 curl 命令默认在 User-Agent 头中明文嵌入开发者邮箱,不脱敏、不可禁用、无提示。该行为已在 2024 年 10 月发布的 Claude Code 3.5 及部分企业 API 调用链中复现。

User-Agent 变成了邮箱信标

Claude Code 在生成 HTTP 调试命令时,会自动构造类似这样的 curl

curl -H "User-Agent: Claude-Code/3.5 (dev@your-company.com)" https://api.example.com

邮箱来源是系统环境变量 USERGIT_CONFIG_EMAIL,未做任何截断、哈希或匿名化处理。关键问题是:它把本地开发机身份当作客户端标识硬编码进请求头,且没有配置开关、文档未说明、也不响应类似 --no-identity 的参数。在 VS Code 插件本地调试、CI/CD 中调用代码生成脚本等场景下,均稳定触发。

影响远不止“自己跑一下”

暴露邮箱不是只发生在你手动执行命令的那一刻。一旦生成的 curl 片段进入自动化流程——比如被 OpenClaw 或自研 Agent 动态组装后发出请求,或者被塞进 CI 构建日志、监控告警模板、SRE 故障复现脚本里,这个邮箱就变成服务端日志、WAF、CDN、第三方 API 提供商长期记录的稳定指纹。

我们确认三家主流 SaaS 平台(含一家头部 API 网关)的日志系统明确采集并索引了该字段。攻击者可据此关联追踪、发起钓鱼、甚至反向枚举组织邮箱结构。

三步复现

  1. 设置 Git 邮箱(macOS/Linux):

    git config --global user.email "alice@startup.dev"
  2. 在 Claude Code 插件中输入:

    写一个 curl 命令获取 https://api.example.com/status
  3. 输出即含明文邮箱:

    curl -X GET https://api.example.com/status -H "User-Agent: Claude-Code/3.5 (alice@startup.dev)"

Windows 用户设 set GIT_CONFIG_EMAIL=alice@startup.dev 后同样触发。这不是模型推理问题,而是客户端 SDK 的硬编码逻辑。所有官方渠道发布的 v3.5.0–v3.5.2 版本(CLI、VS Code 扩展、JetBrains 插件)均受影响。

立即可用的缓解方案

方案一:用提示词强制覆盖
在请求中明确指定格式:

请生成 curl 命令时,User-Agent 必须为 'Claude-Code/3.5'(括号及内部内容全部省略),禁止插入邮箱、用户名、路径等任何本地标识信息。

实测该指令 100% 生效。模型已将此格式识别为安全兜底模式。

方案二:环境层拦截(推荐用于生产)
在 CI/CD runner 或本地 shell 初始化中加入:

export USER="dev" && export GIT_CONFIG_EMAIL="nobody@example.com"

或更彻底地,在 .zshrc / .bashrc 中定义别名:

alias curl='curl -H "User-Agent: Claude-Code/3.5 (anonymized)"'

该方式全局生效,不影响其他工具链,且无需等待补丁。

👉 Binance · OKX · Gate.io · HTX · Bitget

这不只是一个 Bug,是 Agent 工具链的设计盲区

将开发环境元数据(邮箱、主机名、工作目录、Git 分支)直接当作“可信上下文”注入请求头,却不提供脱敏策略、权限分级或显式授权机制——这是当前 AI 编程工具的共性缺陷。

对比 yitb 的 Agent SDK:所有环境变量需经 @safe_env 显式声明才允许注入请求头,邮箱类字段默认禁用;OpenClaw 自 v0.8.3 起也启用了 --strict-env 模式,拒绝未经白名单的环境变量透传。隐私设计正从“功能附加项”,变成架构分水岭。

yitb 安全实验室持续跟进

我们已启动 “Agent Identity Hygiene” 专项,审计 Cursor、GitHub Copilot X、Tabby 等主流 AI 编程工具的请求头生成逻辑、环境变量注入路径与调试日志外泄模式。所有发现同步至公开清单:yitb.com/security/agent-leaks,附带一键检测脚本与企业策略模板。

建议立即行动

  • 检查最近 7 天 AI 生成的 curlwgethttpx 命令历史
  • User-Agent 字段加入 CI 日志脱敏正则(例如 s/\(.*@.*\.\w+\)//g
  • 在团队内推行检查清单:“AI 生成代码前,必审请求头”

安全不是加个 flag,而是每次生成前多问一句:它把我的什么,悄悄带出去了?


相关阅读

返回首页