吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

YouTube源代碼管理器Git存在Bug

lhl545545 ? 來源:雷鋒網 ? 作者:貝爽 ? 2020-11-10 09:41 ? 次閱讀

YouTube-dl事件剛剛過去不久,GitHub又登上了Hacker News榜首。

原因是其源代碼被全部泄露!

開發者Resynth 發表的一篇博客中了解到,在一個向 GitHub 官方 DMCA 倉庫提交的可疑 Commit 中,一名不明身份人員利用 GitHub 應用程序中的bug 假冒GitHub CEO 奈特·弗里德曼 (Nat Friedman)上傳了機密源代碼。

泄露文件已被全部刪除

GitHub想必大家都非常熟悉,它是一個大型代碼存儲庫,主要為企業和開發人員提供托管項目和服務代碼。蘋果、亞馬遜、Google、Facebook以及其他許多大型科技公司都是其主要客戶。

目前,GitHub已托管超過1億個存儲庫,為4000萬開發人員提供資源支持。

因此,此泄露事件一出便迅速沖上了Hacker News熱搜,不少開發者表示為GitHub平臺的安全性感到擔憂。

對此,GitHub CEO Friedman本人則第一時間在熱帖下做出了解釋。他表示:

GitHub沒有被黑客入侵,被泄露的是部分GitHub Enterprise Server源代碼。二者雖然共享大量代碼,但GitHub主要是由Rube編寫,還是有很大差異的。

另外,這一事件的起因是幾個月前,開發人員無意間將企業服務器源代碼的未脫敏/混淆的 tarball 交付給了一些客戶造成的。我們正在全力修復平臺Bug,防止未經授權的不明人士通過偽造身份隨意盜用、修改他人項目。

YouTube源代碼管理器Git存在Bug

最后,Friedman為了安撫用戶甚至還吟了首勃朗寧的詩:一切都很好,情況也很正常,云雀展翅飛翔,蝸牛在荊棘上爬動,世上一切順當!

不過,開發者們對此回應并不買賬。從他們的吐槽來看,Github代碼管理系統早已存在多項Bug,比如提交代碼時,Git不會對用戶身份進行核驗。這一點會給源代碼帶來極大的安全風險,但GitHub平臺對此從未重視過。

另外,有人表示正是利用這一缺陷,不明人士才得以冒充Friedman身份發布了機密代碼。

源代碼管理器Git存在Bug

Git,是Github用來托管源代碼的分布式版本管理系統,簡單來說,就是源代碼管理器。

它的設計存在一種明顯的缺陷,即沒有為防止其他用戶盜用提供太多的保護。

具體來說,Git 上傳代碼文件的過程,類似于發送電子郵件。用戶可以在user.name和user.email字段中輸入任何信息。這一過程中,如果兩個字段之間不采用GPG密鑰關聯,系統就不會核查它的指定來源,那么信息造假會變得非常容易。

上述不明人士順利提交成功,顯然是Friedman沒為相關字段建立GPG(General Planning Group)密鑰。

那么,在繞過這層限制后,不明人士又是如何提交至存儲庫,同時又不損害實際存在賬戶的?

據了解,將提交內容上傳到Git存儲庫會得到一個散列,可用于查找樹。GitHub是Web應用程序的一部分,提供了對瀏覽器中底層Git結構的訪問權限,因此,它可以將Git存儲庫的所有分支存儲在一個單獨的底層存儲庫中,盡管通常不會在URL結構中顯示這種方式。

為了假冒別人的賬戶,不明人士首先需要克隆一個DMCA儲存庫。在擴展到存儲庫之后,再提交泄漏源代碼,并偽造成Friedman的姓名和電子郵件地址。這個過程Fork存儲庫可能會出現錯誤,換句話說,URL可能依然指向假冒者真正的用戶名和賬戶。

但在底層Git上,父級和Fork都是同一個存儲庫的一部分,這將允許假冒者創建一個URL,該URL可以在主存儲庫中提交,而不是在Fork中。

因此,假冒者從https://github.com/github/dmca開始,將tree/$hash追加到末尾,其中$hash是攻擊者自己的fork提交的散列值。

結果假冒者得以代替Friedman使用了一個URL在GitHub上提交了自己的機密代碼。

值得一提的是,除了代碼安全性的擔憂之外,這件事也再度引起了開發者們對GitHub開源態度的關注。

長久以來,GitHub 一直因為未公開源代碼而飽受詬病,而恰好前幾日,GitHub再度因封殺視頻神器YouTube-dl而陷入輿論風波。

據了解,此次泄露事件的發生,很可能是這位不知名開發者對封殺YouTube-dl一事的報復。

或許與下架YouTube-dl有關

上個月,在美國唱片業協會(RIAA)的要求下, GitHub 封禁了7.5萬Star的熱門開源項目 YouTube-dl。

當時RIAA其給出的理由是,YouTube-dl其違反了DMCA的反規避條款:

此源代碼的明確目的是:1)規避 YouTube 等授權流媒體服務所使用的技術保護措施;2)未經授權復制和分發會員公司擁有的音樂視頻和音頻。3)除YouTube外,該源代碼在 GitHub上支持更多網站下載視頻。

但GitHub將YouTube-dl下架,卻激怒了開發者們,他們在GitHub上復制并上傳了大量代碼副本,以此對該下架行為表示抗議。目前在GitHub上搜索YouTube-dl,相關結果高達4108個。

后來,GitHub公司法律團隊不得不發出最新警告,稱如果繼續發布代碼副本,可能會對其進行封號處理。

請注意,在未遵循流程的情況下重新發布YouTube-dl代碼副本是違反GitHub平臺DMCA政策和服務條款的。如果您在明知違反服務條款的情況下,繼續向該存儲庫提交或發布相關內容,我們會將其刪除,并可能中止對您帳戶的訪問權限。

雖然造成此次泄露事件的不知名人士并未對此事公開表態,但有人猜測稱可能是他對GitHub下架該項目的報復。

另外,在Friedman回應泄露事件的帖子下可以看到,不少網友對GitHub因DMCA協議而下架YouTube-dl表示不滿。

還有一位用戶表示,GitHub之所以這樣做,很可能是因為微軟是RIAA的成員。他說,DMCA 所要求的下架不是讓代碼版權所有者本身下架,GitHub作為一家倡導開源的獨立公司,它不需要遵守RIAA的非法請求。

可以看出,網友們的不滿顯示是因為封禁一事與GitHub最初的開源初衷背道而馳。

GitHub開源精神惹爭議

2018年,微軟以75億美元的價格收購GitHub。新任 CEO Nat Friedman 曾表示:GitHub 將始終堅持開發者優先并獨立運營。

Resynth在博客中也表示:微軟一再強調致力于開源,這一點我們從很多商業廣告中經常可以看到,它的目的是讓微軟出于開源發展的最前沿。

但現在來看,微軟似乎并沒有做到承諾的那樣,而且YouTube-dl也只是最近發生的一例而已。事實上,GitHub因將其源代碼保密的問題已經在業內廣受批評。

另外,Resynth也提醒稱,這次事件也不得不讓人們擔心 GitHub 源代碼的安全性。因為閉源應用程序執行的是“隱蔽式安全 (Security By Obscurity)”,即源代碼是隱藏的,目的是降低安全風險。

如果 GitHub 真的公開源代碼,很可能會損害其整體的安全性。
責任編輯:pj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9308

    瀏覽量

    86072
  • BUG
    BUG
    +關注

    關注

    0

    文章

    155

    瀏覽量

    15725
  • Youtube
    +關注

    關注

    0

    文章

    143

    瀏覽量

    15671
收藏 人收藏

    評論

    相關推薦

    KiCad 9 探秘(五):敷銅管理器

    “ ?KiCad 9 中新增了敷銅管理器的功能,可以讓您更方便的查看或編輯 PCB 中的敷銅。 ? ” 敷銅管理器有什么用? 敷銅管理器(Zone Manager)可以幫助您在同一個對話框中查看或
    的頭像 發表于 02-06 11:15 ?66次閱讀
    KiCad 9 探秘(五):敷銅<b class='flag-5'>管理器</b>

    飛凌嵌入式ElfBoard ELF 1板卡-移植前準備之git管理內核源碼

    我們前邊已經介紹過Git工具,是一個非常實用的代碼管理工具。如果驗證編譯出的內核能夠正常啟動,就可以將源碼用git工具管理起來。可以清楚的了
    發表于 01-22 10:39

    飛凌嵌入式ElfBoard ELF 1板卡-git管理源碼之git安裝和使用

    分兩種方式,一種是管理當前的代碼,給當前代碼創建一個git倉庫,這種需要初始化新倉庫;還有一種是用clone克隆一個遠程倉庫到自己當前目錄下,這種適合一群人維護一個倉庫,也是常見的方式
    發表于 01-14 09:08

    云服務 Flexus X 實例:部署 Gitea,擁有自己的 Git 倉庫,管理本地代碼

    、零售、金融、游戲等眾多領域的通用工作負載需求。本文旨在詳細闡述如何高效利用“云服務 Flexus X 實例”,包括如何在其中從零開始,通過安裝相關依賴、安裝 Docker、安裝 Gitea 等步驟,實現自己的 Git 倉庫,管理
    的頭像 發表于 01-07 16:59 ?127次閱讀
    云服務<b class='flag-5'>器</b> Flexus X 實例:部署 Gitea,擁有自己的 <b class='flag-5'>Git</b> 倉庫,<b class='flag-5'>管理</b>本地<b class='flag-5'>代碼</b>

    Flexus X 實例 C#/.Net Core 結合(git 代碼管理、docker 自定義鏡像)快速發布部署 - 讓你的項目飛起來~

    與 Docker 容器化部署,實現代碼高效管理與無縫遷移。即刻行動,讓您的 Web 服務更加穩定、高效,領跑數字化轉型之路! ???本實驗深入演示了如何在 Ubuntu 環境中,利用 Git 進行版本控制
    的頭像 發表于 12-25 21:15 ?211次閱讀
    Flexus X 實例 C#/.Net Core 結合(<b class='flag-5'>git</b> <b class='flag-5'>代碼</b><b class='flag-5'>管理</b>、docker 自定義鏡像)快速發布部署 - 讓你的項目飛起來~

    Gmapping源代碼

    Gmapping源代碼.docx
    發表于 11-16 13:42 ?0次下載

    bq40z50EVM鋰離子電池包管理器評估模塊

    電子發燒友網站提供《bq40z50EVM鋰離子電池包管理器評估模塊.pdf》資料免費下載
    發表于 11-07 09:42 ?1次下載
    bq40z50EVM鋰離子電池包<b class='flag-5'>管理器</b>評估模塊

    TLV320AIC31的HPLOUT輸出到音頻管理器,音頻管理器輸出接到耳機,聲音幾乎聽不到怎么處理?

    TLV320AIC31的HPLOUT后面接到音頻管理器的輸入,對我這邊要求是,匹配阻抗600歐姆時,輸出電壓最大有效值800mv,請問TLV320AIC31的HPLOUT滿足這樣的輸出要求嗎,還是說必須
    發表于 10-12 07:02

    負載管理器的主要功能

    負載管理器(Load Manager)是計算機系統中的一個關鍵組件,它負責分配和管理計算資源,以確保系統運行的效率和穩定性。負載管理器的主要功能包括任務調度、資源分配、性能監控、故障恢復等。以下
    的頭像 發表于 10-10 11:26 ?425次閱讀

    hex可以轉成源代碼

    Hex文件可以轉換成源代碼的近似形式,但無法直接還原為原始的、完全相同的源代碼 。這是因為Hex文件是二進制文件,包含了程序編譯后的機器碼,這些機器碼與原始的源代碼在結構和表達上存在
    的頭像 發表于 09-02 10:41 ?1209次閱讀

    stm32H7 HAL庫中存在bug

    stm32H7 hal 庫里面的以太網代碼,坑了魚鷹很多次(不知道最新版是否已經修復了這些bug),這里分享一篇網上的文章,因為魚鷹也遇到過,靠它解決了其中一個編譯優化問題,在此感謝作者。不過hal
    的頭像 發表于 08-12 17:37 ?1384次閱讀

    企業如何保護源代碼安全?做好源代碼防泄密工作

    出現了相似或相同功能的產品。這無疑引發了企業管理者們對于企業源代碼數據泄漏的深深憂慮。 許多企業錯誤地認為,只要采用了版本管理工具如Git或SVN,
    的頭像 發表于 05-22 16:01 ?509次閱讀

    超級電容管理器bq33100數據表

    電子發燒友網站提供《超級電容管理器bq33100數據表.pdf》資料免費下載
    發表于 04-01 10:13 ?2次下載
    超級電容<b class='flag-5'>管理器</b>bq33100數據表

    Windows 11 22H2新版任務管理器新增啟用隱藏功能

    關于如何隱藏調用舊版任務管理器,網友 @thebookisclosed 分享了詳細步驟。他指出,在現有 Windows 11 環境中,即使按 Ctrl+Shift+Esc 組合鍵也難以調出老版本的任務管理器,需通過特定路徑“C:\Windows\SysWOW64\Task
    的頭像 發表于 03-27 15:08 ?558次閱讀

    安卓版Chrome瀏覽現已支持第三方密碼管理器調用

    據報道,數據解析專家Leppeva64近日在安卓版谷歌Chrome瀏覽源代碼中透露,該瀏覽已在安卓平臺上實現了對第三方密碼管理器的調用支持,并覆蓋Stable、Beta及Cana
    的頭像 發表于 03-19 11:04 ?774次閱讀
    缅甸百家乐官网网上投注| 真人百家乐官网是啥游戏| 百家乐官网技巧公司| 百家乐智能分析软| 威尼斯人娱乐城线上赌场| 九龙坡区| 新彩百家乐官网的玩法技巧和规则 | 百家乐官网作弊演示| 做生意适合摆放龙龟吗| 百家乐博娱乐赌百家乐的玩法技巧和规则| 535棋牌游戏| 电脑赌百家乐官网可靠吗| 百家乐tt赌场娱乐网规则| 如意坊娱乐城| 游艇会百家乐官网的玩法技巧和规则 | 百家乐官网怎么赢对子| 真人版百家乐官网试玩| 大发888娱乐场下载官方| 博彩百家乐官网心得| 百家乐散台| 古交市| 菲律宾百家乐太阳城| 网上赌博| 不夜城百家乐官网的玩法技巧和规则 | 百家乐官网家乐娱乐城| 威尼斯人娱乐城投注网| 百家乐官网赌场优势| 百家乐如何看| 利记百家乐官网现金网| 百家乐投注平台导航网| 奉节县| 澳门百家乐庄闲和| 白沙| 玩百家乐高手支招篇| 宜君县| 百家乐二游戏机| 定陶县| 百家乐最新产品| 百家乐官网游戏机分析仪| 百家乐打闲赢机会多| 百家乐官网视频台球游戏|