流行的開源軟件Moq因悄悄收集數(shù)據(jù)而遭到抨擊
Moq在NuGet軟件注冊中心上分發(fā),每天的下載量超過100000人次,自問世以來累計(jì)下載量已超過4.76億人次。
Moq近期發(fā)布的4.20.0版本悄悄加入了另一個項(xiàng)目SponsorLink,該項(xiàng)目在開源軟件消費(fèi)者中引起了軒然大波,他們將此舉比作辜負(fù)了廣大用戶的信任。
SponsorLink貌似是一個開源項(xiàng)目,實(shí)際上作為閉源代碼在NuGet上分發(fā),關(guān)鍵是含有經(jīng)過混淆處理的DLL,這些DLL收集用戶電子郵件地址的哈希值,并將它們發(fā)送到SponsorLink的CDN,從而引發(fā)隱私問題。
Moq辜負(fù)了用戶的信任
半個月前,Moq的所有者之一Daniel Cazzulino(kzu,還負(fù)責(zé)維護(hù)SponsorLink 項(xiàng)目)將SponsorLink添加到Moq 4.20.0及更高版本中。
這一舉動在開源生態(tài)系統(tǒng)中引起了轟動,主要出于兩個原因——雖然Cazzulino完全有權(quán)改變其項(xiàng)目Moq,但他在捆綁依賴項(xiàng)之前并沒有通知用戶群,而且SponsorLink DLL含有經(jīng)過混淆處理的代碼,因而很難進(jìn)行逆向工程分析,并不是完全“開源”。
德國軟件開發(fā)人員Georg Dang警告道,掃描功能是在構(gòu)建過程中運(yùn)行的.NET 分析器工具的一部分,很難被禁用。
SponsorLink稱自己是一種將GitHub Sponsors集成到用戶庫中的方法,以便用戶可以正確鏈接到他們的贊助商以解鎖功能,或者只是因支持用戶的項(xiàng)目而獲得應(yīng)有的認(rèn)可。
GitHub用戶Mike(d0pare)反編譯了DLL,并分享了大致重構(gòu)源代碼的結(jié)果。據(jù)這位分析師聲稱,這個庫“生成外部git進(jìn)程來獲取您的電子郵件。”
然后,它計(jì)算電子郵件地址的SHA-256哈希值,并將其發(fā)送到SponsorLink的CDN: hxxps://cdn.devlooped[.]com/sponsorlink。
圖1. 隱藏在Moq和SponsorLink中的遙測代碼(圖片來源:GitHub)
開發(fā)者為變更辯護(hù)
Cazzulino在評論中解釋了其理由,承認(rèn)“4.20”版本是“一種嘗試,很難得到實(shí)際的反饋,所以即使評論有點(diǎn)措辭嚴(yán)厲,我也真的很感激!”
Cazzulino進(jìn)一步更新了SponsorLink項(xiàng)目的自述文件,其中包含如下所示的冗長的“隱私注意事項(xiàng)”,這部分澄清了沒有實(shí)際的電子郵件地址,僅收集它們的哈希值。這一更新是在遭到強(qiáng)烈反對后隨即發(fā)布的。
有人擔(dān)心SponsorLink可能會在未經(jīng)您明確同意的情況下收集您的電子郵件,事實(shí)并非如此,這可以通過運(yùn)行Fiddler以查看當(dāng)前發(fā)生的流量類型來輕松驗(yàn)證。
具體來說,在執(zhí)行贊助檢查時永遠(yuǎn)不會發(fā)送實(shí)際的電子郵件。您本地系統(tǒng)上的電子郵件使用SHA256進(jìn)行哈希處理,然后進(jìn)行Base62編碼,唯一使用的是因而得到的不透明字符串(永遠(yuǎn)不會泄露原始電子郵件)。
只有在您安裝SponsorLink GitHub應(yīng)用程序并授予其明確的許可之后,SponsorLink才真正獲取您的電子郵件地址(以便執(zhí)行在后端將這個不透明字符串與您的實(shí)際電子郵件和GH用戶相關(guān)聯(lián)以鏈接您的贊助這一操作)。
此外,當(dāng)您暫停或卸載應(yīng)用程序后,我們刪除與您的帳戶和電子郵件關(guān)聯(lián)的所有記錄。
過去,Cazzulino也曾為自己決定將SponsorLink保持閉源、經(jīng)過混淆處理的做法做過辯護(hù),以防止其某些檢查被繞過,用他的話來說,該庫的不透明功能是“有意設(shè)計(jì)”的。
潛在的隱私問題
從道德和法律的角度來看,將SponsorLink悄然加入到Moq等項(xiàng)目中是一個隱私問題。
首先是這個問題:一個不太起眼的閉源依賴項(xiàng)(SponsorLink)通過開源渠道分發(fā),并加入到流行的OSS項(xiàng)目(比如GitInfo)中,GitInfo同樣由Cazzulino開發(fā),已下載了數(shù)百萬次。
收集電子郵件地址哈希值也可能不完全是匿名的。
至少從理論上來說,SponsorLink的開發(fā)人員可以將收集到的哈希值與某個地方泄露的電子郵件地址數(shù)據(jù)庫進(jìn)行比較,以識別用戶的身份,Walter力勸Cazzulino在SponsorLink 軟件包方面做得更加透明。
作為回應(yīng),一些開發(fā)人員要么威脅停止使用Moq,改而采用替代方案,要么構(gòu)建工具以檢測和阻止任何運(yùn)行SponsorLink的項(xiàng)目。
有些人更進(jìn)一步,表示他們會抵制使用SponsorLink的項(xiàng)目,甚至將“SponsorLink”作為惡意軟件報告給NuGet注冊中心。
雖然對Moq頗有爭議的變更已在v4.20.2中得到了撤回(由于其他人公開反對),但仍存在這種可能性:將來的Moq版本重新引入一項(xiàng)類似的“功能特性”。
文章翻譯自:https://www.bleepingcomputer.com/news/security/popular-open-source-project-moq-criticized-for-quietly-collecting-data/如若轉(zhuǎn)載,請注明原文地址