概要
SBOMとは、Dockerの公式サイトによると、下記のようになっています。
ソフトウェア部品表 (SBOM) は、出荷のパッキング リストに似ています。ソフトウェアを構成する、またはソフトウェアを構築するために使用されたすべてのコンポーネントです。コンテナー イメージの場合、これには、ソフトウェアが依存する言語固有のパッケージ (例: log4j) と共に、インストールされているオペレーティング システム パッケージ (例: ca-certificates) が含まれます。SBOM には、この情報の一部のみを含めることも、コンポーネントのバージョンや入手元などの詳細を含めることもできます。
Docker SBOM の発表: Docker イメージの可視性を高めるための一歩
https://www.docker.com/blog/announcing-docker-sbom-a-step-towards-more-visibility-into-docker-images/
要約すると、Dockerイメージを構成するパッケージの一覧のことのようです。
このコマンドを使用すると、実際にイメージを構成するパッケージの一覧が確認できるので、脆弱性が発見されたパッケージが使用されているかの確認ができるようになります。
前提条件
MacBookを利用する前提です。
動作確認ができている環境は下記の通りとなっています。
- MacBook Pro(2019)
- macOS Montery
- intel Core i5
SBOM を使用して脆弱性をチェックする
使用方法は、下記のコマンドをpullしてあるイメージに使用するだけです。
$ docker sbom openjdk
//実行ログは下記のようになります。
Syft v0.43.0
✔ Pulled image
✔ Loaded image
✔ Parsed image
✔ Cataloged packages [112 packages]
NAME VERSION TYPE
aajohan-comfortaa-fonts 3.001-2.el8 rpm
audit-libs 3.0.7-4.el8 rpm
basesystem 11-5.el8 rpm
bash 4.4.20-4.el8_6 rpm
binutils 2.30-117.0.3.el8 rpm
brotli 1.0.6-3.el8 rpm
bzip2-libs 1.0.6-26.el8 rpm
ca-certificates 2022.2.54-80.2.el8_6 rpm
chkconfig 1.19.1-1.0.1.el8 rpm
coreutils-single 8.30-13.0.1.el8 rpm
crypto-policies 20211116-1.gitae470d6.el8 rpm
curl 7.61.1-25.el8 rpm
cyrus-sasl-lib 2.1.27-6.el8_5 rpm
elfutils-libelf 0.187-4.el8 rpm
.
.
.
上記のログのように、イメージを構成するパッケージの一覧が表示されます。
log4shellのような脆弱性が公開された際に、ソフトフェアが影響を受けるかどうか確認できるので、セキュリティの向上に役立つようになりました。
コメント