Moq 在 NuGet 软件注册中心上分发,每天的下载量超过 100000 人次,自问世以来累计下载量已超过 4.76 亿人次。
Moq 近期发布的 4.20.0 版本悄悄加入了另一个项目 SponsorLink,该项目在开源软件消费者中引起了轩然,他们将此举比作辜负了广大用户的信任。
SponsorLink 貌似是一个开源项目,实际上作为闭源代码在 NuGet 上分发,关键是含有经过混淆处理的 DLL,这些 DLL 收集用户电子邮件地址的哈希值,并将它们发送到 SponsorLink 的 CDN,从而引发隐私问题。
这一举动在开源生态系统中引起了轰动,主要出于两个原因——虽然 Cazzulino 完全有权改变其项目 Moq,但他在捆绑依赖项之前并没有通知用户群,而且 SponsorLink DLL 含有经过混淆处理的代码,因而很难进行逆向工程分析,并不是完全 开源 。
德国软件开发人员 Georg Dang 警告道,扫描功能是在构建过程中运行的分析器工具的一部分,很难被禁用。
SponsorLink 称自己是一种将 GitHub Sponsors 集成到用户库中的方法,以便用户可以正确链接到他们的赞助商以解锁功能,或者只是因支持用户的项目而获得应有的认可。
GitHub 用户 Mike(d0pare)反编译了 DLL,并分享了大致重构源代码的结果。据这位分析师声称,这个库 生成外部 git 进程来获取您的电子邮件。
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 软件包方面做得更加透明。
作为回应,CQ9电子平台 CQ9传奇一些开发人员要么威胁停止使用 Moq,改而采用替代方案,要么构建工具以检测和阻止任何运行 SponsorLink 的项目。
有些人更进一步,表示他们会使用 SponsorLink 的项目,甚至将 SponsorLink 作为恶意软件报告给 NuGet 注册中心。
虽然对 Moq 颇有争议的变更已在 v4.20.2 中得到了撤回(由于其他人公开反对),但仍存在这种可能性:将来的 Moq 版本重新引入一项类似的 功能特性 。
苹果最激进iPad!iPad Pro 2024搭载3nm M3芯片:领先安卓阵营
lululemon放弃健身镜业务;祥禾饽饽铺X海河乳业品牌联名正式发布;甜啦啦海外首城落地印尼;锅圈通过港交所聆讯
4080要大降价节奏!消息称英伟达将推RTX 4080 Ti:9499元买吗?
变化最大的“超大杯”!iPhone 15 Pro Max详细评测:依然是直板机皇





