為了解決NPM一直存在的供應鏈攻擊,GitHub計畫採用Sigstore開源軟體認證專案,來強化NPM套件的安全性與可信度,為此,GitHub開啟了一個新的RFC徵求社群意見,但是這項提案引來了諸多反對意見,包括隱私的疑慮,以及生態系鎖定的問題,整體來說反對聲浪居多。

當前全世界的軟體產業建立在開放原始碼之上,因此開放原始碼的安全性,可說是至關重要,但是Sigstore專案共同創辦企業Google提到,當前安裝開源軟體的方式,就像是在路上隨意撿起來路不明的隨身碟,就將其插入到電腦中安裝裡面的軟體。

這段話意味著,開發者在使用網路上下載而來的開源軟體,通常難以追蹤其來源,但如此也就無法掌握全面的風險,當無法持續檢驗身份金鑰或是秘密,也缺乏相關的安全協定,開源相依關係可能出現漏洞,大開軟體供應鏈攻擊大門。

知名軟體套件管理系統NPM,更是時不時出現惡意套件,使得下游用戶安全遭受威脅的新聞出現,NPM背後的公司GitHub現在則嘗試導入Sigstore來解決這個問題。Sigstore是由Google、紅帽與Linux基金會共同啟動的開源軟體認證專案,目的是要讓開源社群能夠簽署軟體,以建立透明可供稽核的軟體供應鏈。

GitHub提到,當套件維護者加入這個系統,套件的使用者就能夠確定,套件的內容與儲存庫的內容相符。也就是說,Sigstore可以確保套件用戶可真正安裝他們所預期的開源軟體。

過去,將套件關聯回來源程式碼是一件困難的工作,因為需要各個專案註冊和管理自己的加密金鑰,Sigstore的工作就是要消除這項障礙,不需要開發人員管理長期加密金鑰,使過程比過去簡單且安全。

GitHub新開啟的RFC,建議使用Sigstore來加入對NPM套件進行端到端簽署,如此將會產生套件的生成地點、時間和方式,以便之後對其進行驗證。

社群對這個RFC有諸多疑慮,第一,Sigstore尚未完成,目前仍處於實驗性,第二,RFC也將會導致供應商化,Sigstore提案只能用於來自公共儲存庫,以及商業託管CI/CD供應商的公共NPM套件,因此套件將會相依於GitHub、Google或微軟等第三方,且因為Sigstore證書預設包含電子郵件,也會損害作者的隱私。

再來,Sigstore使用自己的證書頒發機構Fulcio,而Fulcio目前僅完整支援GitHub Actions,使得GitHub Actions成為驗證套件的唯一方式,也就是說無意間開發者會被綁定在特定生態系中,這項限制也使得不少套件開發者卻步。

熱門新聞

Advertisement