在周二的一篇開發者博客中,微軟OneEngineeringSystem(1ES)產品主管DaneshKumarBadlani與1ES首席項目主管AdrianDiglio隆重宣佈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、並為後續的長期發展做出積極的貢獻。