眾所周知,現(xiàn)在開發(fā)軟件已經(jīng)變得不難,因為現(xiàn)在軟件項目通常使用大量的依賴庫。開發(fā)者雖然非常容易開發(fā)項目,簡單而又方便了,但是一旦上游庫有 Bug 將會影響到下游軟件。
現(xiàn)在最大的開源軟件開發(fā)平臺 GitHub 宣布了安全警告服務(wù),將搜索依賴尋找已知漏洞然后發(fā)送給開發(fā)者,以便幫助開發(fā)者盡可能快的打上補(bǔ)丁修復(fù)漏洞。GitHub 將會識別所有使用受影響依賴的公開項目,使用私有庫的項目則需要選擇加入才能使用安全警告服務(wù)。
最近,GitHub 在 ”Insights” 板塊推出了 “依賴圖 (Dependency Graph)” 功能,“依賴圖” 這個新功能旨在提醒開發(fā)人員其項目依賴中出現(xiàn)了缺陷。該功能已為公共庫自動啟用,不過為私有庫設(shè)置為可選項。當(dāng)檢測到項目中使用了易受攻擊的庫時,“依賴圖” 中會展示一則 “已知安全漏洞” 警告信息。管理人員也可以配置郵件警告信息、網(wǎng)絡(luò)提醒以及經(jīng)由用戶界面的警告信息,而且他們可以增加可看到該警告信息的團(tuán)隊和成員名單。
GitHub 通過追蹤 CVE 列表中 Ruby gems 和 NPM 包中的缺陷來識別易受攻擊的項目。當(dāng)添加一個新缺陷后,GitHub 會識別出所有使用受影響版本的庫并通知其所有者。當(dāng) GitHub 檢測出您潛在的漏洞時,GitHub 將顯示建議更新的依賴關(guān)系。如果存在已知的安全版本,我們將選擇一個使用機(jī)器學(xué)習(xí)和公開可用的數(shù)據(jù),并將其包含在我們的建議中。
目前 GitHub 追蹤的漏洞是已分配 CVE 編號的漏洞,不過由于很多公開披露的缺陷并不具有該編號,因此 GitHub 公司將嘗試警告這類不具備 CVE 編號的缺陷。GitHub 表示,隨著安全數(shù)據(jù)的增加,公司會在識別漏洞方面做得更好。
這是使用世界上最大的開源數(shù)據(jù)集合的下一步,可以盡量幫助我們保持代碼安全。依賴關(guān)系圖和安全警報目前僅支持 JavaScript 和 Ruby,將在 2018 年提供 Python 支持。