Google 宣布推出
「開源軟體重建計畫」(OSS Rebuild) ,此倡議旨在強化開源套件生態系統的安全性並預防軟體供應鏈攻擊。
Google 開源安全團隊(GOSST) 表示,隨著供應鏈攻擊不斷鎖定廣泛使用的相依套件,OSS Rebuild 能為資安團隊提供強大的防護資料,而不會增加上游維護者的負擔。
OSS Rebuild 結合宣告性建構定義、建構監測工具和網路監控功能,產生可信賴的安全性詮釋資料,以驗證套件來源並確保其完整性。該專案目前支援 Python Package Index (Python)、npm (JS/TS) 和 Crates.io (Rust) 套件庫的建構來源證明,並計劃擴展至其他開源軟體開發平台。
Google 表示,系統透過自動化程序和啟發式演算法,能為目標套件確定可能的建構定義並進行重建。重建後,會將結果與上游原始檔案進行語義比對,同時對每個檔案進行規範化處理,以消除可能導致逐位元比對失敗的不穩定因素(如封存壓縮)。
完成套件重建後,系統會透過SLSA 來源證明機制發布建構定義和結果。使用者能藉此可靠地驗證套件來源、重複建構流程,甚至從已知的功能基準線自訂建構方式。若自動化程序無法完全重現套件,OSS Rebuild 會提供手動建構規格作為替代解決方案。
OSS Rebuild 能有效偵測多種供應鏈攻擊類型,包括:
- 發布的套件包含不存在於公開原始碼儲存庫中的程式碼(如:@solana/web3.js)
- 可疑的建構活動(如:tj-actions/changed-files)
- 套件中嵌入的異常執行路徑或可疑操作,這類問題通常難以透過人工審查識別(如:XZ Utils)
除了保護軟體供應鏈,
這個解決方案還能改進軟體物料清單(SBOMs)、加速漏洞應變、強化套件信任機制,並減少組織對 CI/CD 平台的安全依賴。
Google 在 GitHub 專案頁面解釋,重建過程會分析已發布的詮釋資料和成品,並與上游套件版本進行比對。重建成功後,系統為上游成品發布建構證明,驗證其完整性,同時消除多種潛在的入侵途徑。
本文轉載自 TheHackerNews。