微軟宣布開源SBOM軟件物料清單生成工具
在周二的一篇開發者博客中,微軟One Engineering System(1ES)產品主管Danesh Kumar Badlani 與1ES 首席項目主管Adrian Diglio 隆重宣布了Salus 軟件物料清單(SBOM)生成工具的已經走向開源。據悉,作為響應改善國家網絡安全的一道行政命令的最新舉措,其有助於組織機構建立起對其供應鏈依賴關係的洞察力。
截圖(來自:GitHub)
作為一款通用的、經過企業驗證、構建時(build-time)的SBOM 生成器,SBOM 適用於包括Windows、Linux 和Mac 在內的平台,並且採用了標準的軟件包數據交換(SPDX)格式。
Salus 能夠輕鬆集成到軟件的構建工作流程中,並通過組件自動檢測NPM、NuGet、PyPI、CocoaPods、Maven、Golang、Rust Crates、RubyGems、容器內的Linux 包、Gradle、Ivy、以及GitHub 等公共平台上的存儲。
隨著時間的推移,微軟還會持續改進SBOM 工具、並添加更多的檢測組件。
分層構建流程示意圖
Salus 生成的SBOM,包含了基於SPDX 規範的四個主要部分。
● 文檔創建信息:例如軟件名稱、SPDX 版本/ 許可證、文檔創建者、創建時間等。
● 文件部分:組成軟件的文件列表,每個文件都包含有一些屬性、以及SHA-1 / SHA-256 內容哈希值。
● 包部分:構建軟件時使用的包列表,每個包都具有名稱、版本、供應商、哈希值、包URL(purl)、軟件標識符等屬性。
● 關係部分:SBOM 不同元素之間的關係列表,比如文件和包。
值得一提的是,Salus 還可參考其他SBOM 文檔來捕獲完整的依賴關係樹。
Document Creation Information 示例代碼
最後,微軟希望能夠通過與開源社區的通力協作,幫助所有人都能夠遵循行政命令的指導。
開源Salus 是該公司在社區內促進協作和創新的重要一步,且微軟相信這可使更多組織能夠受益於SBOM、並為後續的長期發展做出積極的貢獻。