C# .NET 第三方模擬套件 Moq 的隱私爭議

又到了截稿時間,想到之前看了一堆關於 Moq 這個第三方套件隱私爭議的文章,來把看到的紀錄一下好了

事情的起因是今年(2023) 10/04 日,由來自阿根廷的 kzu 所開發的 .NET 社區最大的第三方模擬套件 devlooped/moq 合併了一個更新,使用了 SponsorLink 套件

SponsorLink 是什麼

SponsorLink 是由 kzu 開發的(沒錯就是 Moq 的作者),最主要的目的就是在開發工具(Visual Studio, Rider 等)中提示使用者,希望獲得贊助或是感謝贊助,幫助開源軟體的作者持續維護開源軟體。

而 SponsorLink 是怎麼知道你是誰、你有沒有贊助的呢?原理就是透過將 git config 中的 email 做雜湊上傳到伺服器,與 GitHub Sponsors 的資訊比對的。

為什麼有爭議?

最直接的問題就是違反了歐盟的 GDPR(一般資料保護規定),在使用者沒有同意的前提下就自動讀取 git 設定檔中的 email 資訊,並上傳到伺服器進行比對。所以許多公司和開發人員不得不轉向使用 NSubstitute 之類的其他模擬套件,以符合歐盟的規範和公司的安全政策。

參考資料:
GitHub - devlooped/SponsorLink
SponsorLink: trying something new-ish for OSS sustainability
Dev - The Moq-gate: You Either Die a Hero...
GitHub Issues - Privacy issues with SponsorLink, starting from version 4.20 #1372
Snyk - .NET developers alert: Moq NuGET package exfiltrates user emails from git

留言