概要
docker scout はイメージの脆弱性をスキャンしてくれるツールです
docker のバージョンがある程度最新であればデフォルトで使えます
また dockerhub でもフリープランであれば3イメージまで scout スキャンを設定することができます
今回は Mac 上で動かして脆弱性に対応してみました
環境
- macOS 11.7.10
- docker 24.0.2
とりあえず使う
バージョン24であれば特にインストールは不要でいきなり使えます
- docker scout quickview ruby:3.1.2
結果は以下の通りです
INFO New version 1.9.3 available (installed version is 0.16.1)
✓ Pulled
✓ Image stored for indexing
✓ Indexed 630 packages
Your image ruby:3.1.2 │ 7C 69H 134M 136L 11?
Base image buildpack-deps:bullseye │ 6C 64H 132M 136L 11?
Refreshed base image buildpack-deps:bullseye │ 1C 2H 3M 157L 3?
│ -5 -62 -129 +21 -8
Updated base image buildpack-deps:stable │ 1C 2H 3M 103L 3?
│ -5 -62 -129 -33 -8
What's Next?
Learn more about vulnerabilities → docker scout cves ruby:3.1.2
Learn more about base image update recommendations → docker scout recommendations ruby:3.1.2
脆弱性に対応してみる
- docker scout recommendations ruby:3.1.2
これを実行すると対応方法を教えてくれます
基本はベースイメージを変更することで脆弱性に対応できるので dockerhub でベースイメージの別タグを探すと良いです
https://hub.docker.com/_/ruby/tags?page=&page_size=&ordering=&name=3.1.2 例えば 3.1.2 であれば 3.1.2-alpine3.14 にするだけでかなり減ります
- docker scout quickview ruby:3.1.2-alpine3.14
INFO New version 1.9.3 available (installed version is 0.16.1)
✓ Pulled
✓ Image stored for indexing
✓ Indexed 128 packages
Your image ruby:3.1.2-alpine3.14 │ 2C 8H 8M 0L
Base image alpine:3.14 │ 1C 2H 5M 0L
Updated base image alpine:3.20 │ 0C 0H 2M 0L 1?
│ -1 -2 -3 +1
What's Next?
Learn more about vulnerabilities → docker scout cves ruby:3.1.2-alpine3.14
Learn more about base image update recommendations → docker scout recommendations ruby:3.1.2-alpine3.14
ただベースイメージを変更するとイメージ内で使用するコマンドも変わってくるのでベースイメージを変更した場合は Dockerfile などを書き換える必要がでてきます
Ruby のバージョンを上げることも検討する
3.1.2 -> 3.2.4 にすることで更に脆弱性を減らせます
- docker scout quickview ruby:3.2.4-alpine3.20
INFO New version 1.9.3 available (installed version is 0.16.1)
✓ Provenance obtained from attestation
✓ SBOM obtained from attestation, 127 packages indexed
✓ Pulled
Your image ruby:3.2.4-alpine3.20 │ 0C 0H 3M 0L 1?
Base image alpine:3.20 │ 0C 0H 2M 0L 1?
What's Next?
Learn more about vulnerabilities → docker scout cves ruby:3.2.4-alpine3.20
最後に
docker scout を試してみました
基本的に脆弱性が出たらベースイメージを変更することを検討しましょう
またイメージで使われているツールやソフトウェアの CVE もチェックできるのでソフトの脆弱性をチェックしたい場合は以下のコマンドを使いましょう
- docker scout cves ruby:3.2.4-alpine3.20
0 件のコメント:
コメントを投稿