⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

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 :