Claude Code 隐私事件:User-Agent 标头中的用户电子邮件泄露

概述

Claude Code CLI 工具的用户报告称,该代理程序通过 User-Agent 标头将他们的个人电子邮件地址泄露给了第三方网站。这种行为发生在网络搜索和 API 交互任务期间,导致受影响用户的垃圾邮件数量增加。Anthropic 已确认该问题,并正在推出修复程序,以防止代理程序在出站网络请求中暴露账户级标识符。

泄露机制

Claude Code 的设计初衷是在其系统提示词中包含用户的电子邮件地址,以促进作者身份归属和过滤等任务。当代理程序执行基于网络的任务(例如使用 curl 获取数据)时,有时会将此电子邮件地址包含在 User-Agent 字符串中。

虽然一些公共 API(例如 SEC 提供的 API)会在 User-Agent 标头中请求联系信息,但该代理程序在未经用户明确同意的情况下广泛应用了此行为。这导致私有标识符被无意中广播给代理程序交互的任何服务器,从而造成了严重的隐私漏洞。

Anthropic 的回应

Anthropic 已开始部署更新以缓解此行为。从 2.1.317 版本开始,引入了一个名为 cc-plugin-privacy 的内置模块,用于阻止在出站请求中包含敏感标识符。

Claude Code 的开发人员 Lydia Hallie 证实,团队正在积极从模型的上下文中完全移除账户电子邮件地址。Hallie 表示:“很抱歉发生了这种情况”,并指出该功能最初旨在帮助模型处理作者标签,但未能考虑到在网络标头中自动传输所带来的风险。

社区见解与变通方法

社区成员针对代理工具的使用提出了一些关键的结论:

  • 上下文敏感性: 用户指出,让 LLM 访问个人账户详细信息会产生固有的泄露风险。正如一位用户所言:“它们能访问的任何信息都可能被泄露。”
  • 验证: 用户可以检查自己的流量,以验证代理程序是否在泄露数据。一些人建议为不同的服务使用唯一的别名电子邮件地址,以减轻此类泄露的影响。
  • 防御措施: 在修复程序完全普及之前,一些用户正在使用自定义钩子或修改其本地系统提示词,以明确禁止代理程序共享个人标识符。

开发人员观点

关于此问题的讨论集中在代理自主权与用户隐私之间的张力上。许多开发人员对在没有明确选择加入控制的情况下实现此类功能表示沮丧。

"桌面 UI 给人的印象是 LLM 只能访问明确添加到项目中的内容。这种印象是不真实的,Claude 从项目之外的其他会话中提取数据就证明了这一点。"

其他人指出,这一事件强调了更好的沙箱机制的必要性。一位评论者指出:“避免这种情况的唯一方法是沙箱化它们并管理它们的上下文”,并建议用户应将代理 CLI 工具视为具有共享其可访问的任何数据的潜力。

Sources

相关