Utiliser Scout avec différents types d'artefacts
Certaines des commandes CLI Docker Scout prennent en charge les préfixes pour spécifier l'emplacement ou le type d'artefact que vous souhaitez analyser.
Par défaut, l'analyse d'images avec la commande docker scout cves
cible les images dans le magasin d'images local du Docker Engine.
La commande suivante utilise toujours une image locale si elle existe :
$ docker scout cves <image>
Si l'image n'existe pas localement, Docker tire l'image avant d'exécuter l'analyse. Analyser la même image à nouveau utiliserait la même version locale par défaut, même si le tag a depuis changé dans le registre.
En ajoutant un préfixe registry://
à la référence d'image,
vous pouvez forcer Docker Scout à analyser la version de registre de l'image :
$ docker scout cves registry://<image>
Préfixes pris en charge
Les préfixes pris en charge sont :
Préfixe | Description |
---|---|
image:// (défaut) |
Utiliser une image locale, ou se rabattre sur une recherche de registre |
local:// |
Utiliser une image du magasin d'images local (ne pas faire de recherche de registre) |
registry:// |
Utiliser une image d'un registre (ne pas utiliser d'image locale) |
oci-dir:// |
Utiliser un répertoire de disposition OCI |
archive:// |
Utiliser une archive tarball, comme créée par docker save |
fs:// |
Utiliser un répertoire ou fichier local |
Vous pouvez utiliser des préfixes avec les commandes suivantes :
docker scout compare
docker scout cves
docker scout quickview
docker scout recommendations
docker scout sbom
Exemples
Cette section contient quelques exemples montrant comment vous pouvez utiliser les préfixes
pour spécifier des artefacts pour les commandes docker scout
.
Analyser un projet local
Le préfixe fs://
vous permet d'analyser le code source local directement,
sans avoir à le construire en image de conteneur.
La commande docker scout quickview
suivante vous donne un
résumé de vulnérabilités en un coup d'œil du code source dans le répertoire de travail actuel :
$ docker scout quickview fs://.
Pour voir les détails des vulnérabilités trouvées dans votre code source local, vous pouvez
utiliser la commande docker scout cves --details fs://.
. Combinez-la avec
d'autres drapeaux pour réduire les résultats aux paquets et vulnérabilités qui
vous intéressent.
$ docker scout cves --details --only-severity high fs://.
✓ Lecture du système de fichiers
✓ 323 paquets indexés
✗ 1 paquet vulnérable détecté avec 1 vulnérabilité
## Aperçu
│ Chemin analysé
────────────────────┼──────────────────────────────
Chemin │ /Users/david/demo/scoutfs
vulnérabilités │ 0C 1H 0M 0L
## Paquets et Vulnérabilités
0C 1H 0M 0L fastify 3.29.0
pkg:npm/[email protected]
✗ HAUTE CVE-2022-39288 [OWASP Top Ten 2017 Catégorie A9 - Utilisation de Composants avec des Vulnérabilités Connues]
https://scout.docker.com/v/CVE-2022-39288
fastify est un framework web rapide et léger, pour Node.js. Les versions affectées de
fastify sont sujettes à un déni de service via une utilisation malveillante de l'en-tête Content-Type
. Un attaquant peut envoyer un en-tête Content-Type invalide qui peut causer le
plantage de l'application. Ce problème a été adressé dans le commit fbb07e8d et sera
inclus dans la version de sortie 4.8.1. Les utilisateurs sont conseillés de mettre à niveau. Les utilisateurs incapables de
mettre à niveau peuvent filtrer manuellement le contenu http avec des en-têtes Content-Type malveillants.
Plage affectée : <4.8.1
Version corrigée : 4.8.1
Score CVSS : 7.5
Vecteur CVSS : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
1 vulnérabilité trouvée dans 1 paquet
FAIBLE 0
MOYENNE 0
HAUTE 1
CRITIQUE 0
Comparer un projet local à une image
Avec docker scout compare
, vous pouvez comparer l'analyse de code source sur
votre système de fichiers local avec l'analyse d'une image de conteneur.
L'exemple suivant compare le code source local (fs://.
)
avec une image de registre registry://docker/scout-cli:latest
.
Dans ce cas, à la fois la ligne de base et la cible pour la comparaison utilisent des préfixes.
$ docker scout compare fs://. --to registry://docker/scout-cli:latest --ignore-unchanged
WARN 'docker scout compare' est expérimental et son comportement pourrait changer dans le futur
✓ Lecture du système de fichiers
✓ 268 paquets indexés
✓ SBOM de l'image déjà mis en cache, 234 paquets indexés
## Aperçu
│ Système de Fichiers Analysé │ Image de Comparaison
─────────────────────────┼────────────────────────────────────────────────┼─────────────────────────────────────────────
Chemin / Référence d'image │ /Users/david/src/docker/scout-cli-plugin │ docker/scout-cli:latest
│ │ bb0b01303584
plateforme │ │ linux/arm64
provenance │ https://github.com/dvdksn/scout-cli-plugin.git │ https://github.com/docker/scout-cli-plugin
│ 6ea3f7369dbdfec101ac7c0fa9d78ef05ffa6315 │ 67cb4ef78bd69545af0e223ba5fb577b27094505
vulnérabilités │ 0C 0H 1M 1L │ 0C 0H 1M 1L
│ │
taille │ 7.4 MB (-14 MB) │ 21 MB
paquets │ 268 (+34) │ 234
│ │
## Paquets et Vulnérabilités
+ 55 paquets ajoutés
- 21 paquets supprimés
213 paquets inchangés
L'exemple précédent est tronqué pour la brièveté.
Voir la SBOM d'une archive d'image
L'exemple suivant montre comment vous pouvez utiliser le préfixe archive://
pour obtenir la SBOM d'une archive d'image, créée avec docker save
.
L'image dans ce cas est docker/scout-cli:latest
,
et la SBOM est exportée vers le fichier sbom.spdx.json
au format SPDX.
$ docker pull docker/scout-cli:latest
latest: Pulling from docker/scout-cli
257973a141f5: Téléchargement terminé
1f2083724dd1: Téléchargement terminé
5c8125a73507: Téléchargement terminé
Digest: sha256:13318bb059b0f8b0b87b35ac7050782462b5d0ac3f96f9f23d165d8ed68d0894
$ docker save docker/scout-cli:latest -o scout-cli.tar
$ docker scout sbom --format spdx -o sbom.spdx.json archive://scout-cli.tar
En savoir plus
Lisez sur les commandes et drapeaux pris en charge dans la documentation de référence CLI :