Google日前發(fā)布了最新的開源安全工具Scorecard v2版,以實(shí)現(xiàn)讓開源安全檢查變得更容易。此版本包括了新的安全檢查、擴(kuò)大被評(píng)分的項(xiàng)目數(shù)量等功能,這使得數(shù)據(jù)更易于被訪問(wèn)和分析。
對(duì)于開發(fā)人員而言,Scordcard有助于減少在維護(hù)項(xiàng)目供應(yīng)鏈時(shí)不斷評(píng)估持續(xù)變化的數(shù)據(jù)包所需的工作量。用戶可以自動(dòng)訪問(wèn)風(fēng)險(xiǎn)以做出有關(guān)接受程序的明智決定,尋找替代解決方案或與維護(hù)人員合作進(jìn)行改進(jìn)。
新功能如下:
識(shí)別風(fēng)險(xiǎn):自去年以來(lái),記分卡的覆蓋范圍有所擴(kuò)大。該項(xiàng)目在Google的Know、Prevent、Fix框架之后添加了幾項(xiàng)新檢查。
發(fā)現(xiàn)惡意攻擊者:具有惡意意圖或被盜帳戶的攻擊者可能會(huì)在代碼中引入潛在的后門。代碼審查有助于減輕此類攻擊。使用新的分支保護(hù)檢查,開發(fā)人員可以在提交代碼之前驗(yàn)證該項(xiàng)目是否強(qiáng)制執(zhí)行其他開發(fā)人員的代碼審查。目前,由于GitHub API限制,此檢查只能由存儲(chǔ)庫(kù)管理員運(yùn)行。對(duì)于第三方存儲(chǔ)庫(kù),請(qǐng)改用信息較少的代碼審查檢查。
易受攻擊的代碼:盡管開發(fā)人員和同行評(píng)審已經(jīng)做了最大努力,惡意代碼仍然可以進(jìn)入代碼庫(kù)且不被發(fā)現(xiàn),這也是啟用持續(xù)模糊測(cè)試和靜態(tài)代碼測(cè)試在開發(fā)生命周期的早期捕獲錯(cuò)誤的重要原因。啟用上述兩項(xiàng)測(cè)試后,就可以檢查攻擊者是否使用了模糊測(cè)試和SAST工具持續(xù)集成、部署了(CI/CD)管道。
開發(fā)系統(tǒng)入侵:GitHub項(xiàng)目使用的常見CI/CD解決方案是GitHub Actions。這一方案的缺點(diǎn)在于GitHub Actions可能會(huì)處理不受信任的用戶輸入,即攻擊者可以制作惡意pull request請(qǐng)求以獲得對(duì)特權(quán)GitHub令牌的訪問(wèn)權(quán)限,并借此將惡意代碼推送到存儲(chǔ)庫(kù)而無(wú)需審查。為了降低這種風(fēng)險(xiǎn),記分卡的令牌權(quán)限預(yù)防檢查現(xiàn)在通過(guò)將GitHub令牌設(shè)置為默認(rèn)只讀來(lái)驗(yàn)證GitHub工作流程是否遵循最小權(quán)限原則。
不良依賴:顯而易見,程序的安全性取決于其最弱的依賴項(xiàng)。但是了解依賴項(xiàng)的第一步就是聲明它們,并且讓用戶的依賴項(xiàng)也聲明它們。有了這些來(lái)源信息,用戶就可以評(píng)估并降低程序的風(fēng)險(xiǎn)。