atom 是 github 专门为程序员推出的一个跨平台文本编辑器。昨日,有用户给 atom 提 issue 称其未经同意收集用户数据。“首次启动 atom 时,它会在未经同意的情况下联系在 amazon 服务器上运行的 microsoft/github 进程,并将我的 ip 地址和时间戳泄露给制造商,把我使用 atom 的事实(通过出站请求)传输给成千上万的其他人和组织。”
这位名为 jeffrey paul 的用户表示是在首次启动 atom 时遇到了该问题。他发现在自己的信息已经被收集并发送出去之后,主应用程序窗口才打开是否连接服务器的询问对话框。而这一问题 100% 能够复现,也就是说并非偶然事故。
paul 指出,用户的 ip 地址以及跟踪/遥测/分析/自动更新目标主机 ip 等信息都在首次启动时被传输出去,前两个数据中还包括时间戳。“该元组(用户源 ip,atom.io 目标 ip,tcp 端口,tls sni 主机名,时间戳记)从用户计算机发送时,其使用情况信息就会泄漏给成千上万的不同人:isp,托管提供商,网络交换,情报服务者,microsoft 内部系统管理员,github 系统管理员和 amazon 网络管理员。用户根本没有机会选择退出,或是阻止它,甚至没有意识到它的发生。”
为此,paul 感到气愤,并依照“间谍软件”的定义——间谍软件是一种软件,有时甚至在其不知情的情况下收集有关个人或组织的信息,并在未经用户同意的情况下将此类信息发送给另一个实体——将 atom 归为间谍软件。
他还提到,这种情况的出现意味着 pr #12281 上的工作尚未完成。这是 2016 年 atom 团队提出的“添加遥测同意设置”,该设置用于确定是否收集用户的使用信息。而目前,根据 paul 的描述,甚至没有出现同意对话框,数据就已经被上传了。
atom 团队的 arcanemagus 随后在下方回复,表示“atom 设计为在连接网络的环境中运行,可以执行诸如检查更新之类的操作而不会提示用户……您当然可以自由地阻止网络访问,并且如果您愿意,atom 也可以在脱机模式下运行。”
但显然,这一说法不够有说服力,paul 提出反击:“没有人说它不应该使用网络,它只是在用户授予其权限之前不应该使用网络,否则会造成数据泄漏,这就是同意对话框存在的意义。”
arcanemagus 仍然认为阻止网络访问即可,还说,“这不是 atom 团队当前有兴趣更改的东西”。
来自 atom 团队的 lee dohm 发表了最终回应,承认遥测程序包不应该在单击按钮之前发送信息,并将调查它与 central.github.com 的过早连接。但另一方面,他坚持 atom 的设计模式如此,剩下的部分,特别是自动更新检查,仍保留当前的设计方式。以及,再次表明,“如果您想要一个可以完全脱机工作且没有任何网络连接的编辑器,则 atom 不适合您。”
此外,经过复现实验,paul 还提出了另一个 issue,他发现即便明确拒绝同意并退出遥测,遥测信息还是会被发送。这一情况的复现率也为 100%。
在 2016 年那条添加遥测同意设置的 pr 下,又有网友展开了新的讨论。其中一名用户说道,“按目前的情况,这可能违反了 gdpr(general data protection regulation,一般数据保护条例)。”
试用申请