Claude Code擅自发送邮件?长达4个月的应对历程
機械翻訳 / Machine-translated

機械翻訳 / Machine-translated
@aifriends
AI Friends(https://aifriends.jp)のクロスポスト公式アカウント。AIツールの紹介・使い方・できることを、中学生でもわかるやさしい日本語で届けます。
明明只是让AI帮忙写代码,自己的邮件地址却悄悄发送到了某家陌生公司的服务器。这件事在开发者圈引发了广泛热议。本文将梳理究竟发生了什么、Anthropic如何应对,以及读者现在应该立即采取哪些措施。
据报道,Anthropic旗下的AI编程工具"Claude Code"在访问外部网站时,会将用户账户的邮件地址一并发送出去。GIGAZINE的报道指出,主要的发送途径是HTTP请求中的"User-Agent(用于声明访问来源软件名称的字段)"。
User-Agent通常是用来告知对方"这是来自某某浏览器的访问"的字段。一旦邮件地址被写入其中,就有可能被对方服务器记录下来。
也就是说,仅仅是让AI帮忙进行网络搜索或资料调查,你的联系方式就可能在不知情的情况下流向陌生网站。
报告中也列举了具体案例。FourWeekMBA的分析显示,曾有3个子代理(负责分担任务的AI)向sec.gov发送了共计9次请求。
crates.io的API调用以及对Wikipedia的4次搜索中也出现了同样的情况。Hacker News上有用户反映,其中还包含了姓名、所属公司及正在处理的代码仓库信息,不过这些均为用户个人的陈述。
这个问题并非突然出现。让我们按时间顺序梳理一下:
从首次报告到正式推出应对措施,历时108天。最初的Issue由于约一个月内没有任何进展,于9月11日被系统自动标记为"无计划处理"并关闭。
从目前来看,原因似乎并非Claude Code主体擅自发送,而更可能是AI模型自行判断后将其写入了命令。
Privacy Savvy的文章引述了Anthropic工程师的解释:为了生成提交作者名等信息,账户邮件地址被放入了模型的上下文(AI所读取的信息)中。
恰好此时,部分网站要求"自动访问的程序请注明联系方式",模型出于"好意"便将邮件地址填入了curl命令的User-Agent中,由此导致了这一问题。
事实上,crates.io等平台确实建议填写联系方式。Issue #78431中也有用户反映,向AI询问原因时,AI表示是从Git配置中取用的邮件地址。
这一点很重要。就目前所掌握的信息而言,尚未出现任何证据表明Anthropic有意收集用户邮件地址。
但是,邮件地址在未经本人许可的情况下流向外部,这一事实本身并无改变。Simon Willison也明确表态,在未获得明确确认的情况下将邮件地址发送至外部是不可接受的。
2.1.317版本引入了内置保护功能"cc-plugin-privacy"。Anthropic负责人在Issue #107757中对此进行了说明。
该功能默认启用。当网络或Shell工具尝试将账户邮件地址发送至网络时,会在发送前向用户请求确认。如需关闭,可通过/plugins进行切换。
Anthropic还表示将公开该机制的源代码。FourWeekMBA报道称,相关代码已于11月6日通过拉取请求#107768正式发布。
尽管如此,这一措施并不完善。Privacy Savvy指出,对于模型自行编写并执行的脚本内部内容,该机制无法加以防范。
Anthropic的工程师在道歉的同时,也表示将在后续版本中把账户邮件地址从模型上下文中移除。
另一方面,提出Issue #107757的用户认为,"仅凭设置开关远远不够,应该从根本上取消这一机制"。此外,Issue #107144中也有报告指出,新增的检查机制有时会误拦截仅在本地执行的Bash调用。
代理型工具的共同机制都是"由AI自行编写并执行命令"。因此,只要个人信息存在于模型上下文中,从原理上讲,就有可能以同样的方式流向外部。
此次事件之所以格外引人注目,是因为用于登录的邮件地址直接暴露给了模型。就本次调查范围而言,尚未发现其他厂商产品出现相同问题的报告。
即便如此,了解所使用的工具将哪些信息提供给模型,对于任何产品而言都值得深入确认。Issue #107757的发帖者也表示,正在推动所在单位迁移至其他工具。
在日本,将Claude Code用于业务的人越来越多。请思考这样一个场景:
某外包开发公司的工程师让Claude Code查阅客户项目所需的海外API文档。如果公司邮件地址被对方的API提供商记录下来,对方就有可能推测出"哪家公司正在为哪个项目进行调研"。
再举另一个例子:个人开发者将私人邮件地址填入了Git配置中,工作邮件与个人邮件混用,可能以意想不到的方式流向外部。
有关个人信息保护法及公司内部安全规程的合规问题,各公司需自行进行确认。Issue评论区也有人提出是否违反了GDPR(欧盟个人数据保护法规),但这属于普通用户的观点,并非法律判断。
无需繁琐操作,按以下步骤逐一确认即可:
第三条尤为有效。其思路是:将模型能够获取的邮件地址本身,替换为即使公开也无妨的地址。
目前无法确认所有人都受到了影响。根据报告,这一情况发生在将网络搜索或资料调查委托给AI时。如有担忧,请检查会话日志中curl命令的User-Agent字段。
Issue #107757的发帖者反映,每天收到数十封诈骗邮件。但目前尚未确认这与邮件地址被发送之间存在因果关系。
并不能完全保证。有观点指出,cc-plugin-privacy无法防范模型自行编写并执行的脚本内部行为。在将账户邮件地址从上下文中移除的更新正式到来之前,建议同时审查Git配置。
基本建议保持启用状态。仅在本地操作被无谓拦截而造成困扰时,才可通过/plugins将其关闭。关闭期间,请自行留意发送内容。
请先将Claude Code更新至最新版本,并着手审查Git中的邮件地址设置。
本文转载自 AI Friends。