iT邦幫忙

2021 iThome 鐵人賽

DAY 30
0
Security

讓 Hacking for Dummies 一書陪我 30 天系列 第 30

Day 30 - SBOM 工具 - syft

Syft

可以用來產生容器 (container image) 與檔案系統 (file system) 的軟體物料清單 (SBOM) CLI 工具。

安裝

以 MacOS 為例 [1]

brew tap anchore/syft [2]
brew install syft

syft version 確認一下安裝的資訊

https://ithelp.ithome.com.tw/upload/images/20211015/20141184pPFz3Fz967.png

使用方式

以掃描對象為 container image 為例,敲以下指令

syft <image> -o <format>

其中 <format> 可以支援以下格式

  • table (預設的)
  • json
  • text
  • cyclonedx (CycloneDX 1.2 規範認可的報表,是 XML 格式)

預設格式 table ,印出來就是一張三個欄位的簡單表格,有套件的名稱、套件版本與類型。

https://ithelp.ithome.com.tw/upload/images/20211015/20141184TEfa3cgAfY.png

前一天提到 Cyclonedx ,是其中一種 NTIA 認可的 SBOM 格式,印出來看一下:

https://ithelp.ithome.com.tw/upload/images/20211015/20141184PvkSirHBdx.png

可以把工具整合至 CI 裡,配合 release 就可以產生報表啦!


後記

以前上網查找資料的時候,總覺得要連續三十天每天都要產出文章這件事情超級不可思議。

天阿!三十篇!我也寫完了~雖然對這個國家社會產業可能沒什麼用,至少對自己來說,利用這樣一個活動來學習真的很棒!

感謝推坑的長官與隊友,還是要有團隊比較有趣!

[1] A CLI tool and go library for generating a Software Bill of Materials

[2] brew tap 就是告訴 brew 指令 要到其他的 repository ( 以這個例子來說就是 anchore/syft ) 下載要安裝的套件


上一篇
Day 29 - 軟體物料清單
系列文
讓 Hacking for Dummies 一書陪我 30 天30

尚未有邦友留言

立即登入留言