對GitHub的審查和封鎖

對GitHub的審查和封鎖的行動經常在多個國家發生，例如中華人民共和國、俄羅斯、印度、土耳其等。審查和封鎖包括但不限於DNS汙染、中間人攻擊等方式。由於使用者量巨大，以及諸多使用者對開發資源的需求強烈，故相關封鎖常引發使用者和科技公司的強烈反應。背景.GitHub是一個基於Git的原始碼託管網站，主要用於儲存原始碼並用於專案管理。截止到2015年，GitHub已有超過1000萬用戶和2.4億個Git倉庫。此外，GitHub還提供了免費的服務和免費的網路空間GitHub Pages。GitHub許可協議禁止濫用GitHub的各項服務，保留了刪除內容的權力。此外，如果GitHub收到DMCA刪除通知，GitHub也會刪除專案。中華人民共和國.防火長城封鎖.DNS汙染.2013年1月20日，中華人民共和國政府的防火長城利用DNS汙染和關鍵詞過濾等手段封鎖GitHub，令中國大陸的使用者無法正常訪問。對此，李開復在新浪微博抗議，迅速引起廣大網民的關注，這條資訊更在三小時內被轉發逾3萬2千次。2013年1月23日，GitHub被解封，事件得以平息。修改DNS伺服器為阿里巴巴的223.5.5.5可以緩解。自2014年11月起，Github Gist在中國大陸被封鎖，封鎖方式為DNS汙染，至今未解除封鎖。2019年10月29日晚間，為GitHub提供託管原始碼原始檔案的域名。此外，一些託管在Github Pages上的部分網站也遭到了DNS汙染，比如端點星。中間人攻擊.2013年1月26日，有中國大陸的使用者在訪問GitHub時發現證書無效，經檢查發現，GitHub的證書變為了一自簽署的X.509證書，生成時間為2013年1月25日，有效期一年，故有人推測GitHub疑似遭到了中間人攻擊。攻擊持續了約一個小時後停止，訪問恢復正常。2020年3月26日，中國大陸多地使用者訪問GitHub Pages時發現遭遇中間人攻擊，證書變為一張透過私人QQ郵箱自簽名的證書，生成時間為2019年9月26日。部分地區遭受攻擊數小時後停止，但也有部分地區持續遭受攻擊1-2天且證書變為了另一張使用MyMail自簽名的證書。部分使用者稱同一時間京東也遭到了相同攻擊，Github主站和部分子域名也遭到了攻擊，百度、必應更是在3月24日就遭到了該證書攻擊，有第三方研究者指出影響的域名多達15462個，且劫持早在3月21日就已開始。尚無明確證據證明此次事件與審查有關。DDoS攻擊.GitHub從2015年3月26日凌晨2時左右起遭到了持續的DDoS攻擊。GitHub在其部落格稱，這次攻擊是GitHub歷史上最嚴重的一次DDoS攻擊。GitHub堅信攻擊者的目的在於迫使GitHub刪除特定型別的內容。第三方研究者指出，此次攻擊採用了HTTP劫持，百度的JS指令碼檔案被中間人植入了攻擊GitHub的程式碼，其功能是每隔2秒載入一次GreatFire或其運營的紐約時報中文網映象站點的帳號主頁。。百度已否認自身產品存在安全問題。這次攻擊導致GitHub在全球範圍內的訪問速度下降。2015年3月28日起，GitHub在中國大陸十分不穩定，多數情況下無法訪問。截止29日，攻擊者共使用了四種DDoS攻擊技術：根據系統狀態訊息頁面的顯示，已於3月31日停止了網路攻擊，該日凌晨0:09分已經穩定。GitHub在其Twitter與微博予以了證實。至此，此網路攻擊共持續了五天。這次用於網路攻擊的工具被稱為“大炮”。2015年3月30日，中國外交部發言人在例行記者會上被媒體問及此事時，不承認也不否認網路攻擊與中國政府有關，稱“中國是網路-{黑}-客攻擊的最主要的受害者之一。”、“近期似乎只要是美國或者其他哪個國家有網站受到攻擊，就會有人聯想是不是中方-{黑}-客所為，這很奇怪。”2015年4月1日，美國總統奧巴馬簽署了一項政令，授權的內容為：凡參與由美國境外授意或實施，且對“美國的國家安全、外交政策、經濟狀況，或者金融穩定造成重大威脅”的駭客，將採取旅行與金融方面的制裁；5月8日，美國國務院發言人Jeff Rathke稱，美國聯邦政府已要求中國當局調查相關的網路攻擊並告知調查結果。2015年8月22日，翻牆軟體Shadowsocks作者迫於警方壓力刪除專案。25日，翻牆軟體GoAgent作者自行刪除自己的程式碼。同一天GitHub再次遭到來自中國大陸的DDoS攻擊。開發者普遍認為此次攻擊與中國政府有關。IP地址封鎖與間歇性阻斷.自2019年12月起，Github所有靜態資源。自2020年中旬起，由於WordPress部落格所屬的IP地址192.0.66.2在中國大陸地區遭到與上文所述相同的IP地址封鎖，故導致Github的官方部落格受到牽連，無法在中國大陸正常訪問。自2021年2月末起，從而出現連線重置、連線超時等錯誤，每次封鎖至少持續3分鐘後才能正常進入網站。這導致了Github在中國大陸的訪問被嚴重干擾，非常不穩定，時斷時續，相關干擾一直持續至今未解除。2022年後，間歇性阻斷似乎有所減輕。政府刪除請求.自從2016年開始，GitHub為了防止在實施網際網路審查的國家被完全封鎖，啟用了黑名單機制，他們會稽核來自於那一些國家的政府請求，並使得政府請求的頁面無法被來自於該國的IP地址訪問，並顯示“Repository unavailable because of the Chinese Internet Blacklist”。根據GitHub官方所說，這是“以便我們在該轄區的使用者可以繼續訪問GitHub進行協作和構建軟體。”他們專門建立了一個頁面來記錄所有可供公開的政府請求。2016年6月8日，中國網路空間安全協會致信 誹謗中共中央總書記習近平涉嫌殺害自己的同父異母的兄長習正寧，要求儘快刪除該issue。三天後GitHub公開了這封公開信。這是GitHub收到的第六個政府刪除請求，也是第一個來自中國政府的請求。該專案是部落格主程式設計隨想製作的“趙家人”名單。目前，在中國大陸訪問該專案，網站會返回HTTP 451錯誤。瀏覽器端遮蔽.2019年4月3日起，中國部分公司的一些網頁瀏覽器專案倉庫標記為“危險網站”、“違法網站”、“欺詐網站”等，阻止使用者訪問相關GitHub網頁。同年11月30日起，上述瀏覽器遮蔽了搭建在Github上的Evil Huawei專案。俄羅斯.俄羅斯政府透過俄聯邦電信、資訊科技和大眾傳媒監督局維護一份網路封鎖的黑名單，封鎖網站包括兒童色情、毒品、宣揚自殺、宣揚恐怖主義和其他非法網站等。運營商封鎖.2014年12月2日，俄聯邦電信、資訊科技和大眾傳媒監督局因為網站內包含了幾種涉及自殺教學的內容而封禁了GitHub。因為GitHub全站使用HTTPS連線，無法針對部分頁面進行封鎖，因此網際網路服務供應商被強制要求封鎖整個網站。 實行封鎖的運營商包括：Beeline、MTS、MGTS和Megafon。監督局負責人Maxim Ksenzov表示，GitHub被封禁是因為之前的2014年10月10日GitHub未遵守俄羅斯的刪除請求。在2014年10月2日GitHub曾被短暫封鎖，直到原始的自殺教程被刪除。被封禁的內容.2014年3月23日，有人在GitHub上面釋出了介紹自殺的手冊，內含用俄語描述的31種自殺方法，該專案被數個使用者複刻。在GitHub被封鎖之後，很多GitHub使用者舉報了該專案。該專案於2014年10月2日被建立者刪除。回應.按照俄羅斯政府的相關要求，GitHub遮蔽了相關倉庫在俄羅斯內的訪問，以解除對GitHub的封鎖。GitHub為監督局專門建立了一個名為“roskomnadzor”的倉庫，並記錄來自監督局的刪除通知。在倉庫的README檔案中，GitHub指出，他們對網際網路審查表示關注，公開透明是為了防止一些審查反倒會使事情慾蓋彌彰。GitHub還指出，釋出通知僅僅是為了記錄，不會針對倉庫內容的觀點進行判斷。政府刪除請求.截至2016年6月，GitHub共收到6份政府刪除請求，其中5份來自俄羅斯政府。印度.印度根據聯邦和州法律來審查網站。網際網路服務供應商需要按照的要求來進行審查。但有評論指出，這些法律規定比較模糊，供應商容易過分審查。運營商封鎖.在2014年12月17日，命令運營商封禁32個網站。命令於2014年12月31日被公開，其中包括GitHub、Gist、Vimeo、網際網路檔案館和多個服務。封鎖令被印度執政黨印度人民黨的Arvind Gupta所證實，他還指出封鎖令與印度的反恐小組針對伊斯蘭國的建議有關。Gupta還指出，配合政府調查的網站會被解除封鎖。2015年1月2日，印度通訊部門宣佈將解封四個網站，其中有GitHub Gist，並指出一旦剩下的網站遵守印度法律，也會被解除封鎖。解釋封禁原因時，部長提到“在這些網站中，大多數網站在釋出內容之前都不需要任何稽核……這些網站經常被用於傳遞和交流吉哈德內容……”2015年1月4日，一個GitHub發言人指出，一些使用者在訪問GitHub時仍然會遇到困難，GitHub已經和印度政府進行接觸，但仍然無法確定封禁的具體原因。發言人還指出，使印度的開發者能夠重新訪問GitHub是他們的高優先順序工作，他們“願意與印度政府合作，建立一套識別和處理非法內容的過濾系統，以恢復網站的正常訪問，並確保將來不會再受到影響。”影響.據印度時報報道，運營商Vodafone、BSNL、Hathway封鎖了GitHub而透過Airtel仍能訪問。因為封鎖令只告訴運營商封鎖哪些網站但未指出如何封鎖，因此封鎖程度是不同的。封鎖是不可靠的，並且似乎發生在多個層面上。即使是同一運營商，封鎖方法也有多種，包括IP封鎖、使用代理伺服器、DNS汙染。根據封鎖程度不同，突破封鎖的方法也不同，例如更換DNS伺服器或使用代理軟體。批評.針對封鎖，TechCrunch評論到“在名單中加入GitHub……是最腦殘的決定之一”，並預言GitHub在資訊科技領域的重要性會使封禁行為引發抗議。Twitter使用者透過“#GOIblocks”標籤進行抗議，並引用納倫德拉·莫迪在2012年發表的資訊來譴責網路封鎖。印度匿名者多次向政府發出威脅，但並未採取實際行動。土耳其.2016年10月8日，在土耳其駭客組織聲稱入侵土耳其能源部長、埃爾多安女婿阿爾巴伊拉克之後，命令網際網路服務供應商封鎖幾個檔案分享網站，包括Dropbox、Microsoft OneDrive、Google Drive。觀測網路審查情況的Turkey Blocks注意到GitHub於次日上午被封鎖，並且相關的封鎖令被資訊與通訊技術署逐步釋出出來。封鎖導致依賴GitHub的軟體無法正常執行。Startup Istanbul活動的參與者也表達了對基礎設施可用性的不滿。在土耳其，#GitHub標籤成為了Twitter的熱門標籤之一。按照The Daily Dot的說法，RedHack組織蓄意透過多種服務來傳播郵件內容，期待土耳其政府將其封鎖，以造成史翠珊效應。18小時後GitHub被解封。美國.2019年5月起，美國的出口管理條例開始對開原始碼進行管制。此時開始對伊朗、敘利亞和克里米亞的私人repo和付費賬戶實施限制，2020年4月起一個名為Aurelia的軟體程式碼被GitHub封鎖引起較大紛爭，其理由為參與的兩個志願者為伊朗人，引起該程式諸多志願者不滿並於矽谷的「 駭客新聞 」論壇大舉批判，後續GitHub改變作法重新啟動Aurelia頁面但封鎖兩個伊朗人帳號，之前並發生過一名為Hamed Saeed的開發者已經移民芬蘭多年但祖籍為伊朗而被封鎖的事件。此事件引發一個後續討論，美國訂定的制裁他國法案僅限於不讓特定外國人使用美國技術，然而GitHub上的技術是各國志願者撰寫並無償分享，並非美國購買有版權的所有物，其中也包含伊朗程式員也就是其實有伊朗的技術，美國無權拿不屬於自己的東西制裁別人甚至「拿伊朗的技術制裁伊朗」。GitHub最後在爭議下覺得有所理虧而改變作法，被封禁的使用者可以下載回自己的作品，但依然不能在社群裡檢視程式碼。