Docker Scout SBOMs
ã€ã¡ãŒãžåæã¯ã€ã¡ãŒãžã® SBOM ã䜿çšããŠãã€ã¡ãŒãžå ã«å«ãŸããããã±ãŒãžãããŒãžã§ã³ãææ¡ããŸããDocker Scout ã¯ãã€ã¡ãŒãžã« SBOM ã¢ãã¹ããŒã·ã§ã³ãååšããå ŽåïŒæšå¥šïŒã«ããã䜿çšããŸããSBOM ã¢ãã¹ããŒã·ã§ã³ããªãå Žåã¯ãã€ã¡ãŒãžå 容ãã€ã³ããã¯ã¹åããŠæ°ãã« SBOM ãçæããŸãã
CLI ã§ã®è¡šç€º
Docker Scout ãçæãã SBOM ã®å
容ã衚瀺ããã«ã¯ãdocker scout sbom
ã³ãã³ãã䜿çšããŸãã
$ docker scout sbom [IMAGE]
ããã©ã«ãã§ã¯ãSBOM 㯠JSON 圢åŒã§æšæºåºåã«è¡šç€ºãããŸããdocker scout sbom
ã®ããã©ã«ãã® JSON 圢åŒã¯ SPDX-JSON ã§ã¯ãããŸãããSPDX 圢åŒã§åºåããã«ã¯ã--format spdx
ãã©ã°ã䜿çšããŸãã
$ docker scout sbom --format spdx [IMAGE]
人éãèªã¿ããããªã¹ã圢åŒã§åºåããã«ã¯ã--format list
ãã©ã°ã䜿çšããŸãã
$ docker scout sbom --format list alpine
Name Version Type
âââââââââââââââââââââââââââââââââââââââââââââââ
alpine-baselayout 3.4.3-r1 apk
alpine-baselayout-data 3.4.3-r1 apk
alpine-keys 2.4-r1 apk
apk-tools 2.14.0-r2 apk
busybox 1.36.1-r2 apk
busybox-binsh 1.36.1-r2 apk
ca-certificates 20230506-r0 apk
ca-certificates-bundle 20230506-r0 apk
libc-dev 0.7.2-r5 apk
libc-utils 0.7.2-r5 apk
libcrypto3 3.1.2-r0 apk
libssl3 3.1.2-r0 apk
musl 1.2.4-r1 apk
musl-utils 1.2.4-r1 apk
openssl 3.1.2-r0 apk
pax-utils 1.3.7-r1 apk
scanelf 1.3.7-r1 apk
ssl_client 1.36.1-r2 apk
zlib 1.2.13-r1 apk
docker scout sbom
ã³ãã³ãã®è©³çŽ°ã«ã€ããŠã¯ãCLI ãªãã¡ã¬ã³ã¹âãåç
§ããŠãã ããã
ãã«ãã¢ãã¹ããŒã·ã§ã³ãšããŠæ·»ä»
ãã«ãæã« SBOM ãçæããã¢ãã¹ããŒã·ã§ã³âãšããŠã€ã¡ãŒãžã«æ·»ä»ã§ããŸããBuildKit ã«ã¯ããã©ã«ãã® SBOM ãžã§ãã¬ãŒã¿ãŒããããŸããããã㯠Docker Scout ã䜿çšãããã®ãšã¯ç°ãªããŸããDocker Scout SBOM ãžã§ãã¬ãŒã¿ãŒã䜿çšããã«ã¯ãdocker build
ã³ãã³ãã® --attest
ãã©ã°ãèšå®ããŸããDocker Scout SBOM ã€ã³ãã¯ãµãŒã¯ããè±å¯ãªçµæãæäŸããDocker Scout ã®ã€ã¡ãŒãžåæãšã®äºææ§ãåäžããŸãã
$ docker build --tag <org>/<image> \
--attest type=sbom,generator=docker/scout-sbom-indexer:latest \
--push .
SBOM ã¢ãã¹ããŒã·ã§ã³ãå«ãã€ã¡ãŒãžããã«ãããã«ã¯ãcontainerd ã€ã¡ãŒãžã¹ãã¢âæ©èœã䜿çšããããdocker-container
ãã«ããŒã --push
ãã©ã°ãšçµã¿åãããŠäœ¿çšããã€ã¡ãŒãžïŒããã³ã¢ãã¹ããŒã·ã§ã³ïŒãçŽæ¥ã¬ãžã¹ããªã«ããã·ã¥ããŸããåŸæ¥ã®ã€ã¡ãŒãžã¹ãã¢ã¯ãããã§ã¹ããªã¹ããã€ã¡ãŒãžã€ã³ããã¯ã¹ããµããŒãããŠããªããããã¢ãã¹ããŒã·ã§ã³ãã€ã¡ãŒãžã«è¿œå ããããšãã§ããŸããã
ãã¡ã€ã«ãžã®ãšã¯ã¹ããŒã
ã€ã¡ãŒãžã® SBOM ã SPDX JSON ãã¡ã€ã«ã«ãšã¯ã¹ããŒãããã³ãã³ãã¯ãã€ã¡ãŒãžãã¬ãžã¹ããªã«ããã·ã¥ãããŠãããããŒã«ã«ã«ãããã«ãã£ãŠç°ãªããŸãã
ãªã¢ãŒãã€ã¡ãŒãž
ãªã¢ãŒãã€ã¡ãŒãžã® SBOM ãæœåºããŠãã¡ã€ã«ã«ä¿åããã«ã¯ãdocker buildx imagetools inspect
ã³ãã³ãã䜿çšããŸãããã®ã³ãã³ãã¯ã¬ãžã¹ããªã«ããã€ã¡ãŒãžã«ã®ã¿å¯Ÿå¿ããŠããŸãã
$ docker buildx imagetools inspect <image> --format "{{ json .SBOM }}" > sbom.spdx.json
ããŒã«ã«ã€ã¡ãŒãž
ããŒã«ã«ã€ã¡ãŒãžã® SPDX ãã¡ã€ã«ãæœåºããã«ã¯ãlocal
ãšã¯ã¹ããŒã¿ãŒãš scout-sbom-indexer SBOM ãžã§ãã¬ãŒã¿ãŒã䜿çšããŠãã«ãããŸãã
次ã®ã³ãã³ãã¯ãbuild/sbom.spdx.json
ã« SBOM ãä¿åããŸãã
$ docker build --attest type=sbom,generator=docker/scout-sbom-indexer:latest \
--output build .