京東作為openKylin(開放麒麟)社群理事單位,在加入社群後,京東發起成立了SBOM SIG組。SBOM SIG組負責推動和促進軟體物料清單(SBOM)的發展和工具建設。近日,SBOM工具已在openKylin社群完成開源,保障openKylin相關軟體供應鏈安全和可追溯性。
SBOM工具能解決哪些問題?
在當今軟體供應鏈日益複雜的環境下,軟體專案的管理和安全性成為了一個關鍵問題。為了幫助開發者們更好地管理和保證軟體專案的安全性和可追溯性,本次向大家介紹一款功能強大的命令列工具——SBOM-TOOL(Software Bill of Materials Tool)。
SBOM-TOOL是一款基於Go語言實現、無其他特殊依賴的開源專案,專門用於生成軟體專案的物料清單(SBOM),並具備易擴充套件、易使用的特性。它透過多維度資訊採集,為使用者提供全面而準確的軟體物料清單。
SBOM工具有哪些特性?
- 幫開發者全面掌握軟體的依賴情況
SBOM-TOOL能夠分析原始碼、二進位制製品,為專案提供完整的依賴資訊,確保生成的物料清單儘可能詳盡,支援多種語言和多種包管理器的依賴採集,可以準確獲取工程構建的依賴元件資訊。無論是使用Java、Python、JavaScript等語言,還是使用Maven、NPM、pip等包管理器,SBOM-TOOL都能夠輕鬆地採集依賴資訊。
- 詳盡的原始碼指紋資訊
- SBOM-TOOL透過採集原始碼的倉庫地址和版本資訊,為開發者提供了專案的完整原始碼資訊,這有助於理解軟體的構成和歷史變更。
- SBOM-TOOL支援程式碼指紋的生成,透過使用simhash演算法,能夠為程式碼生成唯一標識,確保程式碼的溯源和完整性。這使得開發者們能夠更加準確地追蹤程式碼的來源和變更,從而提高軟體供應鏈的可信度。
- 深入的構建環境與依賴分析
SBOM-TOOL支援採集工程構建依賴環境資訊,包括作業系統、核心、編譯器、構建工具等,為專案提供全面的構建環境描述資訊。這使得開發者們能夠更好地瞭解專案在不同環境下的依賴情況,進而更快解決問題
- 強大的擴充套件能力
- SBOM-TOOL提供了強大的SBOM文件功能。它可以根據採集的SBOM片段組裝完整的SBOM文件。同時,使用者也可以透過命令列方式編輯SBOM文件內容,靈活地進行修改和定製。
- 支援規範格式轉換,包括XSPDX、SPDX等規範,以及JSON、TagValue等格式,滿足使用者對不同格式的需求。
- 作為一個開源專案,SBOM-TOOL允許社群貢獻和定製,使用者可以根據自己的需求對其進行擴充套件,支援更多的程式語言、包管理器、SBOM文件規範,以適應特定的工作流程和環境。
- 友好的安裝和使用體驗
安裝SBOM-TOOL非常便捷。您可以選擇原始碼安裝,透過下載原始碼並編譯的方式進行安裝。另外,SBOM-TOOL還提供了二進位制安裝方式,您可以直接下載對應作業系統架構的二進位制檔案進行安裝。
SBOM-TOOL的使用也非常簡單。透過一條命令,您就可以生成完整而準確的SBOM文件。以下是一個示例命令:
sbom-tool generate -m 4 -p ${project_path} -s ${src_path} -d ${dist_path} -o sbom.sp
技術交流,掃一掃