Github提交删除代码请求的申诉总结
Github 是目前相對最大的、使用人數最多的“男性交友平臺”,呸!說錯了,是“代碼托管交流平臺”,上面充斥著各種各樣的代碼和信息,可謂“寶藏平臺”。對于滲透測試人員來說,Github 最大的價值是在于滲透測試時利用其進行信息搜集工作,比如查找目標系統的源碼、數據庫地址、用戶名口令等等敏感信息。但是對于工作在甲方或者說擔任安全工作的各工程師、負責人來說,這無疑是最痛苦的和需要投入大量人力、物力的地方。
很多介紹企業安全建設或者安全架構體系之類的文章和書籍都會講到關于 Github 監控的事情,越來越多的安全人員開始去關注 Github 上面是否有自己單位業務的相關代碼和信息被泄露,監控和巡檢形式多種多樣,如人工登錄按照關鍵字篩查,也可以利用開源工具進行自動化監控巡檢,如 VIPKID 的 Github Monitor 以及 Hell0W0rld0 的 Github-Hunter 等等。但是難點和痛點其實不是前面說的這些工作,而是發現泄露后的排查分析和人員定位,如果泄露的內容中有上傳者的相關信息那還好辦,能夠聯系上,讓其刪掉。但是對于任何上傳者信息都找不到的情況怎么辦呢?
這時候我們就要另辟蹊徑了,如果花費了很多時間后仍然找不到上傳者本人信息,無法聯系進行刪除,那么就需要聯系 Github 官方進行申訴了,讓 Github 官方進行核實和刪除,避免信息被大范圍的泄露。
01
首先,Github 官方提供了一些列刪除政策的說明。這里我介紹下我常用的兩種 DMCA 刪除政策和敏感數據刪除政策。鏈接如下:
https://docs.github.com/cn/github/site-policy/dmca-takedown-policy
https://docs.github.com/cn/github/site-policy/github-sensitive-data-removal-policy
什么是 DMCA?
DMCA 為托管用戶生成內容的服務提供商提供了安全港。 僅僅一項侵犯版權的索賠就可能導致高達 150,000 美元的法定賠償,因此,對用戶生成的內容承擔責任可能對服務提供商非常不利。 如果面向數以百萬計的用戶,這種潛在損失將不可估量,可以說,假如沒有 DMCA,則 YouTube、Facebook 或 GitHub 等云計算和用戶生成內容的網站可能就不會存在或者至少會將部分成本轉嫁給用戶)。
DMCA 通過為托管涉嫌侵權用戶生成內容的互聯網服務提供商建立版權責任安全港,解決了這一問題。 從本質上講,只要服務提供商遵守 DMCA 的通知和刪除規則,就不會對基于用戶生成內容的侵權行為承擔責任。 因此,對 GitHub 而言,保持其 DMCA 安全港狀態非常重要。
什么是敏感數據?
就本文檔而言,“敏感數據”是指符合以下條件的內容:應該保密,并且一旦公開,會對您或您的組織造成特定安全風險。
敏感數據刪除請求適用于:
- 可訪問您組織的服務器、網絡或域的訪問憑據,例如用戶名與密碼組合、訪問令牌或其他敏感密鑰。
- 可代表您訪問第三方的 AWS 令牌和其他類似訪問憑據。 您必須能夠證明該令牌確實屬于您。
- 對組織構成特定安全風險的文檔(例如網絡圖)。 內部服務器名稱、IP 地址和 URL 本身不夠敏感;您必須能夠證明內部服務器名稱在特定文件或代碼段中的使用構成了安全威脅。
兩者的區別是:DMCA 刪除政策偏向于涉嫌版權侵權的申訴,只接受針對受版權保護的作品并且標識出具體版權,涉及面可能是整個倉庫,而敏感數據刪除政策偏向于一些應該保密但是被公開且易造成安全風險的信息,比如用戶名和密碼、網絡拓撲圖等,基本上是一些代碼片段和部分內容,很少會涉及整個倉庫。
02
如果內部員工或者外部惡意人員上傳了本組織內部擁有版權的一些產品或者系統的源代碼,在無法定位的情況下可以通過向 Github 官方提交 DMCA 刪除的請求。
流程:
DMCA 框架有點像課堂上傳紙條。 版權所有者向 GitHub 提交對某個用戶的投訴。 如果書寫正確,我們會將該投訴轉達給用戶。 如果用戶對投訴有異議,他們可以回傳“紙條”表達異議。 除了確定通知是否符合 DMCA 的最低要求外,GitHub 在此過程中幾乎不行使酌處權。 當事方(及其律師)應負責評估其投訴的合理性,并注意,此類通知受偽證處罰條款約束。
流程步驟:
- 版權所有者調查
版權的所有者即代碼被泄露的組織必須要進行初步調查,確保 github 上的內容是未經授權的且侵權的內容。
- 版權所有者發送通知
在進行初步調查后,需要編寫刪除通知并發送到 Github 官方。如果符合法律要求并且內容填寫足夠詳細,將會將該通知發布到公共倉庫 https://github.com/github/dmca,同時將連接發給受影響的用戶(上傳者)。之前 Github 提供了兩種發送通知的方式:郵件和在線提交,但是目前郵件發送的方式取消了,不再支持了,所以只有在線提交刪除通知這一種形式了。后面會詳細介紹如何提交這些內容。
- Github 要求上傳者進行更改
如果刪除通知指明整個倉庫內容都涉及侵權,那么將會直接到步驟 6 迅速禁用整個倉庫。否則會聯系上傳人,給其 1 個工作日的時間來刪除或修改刪除通知中指定的內容,同時通知版權所有者。
- 上傳者向 Github 通知更改
上傳者如果選擇進行制定內容的更改,必須要在 1 個工作日內告知 githuba 官方,否則會禁用整個倉庫,如果上傳者更改了,也會發送通知給版權所有者。
- 版權所有者修改或撤回通知
上傳者進行更改后,版權所有者必須進行審查,如果認為更改不充分,可以重申或者修改刪除通知。除非版權所有者聯系 github 重申或修改通知,否則 github 不會采取任何進一步的動作。如果版權所有者對更改感到滿意,可以提交正式的撤回聲明,或者什么都不做,靜默期超過兩周,github 將默認撤回刪除通知。
- Github 可能禁止訪問內容
在以下情況下,Github 將會禁用上傳者的內容:(1)版權所有者生成對整個倉庫擁有版權;(2)上傳者在收到整改通知后并沒有進行任何更改;(3)版權所有者在上傳者更改后重申了刪除通知。
- 上傳者可發送反通知
上傳者收到整改通知后如果認為錯誤指認而被禁用,可以向 Github 發起反通知,當然內容也要最夠詳細。也會發布到 github 官方的公共倉庫,并且通知給版權所有者。
- 版權所有者可提出法律訴訟
如果版權所有者在收到反通知后,如果希望繼續刪除或禁用該內容,則可以發起法律訴訟,需求法律幫助制止上傳者從事的相關侵權互動。如果版權所有者 10-14 天內沒有想 Github 發出通知(向法院提交的訴訟副本),Github 將重新啟用被禁用的內容。
03
按照 02 章節的流程步驟,我們進行初步調查后,確定是自己組織內產品或系統的代碼或者相關信息后,就可以向 Github 官方提出申訴了。Github 對于提交 DMCA 刪除有以下要求指南:
開始前…….
- 說實話
這個很重要。DMCA 要求對版權投訴中陳述的事實宣誓,捏造事實會受到偽證處罰。在宣誓中故意說謊是一種違反聯邦法律的罪行。提交虛假信息還可能導致民事責任,也就是說可能被起訴經濟賠償。所以在進行 DMCA 刪除申訴前一定要認真核實代碼等信息,百分百確定是被侵權的內容且有相關版權的證明。
- 調查
DMCA 投訴是一種嚴重的法律質控,所以在提交刪除申訴前一定要認真調查。
- 先問清
在發送刪除申訴前嘗試直接聯系用戶,是一個良好的開端。當然,在沒有上傳者信息的情況下,可以在倉庫中新建 issue,取得聯系。這個不是強制要求,但是卻很有效果,如果沒有提前聯系,官方處理時間會延遲 10 天左右,不會優先處理。
- 發送正確請求
只接受針對受版權保護的作品并標識出具體版權作品的 DMCA 刪除通知。如果要投訴商標濫用、刪除敏感信息請參考其對應的政策要求。
- 代碼不同于其他創意內容
Github 是軟件代碼寫作的平臺。因此,在這里識別有效的版權行為,比識別照片、音樂或視頻等方面的版權侵權行為要復雜的多。
- 不要使用自動程序
應該讓專業人員來評估發送的每個刪除通知申訴的內容。也不要使用自動化程序和工具進行批量申訴提交,這些提交往往是無效的。
- 版權問題難以確定
比如一些字詞短語、URL 和域名通常不受版權保護,所以提交之前建議咨詢下律師等專業人士,給出一些參考意見。
- 你可能會收到反通知
前面第 02 章節提到,如果上傳者認為是被錯誤指認的,可以提出反通知,也會發送給版權所有者
- 你的投訴將被公布
投訴被接受后,會將投訴公布在 https://github.com/github/dmca 這個倉庫中。
- Github 不是法官
Github 在整個過程中,除了確定是否符合 DMCA 最低要求外,幾乎不行使酌處權。當事方(及其律師)應負責評估其投訴的合理性,并注意,此類通知受偽證處罰條款約束。
投訴必須包括如下內容:
- 包括以下聲明:“我已閱讀并理解 Github 的《提交 DMCA 通知指南》。”如果申訴未包括此聲明,但是其他內容完整,Github 不會拒絕處理,但是會要求先完成閱讀指南。
- 標識出被侵權的作品。這條就是說版權所有者要把自己的版權信息具體標識出來,如果是已經發布的,需要將鏈接發出來,如果是尚未發布的專有信息,可以對其進行詳細描述并說明他是專有信息。如果已經在版權局注冊,則應提供注冊號。當然了如果托管的內容完全是直接復制作品,也可以只闡述這一事實,但如果只寫這一句話,處理時間估計會延長。
- 標識聲稱侵犯了上述第 2 條中所列版權作品的材料。這一步就是說要詳細的把侵權的內容標識出來,要讓 Github 官方能夠找到所指的內容。比如應該包括涉嫌侵權的 URL。如果不是整個倉庫都侵權,需要標識出具體的文件或者文件中的行號和具體信息。當然,如果所有該 URL 的所有內容都侵權也需要明確說明。需要注意的是,Github 在禁用父倉庫時,不會禁用 fork 的內容,如果調查分析了 fork 的內容也涉嫌侵權,需要明確標識出涉嫌侵權的 fork。
- 說明侵權用戶需要采取哪些補救措施。這個就是一旦查明上傳者侵權屬實,那我們版權所有者需要上傳者做的動作和要求。比如,用戶只需添加歸屬聲明、刪除代碼中的某些行、刪除整個倉庫等都需要明確說明。
- 提供申訴人的聯系信息。包括電子郵件地址、姓名、電話號碼和實際地址。
- 提供涉嫌版權者的聯系信息(如果知道)。一般是通過提供上傳者的 Github 用戶名來滿足要求,當然如果知道更多的信息也可以提供出來。
- 最后聲明:“我堅信,在侵權網頁上使用上述版權材料,未經版權所有者、其代理人或法律的授權。我已考慮合理使用的情況。”以及宣誓:“本人謹此宣誓,本通知中的信息準確無誤,對于涉嫌受到侵犯之專有權,本人是所有者或者所有者的授權代表,如有不實,愿接受偽證處罰。”
- 提供手寫或電子簽名。
04
之前,Github 還接受郵件申訴,但是現在不支持了,前幾天發了一封申訴郵件,發完立刻收到回信,表示郵件方式已經不再受理了。
所以,只能使用在線申訴。。
地址:https://support.github.com/contact/dmca-takedown
這里面的內容和第 03 章節中投訴必須包括如下內容:是一致的,可能順序稍微有點不太一樣,但是影響不大,只要按照每個標題提示輸入相應的內容即可,在這里明確一點,我提供的截圖是翻譯成中文版的,原始頁面是英文,而且大家在申訴填寫相關內容時也要填寫英文,不能輸入中文,畢竟老美看不懂。遇到不會的詞或句子可以通過翻譯工具翻譯后貼上。
成功提交后,很快會收到 Github 的回信。類似這樣:
然后等著就行了。
05
接下來,再總結下敏感數據刪除的一些過程內容。
敏感數據刪除主要指的是一些保密銘感信息,比如組織的網絡拓撲圖、系統的用戶名和密碼等等,如果這些信息數據被上傳者上傳到了 Github,無法定位上傳人員的情況下,可以向 Github 官方發起敏感數據刪除申訴。敏感數據的刪除要求和流程步驟基本上和 DMCA 刪除的差不多,也是調查分析、發起請求、不能使用自動程序、用戶整改等等,但是比 DMCA 的稍微簡單點,這里不再贅述,詳細了解可參考 https://docs.github.com/cn/github/site-policy/github-sensitive-data-removal-policy。
敏感數據刪除請求需要包括如下內容:
- 每個包含敏感數據文件的可點擊的有效鏈接。不能是搜索的結果、示例或者截圖。
- 每個文件中包含敏感數據的具體行號。
- 描述每條敏感信息對你或者組織構成的安全風險。不僅要指出敏感數據,還要解釋這些數據如何構成安全風險,這個很重要。
- 如果您是代表面臨安全風險之組織行事的第三方,需要附上聲明,表面具有代表該組織行事的合法權利。
- 可選:如果請求非常急迫,需要說明原因。
在線刪除請求的地址 https://support.github.com/contact
根據要求在輸入框中輸入敏感數據要求包括的內容和期望的動作即可。同樣也是必須要使用英文填寫的。
以上就是在處理 Github 代碼和信息泄露時,如果定位不到上傳人時,經常用到的兩個刪除申訴的過程要求和一些需要注意的點。如果不按官方的要求來,要么會拒絕處理,要么是等待時間很長很長,所以一定要把申訴內容準備的充分一點。希望我總結分享能夠幫助到有需要的人。
最后,也希望大家積極和我交流,共同提高!
總結
以上是生活随笔為你收集整理的Github提交删除代码请求的申诉总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 凯撒啤酒
- 下一篇: 半情歌 - (电视剧《命中注定我爱你》插