又到了截稿時間,想到之前看了一堆關於 Moq 這個第三方套件隱私爭議的文章,來把看到的紀錄一下好了
事情的起因是今年(2023) 10/04 日,由來自阿根廷的 kzu 所開發的 .NET 社區最大的第三方模擬套件 devlooped/moq 合併了一個更新,使用了 SponsorLink 套件
而 SponsorLink 是怎麼知道你是誰、你有沒有贊助的呢?原理就是透過將 git config 中的 email 做雜湊上傳到伺服器,與 GitHub Sponsors 的資訊比對的。
參考資料:
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
事情的起因是今年(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
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com