Github 去年推出的安全警告,極大減少了開發人員消除 Ruby 和 JavaScript 專案漏洞的時間。安全警告服務現在只支援 Ruby 和 JavaScript,不過 Github 表示 2018 年計劃支援 Python。
GitHub 安全警告服務,可以搜尋依賴尋找已知漏洞然後通過開發者,以便幫助開發者儘可能快的打上補丁修復漏洞,消除有漏洞的依賴或者轉到安全版本。
根據 Github 的說法,目前安全警告已經報告了 50 多萬個庫中的 400 多萬個漏洞。在所有顯示的警告中,有將近一半的在一週之內得到了響應,前7天的漏洞解決率大約為30%。實際上,情況可能更好,因為當把統計限制在最近有貢獻的庫時,也就是說過去90天中有貢獻的庫,98%的庫在7天之內打上了補丁。
這個安全警報服務會掃描所有公共庫,對於私有庫,只掃描依賴圖。每當發現有漏洞,庫管理員都可以收到訊息提示,其中還有漏洞級別及解決步驟提供。
GitHub 將會識別所有使用受影響依賴的公開專案,使用私有庫的專案則需要選擇加入才能使用安全警告服務。
當你啟用你的依賴關係圖後,檢測到您的某個依賴關係中的漏洞,GitHub 會提醒你修復已知的程式漏洞。
如何使用安全警報
無論您的專案是私有還是公共,安全警報都會為團隊中的人員提供重要的漏洞資訊。
啟用您的依賴關係圖
公共儲存庫將自動啟用依賴關係圖和安全警報。對於私人儲存庫,您需要在儲存庫設定中選擇安全警報,或者允許訪問儲存庫“Insights”選項卡的“依賴關係”圖表部分。
設定通知首選項
啟用依賴關係圖後,管理員將預設收到安全警報。管理員還可以在依賴關係圖中,設定將團隊或個人新增為安全警報的收件人。
回應警報
當 GitHub 檢測出您潛在的漏洞時,GitHub將顯示建議更新的依賴關係。如果存在已知的安全版本,我們將選擇一個使用機器學習和公開可用的資料,並將其包含在我們的建議中。
漏洞覆蓋
具有CVE ID的漏洞(來自國家漏洞資料庫的公開披露的漏洞)將包含在安全警報中。但是,並非所有漏洞都具有CVE ID,甚至許多公開披露的漏洞也沒有。隨著安全資料的增長,我們將繼續更好地識別漏洞。
這是使用世界上最大的開源資料收集的下一步,可以儘量幫助您保持程式碼安全。依賴關係圖和安全警報目前支援JavaScript和Ruby,並在2018年提供Python支援。