导语:Moq近期发布的4.20.0版本悄悄加入了另一个项目SponsorLink,该项目在开源软件消费者中引起了轩然大波,他们将此举比作辜负了广大用户的信任。
Moq在NuGet软件注册中心上分发,每天的下载量超过100000人次,自问世以来累计下载量已超过4.76亿人次。
Moq近期发布的4.20.0版本悄悄加入了另一个项目SponsorLink,该项目在开源软件消费者中引起了轩然大波,他们将此举比作辜负了广大用户的信任。
SponsorLink貌似是一个开源项目,实际上作为闭源代码在NuGet上分发,关键是含有经过混淆处理的DLL,这些DLL收集用户电子邮件地址的哈希值,并将它们发送到SponsorLink的CDN,从而引发隐私问题。
Moq辜负了用户的信任
半个月前,Moq的所有者之一Daniel Cazzulino(kzu,还负责维护SponsorLink 项目)将SponsorLink添加到Moq 4.20.0及更高版本中。
这一举动在开源生态系统中引起了轰动,主要出于两个原因——虽然Cazzulino完全有权改变其项目Moq,但他在捆绑依赖项之前并没有通知用户群,而且SponsorLink DLL含有经过混淆处理的代码,因而很难进行逆向工程分析,并不是完全“开源”。
德国软件开发人员Georg Dang警告道,扫描功能是在构建过程中运行的.NET 分析器工具的一部分,很难被禁用。
SponsorLink称自己是一种将GitHub Sponsors集成到用户库中的方法,以便用户可以正确链接到他们的赞助商以解锁功能,或者只是因支持用户的项目而获得应有的认可。
GitHub用户Mike(d0pare)反编译了DLL,并分享了大致重构源代码的结果。据这位分析师声称,这个库“生成外部git进程来获取您的电子邮件。”
然后,它计算电子邮件地址的SHA-256哈希值,并将其发送到SponsorLink的CDN: hxxps://cdn.devlooped[.]com/sponsorlink。
图1. 隐藏在Moq和SponsorLink中的遥测代码(图片来源:GitHub)
开发者为变更辩护
Cazzulino在评论中解释了其理由,承认“4.20”版本是“一种尝试,很难得到实际的反馈,所以即使评论有点措辞严厉,我也真的很感激!”
Cazzulino进一步更新了SponsorLink项目的自述文件,其中包含如下所示的冗长的“隐私注意事项”,这部分澄清了没有实际的电子邮件地址,仅收集它们的哈希值。这一更新是在遭到强烈反对后随即发布的。
有人担心SponsorLink可能会在未经您明确同意的情况下收集您的电子邮件,事实并非如此,这可以通过运行Fiddler以查看当前发生的流量类型来轻松验证。
具体来说,在执行赞助检查时永远不会发送实际的电子邮件。您本地系统上的电子邮件使用SHA256进行哈希处理,然后进行Base62编码,唯一使用的是因而得到的不透明字符串(永远不会泄露原始电子邮件)。
只有在您安装SponsorLink GitHub应用程序并授予其明确的许可之后,SponsorLink才真正获取您的电子邮件地址(以便执行在后端将这个不透明字符串与您的实际电子邮件和GH用户相关联以链接您的赞助这一操作)。
此外,当您暂停或卸载应用程序后,我们删除与您的帐户和电子邮件关联的所有记录。
过去,Cazzulino也曾为自己决定将SponsorLink保持闭源、经过混淆处理的做法做过辩护,以防止其某些检查被绕过,用他的话来说,该库的不透明功能是“有意设计”的。
潜在的隐私问题
从道德和法律的角度来看,将SponsorLink悄然加入到Moq等项目中是一个隐私问题。
首先是这个问题:一个不太起眼的闭源依赖项(SponsorLink)通过开源渠道分发,并加入到流行的OSS项目(比如GitInfo)中,GitInfo同样由Cazzulino开发,已下载了数百万次。
收集电子邮件地址哈希值也可能不完全是匿名的。
至少从理论上来说,SponsorLink的开发人员可以将收集到的哈希值与某个地方泄露的电子邮件地址数据库进行比较,以识别用户的身份,Walter力劝Cazzulino在SponsorLink 软件包方面做得更加透明。
作为回应,一些开发人员要么威胁停止使用Moq,改而采用替代方案,要么构建工具以检测和阻止任何运行SponsorLink的项目。
有些人更进一步,表示他们会抵制使用SponsorLink的项目,甚至将“SponsorLink”作为恶意软件报告给NuGet注册中心。
虽然对Moq颇有争议的变更已在v4.20.2中得到了撤回(由于其他人公开反对),但仍存在这种可能性:将来的Moq版本重新引入一项类似的“功能特性”。
文章翻译自:https://www.bleepingcomputer.com/news/security/popular-open-source-project-moq-criticized-for-quietly-collecting-data/如若转载,请注明原文地址