GitHub在今日的Universe大會中,發布了GitHub Security Lab計畫,欲集結眾多企業投入提升開源程式碼安全性的工作,同時也免費釋出程式碼語義分析引擎CodeQL,讓社群開發者能更快速地尋找開源軟體的漏洞程式碼,另外,還公開啟用了GitHub通報資料庫,作為平臺上公共的通報資料庫。

GitHub提到,維護全球開源軟體安全的工作並不容易,主要面臨三大問題,分別是龐大的規模、人才短缺以及協作上的障礙。規模的阻礙來自大量的程式碼,GitHub舉例,光是JavaScript生態系統,就存在超過一百萬個開源套件,更別說所有開發語言的總和,而且開發人員與資訊安全專業人員數量相比約為500比1,而且這些安全專業的人才散布於各家公司,難以良好的協作。

創立GitHub Security Lab的目的,是要集結全球安全研究社群,共同維護開放原始碼的安全,GitHub本身已經開始投入大量的資源,探索和回報開源專案中的漏洞,到目前為止已經發現了100多個CVEs。目前參與計畫的企業包含了F5、Google、英特爾、微軟、摩根大通和Mozilla等14家企業,他們將共同投入資源以發現並修復開源軟體中的漏洞。

為了強化安全研究社群的能力,GitHub免費開放社群,在開源程式碼使用程式碼分析引擎CodeQL。CodeQL提供一種方便的程式碼查詢方法,可以像是查詢資料庫一樣查詢程式碼,研究人員可以編寫查詢語法搜尋造成漏洞的程式碼,一次解決相同類型的漏洞。

另外,GitHub平臺也提供了安全通報功能,維護人員現在可以和安全研究人員,私下修復安全漏洞,並且也可以直接在GitHub上申請CVE,並設定有關於漏洞的結構化訊息,而當漏洞修補人員準備好發布安全通報時,則GitHub會對所有影響的專案發送警示。

除了發送漏洞通知之外,GitHub進一步提供自動更新拉取請求,以更積極的做法幫助開發人員處理新發現的漏洞。GitHub會為新漏洞建立自動安全性更新的拉取請求,以更新受漏洞影響的相依項目。自動化安全更新功能目前已經正式發布,會自動為啟用安全警示功能的儲存庫開啟這項功能。

GitHub提供公共安全通報資料庫,維護者可以建立通報資料,並將其整理對應到GitHub相依關係圖追蹤的套件。用戶可以在瀏覽器直接瀏覽這些CVE紀錄,或使用安全通報API以程式存取這些資料。

為了預防開發者因為將令牌或是憑證寫死在專案中,並推送到GitHub公開儲存庫所導致的安全性問題,GitHub現在會掃描20多個雲端供應商的令牌格式,當在專案中發現對應的資料時,GitHub會通知雲端供應商,由他們採取行動,通常會先撤銷該令牌並通知受影響用戶。


Advertisement

更多 iThome相關內容