Python實戰社羣php
Java實戰社羣git
長按識別下方二維碼,按需求添加程序員
掃碼關注添加客服github
進Python社羣▲web
掃碼關注添加客服c#
進Java社羣▲瀏覽器
蕭簫 發自 凹非寺
量子位 報道 | 公衆號 QbitAI
GitHub突然「開源」了本身代碼的一部分,還將它放在了GitHub上。安全
事件原由是這樣的:微信
TypeScript的開發者Resynth突然Po了篇文章,表示代碼託管服務GitHub的所有源代碼被泄露。架構
他表示,在向官方GitHub DMCA提交的可疑文件中,一個身份不明的人利用GitHub應用程序中的一個漏洞,冒充GitHub的CEO納特·弗裏德曼(Nat Friedman)上傳了機密源代碼。
事情一出,在HN上激起了網友的熱烈討論,也再次引起了關於GitHub安全問題的思考。
網友lrvick表示,包括他在內的許多安全人員,早就對GitHub上不少相關漏洞進行了公開演示。但除非「搞出個病毒」,微軟根本就不認可這些漏洞的存在。
並且,他早就說過,GitHub提交簽名的部分存在嚴重的設計缺陷,然而現在這件事發生,他們才引發重視。
因此,這位陌生用戶是怎麼作到的?
如何僞形成CEO本人泄露代碼?
GitHub的源代碼管理器Git,並不能有效地防止用戶假冒。
Git的提交方式更接近於電子郵件,這也就意味着,用戶能夠隨意起用戶名和填寫郵箱,因此作點小手腳也不要緊。
——除非提交的信息上有GitHub CEO弗裏德曼的GPG簽名,不然Git在提交信息時,根本不會確認這是否是CEO本人的提交。(此次有問題的代碼提交,就沒有CEO本人的簽名信息)
GPG(GNU Privacy Guard)是一個密鑰軟件,用於加密、簽名通訊的內容,也可做爲管理非對稱密碼學的密鑰。
除非GPG簽名與郵箱地址相關聯,它並不會對提交對象的真僞進行確認。
也就是說,當你提出一個提交請求到Git本地倉庫時,你就會獲得一個表明提交請求的哈希值,能夠經過它直接跳轉到你的分支。
GitHub相似於一個Web應用程序,負責提供瀏覽器到Git底層架構的請求交互,它會將全部的分支保存到一個底層倉庫裏,哪怕它不以一般的形式出如今在URL架構中。
因而,一位陌生的用戶提交的文件「光明正大地」進入了GitHub的DMCA存儲庫,還僞形成了CEO弗裏德曼的樣子。
爲了作到這一點,這位陌生用戶先是複製了一份DMCA存儲庫、搞個分支出來,便於提交要泄露的GitHub源代碼;
而後,陌生用戶僞造了弗裏德曼的用戶名和郵箱,將它提交了。因而,在DMCA存儲庫裏,名爲弗裏德曼的用戶,本身提交了一份GitHub源代碼。
CEO迴應後,網友卻炸了
對此,GitHub CEO弗裏德曼作出了迴應,表示GitHub前段時間不當心混淆了一部分源代碼給客戶,但這不會影響GitHub的安全。
他甚至還吟了首勃朗寧的詩:一切都很好,狀況也很正常,雲雀展翅飛翔,蝸牛在荊棘上爬動,世上一切順當!
但顯然,網友們並不在乎這段源碼是否是CEO本人泄露的,相反,這件事情再一次激起了他們針對「GitHub開源」這件事自己的怒火。
網友exabrial:您(指CEO)認爲這是正常狀況?大家是否是想經過僞造/無效的DMCA,刪掉其餘的什麼項目?
CEO弗裏德曼:這邊建議您閱讀DMCA工做原理呢。
網友dannyw:若是GitHub真的提倡開源,它就不會是如今這樣。據我所知,微軟是RIAA的成員哦。
網友dannyw之因此提到RIAA(美國唱片業協會),是由於GitHub前段時間應RIAA的要求,直接刪除了GitHub上開源的油管視頻下載器Youtube-dl。
一石激起千層浪,本來GitHub最初刪掉的相關項目就18個,如今一搜,居然冒出了4000多個。
有開發者稱,此次的「僞造事件」估計與Youtube-dl項目被刪有關,也多是僞造者對微軟並不開放GitHub源代碼的控訴。
關於GitHub開源,還得從微軟收購GitHub後的一系列舉動提及。
微軟和它的「開源」
自2018年微軟收購GitHub後,一直聲稱本身「致力於開源」。
Resynth表示:「咱們已經從大量商業廣告裏看到了(微軟對開源的熱愛),微軟打的這些廣告,的確讓它處在開源開發的最前沿。」
但與微軟提倡的「開源」理念相對,它直接封禁了好幾回社區開源的代碼。
鬧到最近,就是此次僞造事件導火索的「Youtube-dl被封禁事件」。
有開發者表示,想要讓GitHub開放本身的源碼,現在在微軟這看來,是絕對不可能的。
Resynth也表示,因爲有閉源軟件的存在、以及Git的擴張,讓GitHub看起來更像是一個試圖「包含開源項目」的平臺,而非開源自己。
例如,今年6月,GitHub曾經出現過宕機兩小時的狀況,這期間,成千上萬個開源項目沒法被訪問和使用。
對於此次GitHub泄露源碼的事件,你怎麼看?
已經走丟的GitHub源碼網址:
https://web.archive.org/web/2/https://github.com/github/dmca/tree/565ece486c7c1652754d7b6d2b5ed9cb4097f9d5
參考連接:
https://arstechnica.com/information-technology/2020/11/githubs-source-code-was-leaked-on-github-last-night-sort-of/
https://www.zdnet.com/article/github-denies-getting-hacked/
https://resynth1943.net/articles/github-source-code-leak/
https://news.ycombinator.com/item?id=24994746
https://www.theverge.com/2020/6/29/21306674/github-down-errors-outage-june-2020
程序員專欄 掃碼關注填加客服 長按識別下方二維碼進羣
近期精彩內容推薦:
在看點這裏好文分享給更多人↓↓