Accéder au contenu principal

Docker Scout : Comment analyser les images de conteneurs à la recherche de vulnérabilités

Docker Scout examine les images de conteneurs à la recherche de vulnérabilités et génère des nomenclatures logicielles. Il vous offre une visibilité intégrée sur la sécurité des workflows de développement basés sur Docker, sans nécessiter d'outils supplémentaires ni de configuration complexe.
Actualisé 31 janv. 2026  · 12 min lire

L'histoire se déroule comme suit : Vous avez créé votre image Docker, l'avez étiquetée et déployée. Tout semble fonctionner correctement jusqu'à ce que votre équipe de sécurité signale des vulnérabilités dans un package dont vous ignoriez l'existence. Ou pire encore, le service conformité vous demande une nomenclature logicielle (SBOM) et vous vous demandez comment déterminer les dépendances fournies avec vos images. Les images de conteneurs peuvent être des boîtes noires, ce qui peut poser problème lorsque vous êtes responsable de ce qui s'exécute en production.

Docker Scout vous offre une visibilité sur vos images de conteneurs en les analysant à la recherche de vulnérabilités et en générant automatiquement des SBOM. Il est intégré à Docker, il n'est donc pas nécessaire d'installer ou d'apprendre à utiliser un outil distinct.

Dans ce guide, je vais vous expliquer comment analyser des images avec Docker Scout et comprendre les rapports de vulnérabilité qu'il génère, afin que vous puissiez déterminer quand il est judicieux de l'utiliser.

Si vous débutez avec Docker, veuillez consulter notre articlesur les 18 commandes Docker les plus importantes. Ces élémentsvous permettront de vous mettre sur le bon cursus pour créer, exécuter et gérer des conteneurs.

Qu'est-ce que Docker Scout ?

Docker Scout est l'outil d'analyse d'images natif de Docker qui analyse vos images de conteneurs à la recherche de vulnérabilités et génère des nomenclatures logicielles (SBOM).

Il analyse tous les éléments contenus dans votre image, depuis les paquets du système d'exploitation de base jusqu'aux bibliothèques d'applications, en passant par les dépendances spécifiques à la langue. Il les compare ensuite aux bases de données de vulnérabilités connues. Vous recevez un rapport indiquant les paquets présentant des problèmes de sécurité, leur gravité et les versions qui permettraient de les résoudre.

Ainsi, au lieu d'utiliser des scanners tiers ou d'attendre que les équipes de sécurité signalent les problèmes après le déploiement, vous pouvez analyser les images directement là où vous les créez. Scout fonctionne dans Docker Desktop, via l'interface CLI, et s'intègre à Docker Hub.

Voici comment cela s'intègre dans l'écosystème Docker : Docker crée et exécute vos conteneurs, Docker Hub les stocke et Docker Scout vous informe de leur contenu. Il est important de noter que cette fonctionnalité fait désormais partie intégrante de la plateforme et n'est plus un module complémentaire distinct.

Docker Scout remplace l'ancienne commande docker scan, qui s'appuyait sur le moteur d'analyse de Snyk. Scout utilise la base de données de vulnérabilités de Docker et vous offre un contrôle accru sur le processus d'analyse. Si vous utilisez toujours docker scan, veuillez noter que cet outil est obsolète. Scout est le remplaçant officiel et est déjà disponible dans les versions récentes de Docker Desktop.

Installation et activation de Docker Scout

Docker Scout est intégré à Docker Desktop 4.17 et aux versions ultérieures. Par conséquent, si vous utilisez une version récente, vous en disposez déjà.

Il fonctionne via l'interface CLI de Docker et apparaît dans l'interface graphique de Docker Desktop. Si vous utilisez Docker Desktop, Scout est activé par défaut. Vous pouvez donc commencer immédiatement à analyser les images.

Pour vérifier si Scout est disponible sur votre système, veuillez exécuter cette commande :

docker scout version

Vous verrez s'afficher la version de l'interface CLI Scout et l'état du plugin.

Version Docker Scout

Version Docker Scout

Si la commande fonctionne, vous êtes prêt à numériser des images.

Si vous obtenez une erreur « commande introuvable », cela signifie que votre version de Docker est trop ancienne. Veuillez mettre à jour Docker Desktop vers la dernière version pour accéder à Docker Scout.

Analyse d'une image avec Docker Scout

L'exécution de l'analyse nécessite une seule commande, ce qui est la partie la plus simple. Ce qui peut parfois s'avérer difficile, c'est de comprendre ce que Scout découvre.

Analyse d'une image

Vous pouvez exécuter cette commande pour analyser une image locale en transmettant son nom ou son identifiant à Docker Scout :

docker scout cves python:3.14

Scout analyse les couches d'image, extrait les informations relatives aux paquets et vérifie les vulnérabilités connues. La numérisation s'achève en moins de 30 secondes pour la plupart des images.

Résultats de l'analyse de l'image Python 3.14

Résultats de l'analyse de l'image Python 3.14

Vous pouvez également numériser des images qui ne se trouvent pas encore sur votre ordinateur :

docker scout cves postgres:18.1

Scout extrait les métadonnées du registre sans télécharger l'image complète. Cela vous permet de vérifier les images avant de les télécharger localement.

Résultats de l'analyse de l'image Postgres 18.1

Résultats de l'analyse de l'image Postgres 18.1

Au cours de l'analyse, Scout décompresse chaque couche, identifie les paquets installés et leurs dépendances, puis recoupe toutes ces informations avec sa base de données de vulnérabilités. Il assure le suivi des paquets du système d'exploitation de base (tels que les paquets d' apt s dans les images basées sur Ubuntu) et des dépendances spécifiques à un langage (telles que les paquets Python ou les modules Node).

Comprendre le résultat

Identifiez les vulnérabilités par niveau de gravité : Critique, Élevé, Moyenet Faible.

Les vulnérabilités critiques et élevées requièrent une attention prioritaire. Il s'agit de problèmes activement exploités ou de bogues graves susceptibles de compromettre votre système. Les problèmes de gravité moyenne sont importants, mais nécessitent rarement des corrections immédiates. Les vulnérabilités de faible gravité méritent d'être surveillées, mais n'empêchent généralement pas les déploiements.

Chaque vulnérabilité indique le paquet concerné par le problème. En parcourant le rapport, vous observerez un résultat similaire à celui-ci :

Rapport de vulnérabilité

Rapport de vulnérabilité

Cela vous indique précisément les vulnérabilités (openssl), la version que vous utilisez et la version qui corrige ces vulnérabilités. Scout fournit également des liens vers les détails CVE afin que vous puissiez vous renseigner sur la vulnérabilité.

L'attribution des paquets indique l'origine des vulnérabilités : paquets d'image de base, dépendances d'application ou bibliothèques système. Cela vous aide à déterminer s'il convient de mettre à jour l'image de base, de mettre à niveau une dépendance dans votre code ou d'attendre une correction en amont.

Utilisation de Docker Scout pour générer et afficher des SBOM

Une nomenclature logicielle (SBOM) est un inventaire complet de tout ce qui se trouve dans votre image de conteneur : chaque paquet, bibliothèque et dépendance.

Il vous indique précisément ce qui a été intégré à votre image, jusqu'aux numéros de version spécifiques. Les équipes de sécurité utilisent les SBOM pour suivre ce qui est en cours d'exécution en production, et les cadres de conformité les exigent souvent.

Docker Scout génère automatiquement des SBOM lorsque vous analysez une image à l'aide des commandes présentées dans la section précédente. Pour réitérer :

docker scout sbom postgres:18.1

Cela affiche la liste complète des paquets sur votre terminal. Scout analyse les couches d'image et extrait les métadonnées du package, puis les formate sous forme de SBOM que vous pouvez enregistrer ou partager.

Vous pouvez exporter la SBOM vers un fichier au lieu de l'imprimer à l'écran :

docker scout sbom postgres:18.1 --format spdx > postgres-sbom.json

Rapport SBOM SPDX

Rapport SBOM SPDX

Scout prend en charge deux formats SBOM standard : SPDX (Software Package Data Exchange) et CycloneDX. Les deux sont des normes industrielles largement utilisées. SPDX est particulièrement adapté aux contrôles de conformité et aux examens juridiques, tandis que CycloneDX se concentre sur les cas d'utilisation liés à la sécurité et au suivi des vulnérabilités.

Vous pouvez changer de format à l'aide du drapeau d' --format:

docker scout sbom postgres:18.1 --format cyclonedx > postgres-sbom.json

Rapport SBOX CycloneDX

Rapport SBOX CycloneDX

Une fois que vous disposez d'un fichier SBOM, vous pouvez le partager avec les équipes de sécurité, l'intégrer à d'autres outils d'analyse ou l'archiver à des fins d'audits de conformité.

Identification et compréhension des CVE avec Docker Scout

Docker Scout identifie les vulnérabilités en comparant les paquets de votre image à une base de données répertoriant les problèmes de sécurité connus.

Lorsque vous exécutez docker scout cves, Scout extrait tous les paquets de votre image (paquets du système d'exploitation, bibliothèques de langues, dépendances d'applications), puis vérifie chacun d'entre eux par rapport aux enregistrements CVE (Common Vulnerabilities and Exposures). Un CVE est une faille de sécurité rendue publique et identifiée par un identifiant unique, tel que CVE-2024-1234.

Scout collecte des données CVE provenant de plusieurs sources :

  • La base de données nationale sur les vulnérabilités (NVD)
  • Avis de sécurité émis par les distributions Linux
  • Bases de données de sécurité spécifiques aux langages Python, Node.js, Go et autres écosystèmes

Cela signifie que Scout peut détecter les vulnérabilités à la fois dans les paquets OS de votre image de base et dans les dépendances de votre application.

Cela dit, il est important de garder à l'esprit que l'analyse fonctionne différemment selon l'emplacement de votre image.

  • Pour les images locales (celles que vous avez créées ou téléchargées sur votre machine), Scout lit les couches d'image directement à partir de votre démon Docker. Il décompresse chaque couche, identifie les paquets et exécute la vérification des vulnérabilités localement. Ce processus est rapide et ne nécessite pas d'accès réseau à l'image elle-même.
  • Pour l' ed'images à distance sur Docker Hub ou d'autres registres, Scout récupère le manifeste de l'image et les métadonnées des couches sans télécharger l'image complète. Cela vous permet de numériser des images avant de les extraire. Les données relatives aux vulnérabilités proviennent toujours de la base de données de Scout, mais l'analyse des images est effectuée à partir des métadonnées du registre.

Les deux méthodes fournissent les mêmes informations sur les vulnérabilités. La seule différence réside dans l'emplacement à partir duquel Scout lit les données d'image.

Recommandations en matière de remédiation et d'image de base

Lorsque Scout détecte une vulnérabilité pour laquelle un correctif est disponible, il vous indique la version exacte qui corrige le problème. Vous verrez apparaître un résultat tel que « Corrigé dans : 1.2.3 » à côté de chaque CVE. C'est ce qui vous permet de déterminer si vous devez mettre à jour un paquet, reconstruire votre image avec une base plus récente ou attendre une correction en amont.

Scout recommande également de mettre à niveau les images de base, car le passage à une base plus récente permettrait d'éliminer les vulnérabilités. Si vous utilisez python:3.13 et que Scout détecte des problèmes dans les paquets du système d'exploitation de base, il peut vous suggérer de passer à python:3.14 ou même à une version de correctif plus spécifique.

Ces recommandations apparaissent lorsque Scout détecte qu'une autre balise d'image de base présente moins de vulnérabilités que celle que vous utilisez actuellement. Les suggestions sont exploitables : vous pouvez littéralement copier la nouvelle balise dans votre fichier Dockerfile et procéder à une nouvelle compilation.

En quoi cela est-il pertinent ?

Votre image de base contient les paquets du système d'exploitation, les bibliothèques système et les environnements d'exécution linguistiques dont dépendent tous les autres éléments. Une image de base vulnérable implique que chaque conteneur que vous créez à partir de celle-ci hérite de ces vulnérabilités. En choisissant une image de base minimale et activement maintenue, vous réduisez les possibilités d'attaque.

Les images officielles de Docker Hub bénéficient de mises à jour de sécurité régulières, mais il est nécessaire de reconstruire vos images pour intégrer ces correctifs. Par exemple, si vous effectuez aujourd'hui la commande ` python:3.13 `, vous obtiendrez des paquets différents de ceux obtenus il y a six mois.

Utilisation de Docker Scout dans CI/CD

Les équipes intègrent Docker Scout dans les pipelines CI afin de détecter les vulnérabilités avant que les images n'atteignent la production.

Le concept est simple : analyser chaque image dans le cadre de votre processus de compilation, puis interrompre la compilation si des vulnérabilités critiques sont détectées. Vous identifiez les problèmes pendant le développement plutôt qu'après le déploiement. La plupart des équipes configurent Scout pour qu'il s'exécute automatiquement chaque fois qu'une nouvelle image Dockerfile est intégrée ou qu'une image de base est mise à jour.

Les pipelines vérifient généralement deux éléments :

  • Régressions de vulnérabilité - Elles comparent votre nouvelle image à la version précédente. Si la nouvelle version présente davantage de vulnérabilités critiques ou élevées que la précédente, le pipeline échoue. Cela vous évite de fournir accidentellement une sécurité moins bonne que celle déjà en place.
  • de dérive des politiques - Ces contrôles vérifient que votre image est conforme aux normes de sécurité. Vous pourriez avoir une politique stipulant « aucune CVE critique n'est autorisée » ou « les images de base doivent dater de moins de 30 jours ». Scout peut appliquer ces règles automatiquement dans votre flux de travail CI.

L'intégration avec GitHub Actions, GitLab CI ou Jenkins fonctionne de la même manière sur le plan conceptuel. Vous créez votre image, exécutez docker scout cves dessus, analysez les résultats et décidez d'accepter ou de refuser le pipeline en fonction de vos critères. Certaines équipes intègrent Scout dans leurs workflows de registre de conteneurs afin d'analyser les images immédiatement après leur publication.

Docker Scout par rapport à Autres scanners d'images

Docker Scout n'est pas le seul outil à votre disposition. Il est en concurrence avec des outils tels que Trivy et Snyk, mais chacun d'entre eux cible des flux de travail différents.

  • Trivy est un scanner open source qui fonctionne partout, des machines locales aux pipelines CI, en passant par les clusters Kubernetes. Il analyse les images de conteneurs, les systèmes de fichiers et les dépôts Git. Trivy vous offre une plus grande flexibilité quant au lieu et à la manière dont vous effectuez vos analyses, et vous n'avez pas besoin d'un compte Docker pour l'utiliser. Considérez-le comme un scanner autonome qui fonctionne indépendamment de l'écosystème Docker.
  • Snyk se concentre sur les workflows des développeurs et s'intègre étroitement aux IDE, à GitHub et à d'autres outils de développement. En plus des conteneurs, il analyse les dépendances des applications, l'infrastructure en tant que code et le code source. Snyk vous fournit également des conseils détaillés pour remédier aux problèmes et peut ouvrir des demandes d'extraction afin de corriger les vulnérabilités. Si vous avez besoin d'une couverture de sécurité pour l'ensemble de votre pile, et pas seulement pour les conteneurs, Snyk constitue un choix judicieux.
  • Docker Scout fonctionne de manière optimale lorsque vous utilisez déjà Docker Desktop et Docker Hub. L'intégration est native, aucune configuration supplémentaire n'est nécessaire, aucune clé API n'est à gérer et aucun outil distinct n'est à apprendre. Scout analyse les images transférées vers Docker Hub, et l'interface CLI fait partie de votre installation Docker.

Optez pour Docker Scout si votre équipe crée et exécute des conteneurs à l'aide des outils Docker et que vous souhaitez bénéficier d'une visibilité en matière de sécurité sans ajouter de complexité. Optez pour Trivy si vous recherchez une solution flexible et open source qui fonctionne partout. Optez pour Snyk si vous recherchez une sécurité complète pour vos conteneurs, votre code et votre infrastructure, avec des corrections automatisées.

Restrictions courantes et informations importantes

Docker Scout analyse les images de conteneurs, mais ne surveille pas ce qui se passe après leur déploiement.

Il analyse les images statiques, c'est-à-dire les paquets et les fichiers intégrés à votre conteneur. Il ne peut pas détecter les problèmes d'exécution tels que les attaques par élévation de privilèges, les intrusions réseau ou les processus malveillants qui démarrent après le déploiement. Si vous avez besoin d'une surveillance de la sécurité en temps réel, nous vous recommandons des outils tels que Falco ou Sysdig qui surveillent le comportement des conteneurs en production.

Scout ne remplace pas non plus les tests SAST (Static Application Security Testing) ou DAST ( ) complets . Les outils SAST analysent votre code source à la recherche de failles de sécurité avant que vous ne procédiez à la compilation. Les outils DAST testent les applications en cours d'exécution en simulant des attaques. Scout examine uniquement les paquets contenus dans votre image compilée. Il ne détectera pas les vulnérabilités dans la logique de votre application ni les erreurs de configuration dans votre code.

Scout excelle dans la mise en évidence des éléments contenus dans vos images et vous guide vers les corrections appropriées. Il vous indique quels paquets sont vulnérables, quelles versions les corrigent et quelles images de base réduisent les possibilités d'attaque. Cela rend Scout utile pour les contrôles de sécurité lors de la compilation et le suivi de la conformité, mais d'autres outils seront nécessaires pour couvrir tous les aspects de la sécurité.

Meilleures pratiques pour l'utilisation de Docker Scout

Voici une liste de contrôle que vous pouvez utiliser pour tirer le meilleur parti de Docker Scout.

  • Effectuez une analyse dès le début de votre cycle de développement. Veuillez utiliser Scout sur les images pendant le développement local, et pas uniquement dans l'intégration continue ou avant le déploiement. Détecter les vulnérabilités à un stade précoce permet de les corriger lorsque le contexte est encore frais et que les modifications sont peu coûteuses. Attendre la mise en production implique de devoir corriger les problèmes dans l'urgence et sous pression.

  • Veuillez comparer les images au fil du temps afin de suivre les tendances en matière de sécurité. Scout peut vous indiquer si votre sécurité s'améliore ou se détériore. Effectuez des analyses à chaque compilation et comparez les résultats. Si votre nouvelle version présente davantage de vulnérabilités critiques que la précédente, cela signifie qu'un changement est survenu, par exemple une mise à jour des dépendances ou une modification de l'image de base. Il est nécessaire que vous meniez une enquête.

  • Considérez les conclusions de Scout comme des signaux de priorisation et non comme des obstacles absolus. Toutes les vulnérabilités ne nécessitent pas une intervention immédiate. Une vulnérabilité CVE de faible gravité dans une dépendance de développement que vous n'utilisez pas en production peut être traitée ultérieurement. Une vulnérabilité critique dans un service accessible au public nécessite une attention immédiate. Veuillez utiliser les niveaux de gravité et le contexte des paquets de Scout pour déterminer ce qui est important pour votre déploiement spécifique.

  • Associez Scout à une bonne hygiène des images de base. Veuillez sélectionner des images de base minimales et activement maintenues, et les mettre à jour régulièrement. En utilisant python:3.14-slim au lieu de python:3.14, vous pouvez éliminer les paquets dont vous n'avez pas besoin. La reconstruction mensuelle de vos images permet d'intégrer les correctifs de sécurité dans la couche de base. Scout peut vous indiquer les points vulnérables, mais le choix de bases solides permet d'éviter l'apparition de nombreuses vulnérabilités.

Conclusion

Docker Scout vous offre un moyen pratique de commencer à comprendre le contenu de vos images de conteneur.

Il s'intègre parfaitement au développement basé sur Docker : aucun outil supplémentaire à installer, aucun compte à créer en dehors de ceux que vous utilisez déjà. Vous exécutez une commande, obtenez des rapports de vulnérabilité et identifiez les paquets nécessitant des mises à jour.

Scout est plus efficace lorsqu'il est utilisé dans le cadre d'une approche globale de la sécurité, et non comme seule option. Associez-le à une surveillance en temps réel, à une analyse du code source et à des mises à jour régulières de l'image de base. Veuillez l'utiliser pour détecter les vulnérabilités pendant les compilations, puis ajoutez d'autres outils pour couvrir ce qui se passe après le déploiement.

Si vous vous interrogez sur la manière dont Docker s'intègre dans les pipelines CI/CD pour l'apprentissage automatique, nous vous invitons à vous inscrire à notre cours CI/CD pour l'apprentissage automatique. Vous obtiendrez toutes les réponses en un après-midi.

Maîtriser Docker et Kubernetes

Apprenez la puissance de Docker et Kubernetes avec un cursus interactif pour construire et déployer des applications dans des environnements modernes.
Démarrer le cursus gratuitement

Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Scientifique de données senior basé en Croatie. Rédacteur technique de premier plan avec plus de 700 articles publiés, générant plus de 10 millions de vues. Auteur du livre Machine Learning Automation with TPOT.

FAQ Docker Scout

Comment Docker Scout peut-il contribuer à automatiser les analyses de vulnérabilité dans les pipelines CI/CD ?

Docker Scout s'intègre aux pipelines CI/CD en effectuant automatiquement des analyses à chaque fois que vous créez une nouvelle image. Vous pouvez configurer votre pipeline pour qu'il rejette les builds qui introduisent des vulnérabilités critiques ou élevées, empêchant ainsi les images non sécurisées d'atteindre la production. Scout vérifie les régressions de vulnérabilité et les violations de politique, afin que votre équipe puisse détecter les problèmes de sécurité pendant le processus de compilation plutôt qu'après le déploiement.

Quelles sont les principales différences entre Docker Scout et d'autres outils d'analyse de conteneurs tels que Trivy ou Snyk ?

Docker Scout est intégré à Docker et ne nécessite aucune installation supplémentaire, ce qui facilite grandement la tâche des équipes qui utilisent déjà Docker Desktop et Docker Hub. Trivy est un scanner open source qui fonctionne de manière autonome et peut être utilisé partout sans nécessiter de compte Docker ni d'intégration. Snyk offre une couverture plus étendue des conteneurs, du code source et de l'infrastructure avec des suggestions de corrections automatisées, mais nécessite un abonnement et une configuration distincts.

Comment Docker Scout s'intègre-t-il à des systèmes tiers tels que GitHub ou JFrog Artifactory ?

Docker Scout peut être appelé à partir de GitHub Actions, GitLab CI ou d'autres outils de pipeline à l'aide des commandes CLI Docker. Vous exécutez docker scout cves dans le cadre de votre workflow de compilation, puis vous analysez les résultats afin de déterminer si le pipeline doit être validé ou rejeté. Pour les registres tels que JFrog Artifactory, il est possible de scanner les images après leur transfert en les référençant à distance, bien que l'intégration dépende de la configuration et de l'authentification spécifiques de votre registre.

Est-il possible d'utiliser Docker Scout pour surveiller la sécurité des conteneurs en temps réel ?

Non, Docker Scout analyse uniquement les images de conteneurs statiques, et non les conteneurs en cours d'exécution. Il analyse le contenu de vos images construites avant ou après le déploiement, mais ne surveille pas le comportement d'exécution, tel que l'exécution des processus, l'activité réseau ou les attaques par élévation de privilèges. Pour la surveillance de la sécurité en temps réel, il est nécessaire d'utiliser des outils spécialisés tels que Falco ou Sysdig, qui surveillent le comportement des conteneurs dans les environnements de production.

Quels sont les avantages de l'utilisation de Docker Scout pour gérer la sécurité de la chaîne logistique logicielle ?

Docker Scout génère des nomenclatures logicielles (SBOM) qui répertorient chaque paquet et chaque dépendance dans vos images, vous offrant ainsi une visibilité complète sur votre chaîne logistique logicielle. Cela facilite la conformité aux exigences réglementaires, la gestion des incidents et le suivi des systèmes affectés lorsque de nouvelles vulnérabilités sont identifiées. Scout vous indique également l'origine des vulnérabilités (images de base, dépendances d'applications ou bibliothèques système) afin que vous puissiez remonter à la source des problèmes de sécurité et les résoudre au niveau approprié.

Sujets

Apprenez Docker avec DataCamp

Cursus

Conteneurisation et virtualisation avec Docker et Kubernetes

13 h
Découvrez la puissance de Docker et Kubernetes, cette piste interactive vous permettra de construire et de déployer des applications dans des environnements modernes.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow