Date de publication : 13 avril 2026
Temps de lecture : 14 min
Découvrez les différentes méthodes d'analyse des conteneurs proposées par GitLab et apprenez à sécuriser vos conteneurs à chaque étape du cycle de développement logiciel.

Les vulnérabilités dans les conteneurs n'attendent pas votre prochain déploiement. Elles peuvent apparaître à tout moment, de la création d'une image à l'exécution des conteneurs en production. Pour remédier à ce problème, GitLab propose plusieurs approches d'analyse des conteneurs, chacune conçue pour une étape spécifique du cycle de développement logiciel (SDLC).
Dans ce guide, nous explorons les différents types d'analyse de conteneurs proposés par GitLab, vous expliquons comment les activer et vous partageons les configurations les plus courantes pour bien démarrer.
Les vulnérabilités de sécurité présentes dans les images de conteneurs constituent un risque tout au long du cycle de vie applicatif. Les images de base, les paquets de systèmes d'exploitation et les dépendances applicatives peuvent tous receler des vulnérabilités activement exploitées par des attaquants. L'analyse des conteneurs permet de détecter ces risques en amont, avant qu'ils n'atteignent l'environnement de production, et propose des pistes de remédiation le cas échéant.
L'analyse des conteneurs est un élément essentiel de l'analyse de la composition logicielle (SCA), qui vous aide à comprendre et à sécuriser les dépendances externes dont vos applications conteneurisées dépendent.
GitLab propose cinq approches distinctes d'analyse de conteneurs, chacune répondant à un objectif précis dans votre stratégie de sécurité.
GitLab utilise le scanner de sécurité Trivy pour analyser les images de conteneurs et rechercher de vulnérabilités connues. Lors de l'exécution du pipeline, le scanner examine vos images et génère un rapport détaillé.
Option A : merge request préconfigurée
Option B : configuration manuelle
.gitlab-ci.yml : include:
- template: Jobs/Container-Scanning.gitlab-ci.yml
Analyser une image spécifique :
Pour analyser une image spécifique, remplacez la variable CS_IMAGE dans le job container_scanning.
include:
- template: Jobs/Container-Scanning.gitlab-ci.yml
container_scanning:
variables:
CS_IMAGE: myregistry.com/myapp:latest
Filtrer par seuil de gravité :
Pour n'afficher que les vulnérabilités dépassant un certain niveau de gravité, remplacez la variable CS_SEVERITY_THRESHOLD dans le job container_scanning. Dans l'exemple ci-dessous, seules les vulnérabilités d'un niveau de gravité Élevé ou supérieur seront affichées.
include:
- template: Jobs/Container-Scanning.gitlab-ci.yml
container_scanning:
variables:
CS_SEVERITY_THRESHOLD: "HIGH"
L'affichage direct des vulnérabilités détectées par l'analyse des conteneurs au sein des merge requests rend les revues de sécurité plus fluides et plus efficaces. Une fois l'analyse des conteneurs configurée dans votre pipeline CI/CD, GitLab affiche automatiquement les vulnérabilités détectées dans le widget Sécurité de la merge request.
Vulnérabilités détectées lors de l'analyse des conteneurs affichées dans la merge request

Détails d'une vulnérabilité détectée par l'analyse des conteneurs dans la merge request
Cette visibilité permet aux équipes de développement et de sécurité de détecter et de traiter les vulnérabilités des conteneurs avant qu'elles n'atteignent la production : la sécurité devient une composante à part entière du processus de revue de code plutôt qu'un contrôle distinct.
Au-delà des revues dans les merge requests, GitLab met à disposition un rapport de vulnérabilités centralisé, qui offre aux équipes de sécurité une visibilité complète sur l'ensemble des résultats de l'analyse des conteneurs dans votre projet.
Rapport de vulnérabilités avec classement selon l'analyse des conteneurs


Détails d'une vulnérabilité détectée par l'analyse des conteneurs
Les détails de la vulnérabilité indiquent précisément les images et couches de conteneurs concernées pour faciliter la traçabilité jusqu'à la source du problème. Vous pouvez assigner des vulnérabilités à des membres de l'équipe, modifier leur statut (détectée, confirmée, résolue, rejetée), ajouter des commentaires pour faciliter la collaboration et associer des tickets connexes pour suivre la remédiation.
Ce workflow transforme la gestion des vulnérabilités, autrefois cantonnée à des tableurs, en une composante intégrée de votre processus de développement, garantissant que les résultats de sécurité des conteneurs sont suivis, priorisés et résolus de manière systématique.
La liste des dépendances de GitLab fournit une nomenclature logicielle complète (SBOM) qui répertorie chaque composant de vos images de conteneurs afin d'offrir une transparence totale sur votre chaîne d'approvisionnement logicielle.
Liste des dépendances de GitLab (SBOM)
Vous pouvez filtrer la liste par gestionnaire de paquets, type de licence ou statut de vulnérabilité afin d'identifier rapidement les composants qui présentent des risques de sécurité ou des problèmes de conformité. Chaque entrée de dépendance affiche les vulnérabilités associées pour traiter les problèmes de sécurité dans le contexte des composants logiciels réels, plutôt que comme des résultats isolés.
latestLorsque vous effectuez un push d'une image de conteneur avec le tag latest, le bot de politique de sécurité de GitLab déclenche automatiquement une analyse sur la branche par défaut. Contrairement à l'analyse dans le pipeline, cette approche fonctionne conjointement avec l'analyse continue des vulnérabilités pour surveiller les nouveaux avis de sécurité publiés.
Bouton d'activation de l'analyse des conteneurs pour le registre
Les vulnérabilités apparaissent sous l'onglet Vulnérabilités du registre de conteneurs dans votre rapport de vulnérabilités.
L'analyse multi-conteneurs utilise des pipelines enfants dynamiques pour exécuter des analyses simultanées afin de réduire considérablement le temps d'exécution global du pipeline lorsque plusieurs images doivent être analysées.
.gitlab-multi-image.yml à la racine de votre dépôt : scanTargets:
- name: alpine
tag: "3.19"
- name: python
tag: "3.9-slim"
- name: nginx
tag: "1.25"
.gitlab-ci.yml : include:
- template: Jobs/Multi-Container-Scanning.latest.gitlab-ci.yml
Analyser des images depuis des registres privés :
auths:
registry.gitlab.com:
username: ${CI_REGISTRY_USER}
password: ${CI_REGISTRY_PASSWORD}
scanTargets:
- name: registry.gitlab.com/private/image
tag: latest
Inclure les informations de licence :
includeLicenses: true
scanTargets:
- name: postgres
tag: "15-alpine"
L'analyse traditionnelle ne détecte les vulnérabilités qu'au moment où elle est effectuée. Mais que se passe-t-il lorsqu'une nouvelle vulnérabilité et exposition commune (CVE) est publiée le lendemain pour un paquet analysé la veille ? L'analyse continue des vulnérabilités résout ce problème en surveillant la base de données d'avis de GitLab et en enregistrant automatiquement les vulnérabilités lorsque de nouveaux avis affectent vos composants.
L'analyse opérationnelle des conteneurs comble l'écart entre la sécurité au moment du build et la sécurité à l'exécution. Grâce à l'agent GitLab pour Kubernetes, cette approche analyse les conteneurs réellement en cours d'exécution dans vos clusters pour détecter les vulnérabilités qui apparaissent après le déploiement.
Si vous utilisez l'agent GitLab pour Kubernetes, vous pouvez ajouter le contenu suivant à votre fichier de configuration de l'agent :
container_scanning:
cadence: '0 0 * * *' # Daily at midnight
vulnerability_report:
namespaces:
include:
- production
- staging
Vous pouvez également créer une politique d'exécution des analyses qui impose une analyse selon un planning défini par l'agent GitLab pour Kubernetes.
Conditions d'une politique d'exécution des analyses pour l'analyse opérationnelle des conteneurs
Les politiques de sécurité de GitLab vous permettent d'appliquer des normes de sécurité cohérentes dans l'ensemble de vos workflows de conteneurs, grâce à des contrôles automatisés pilotés par des politiques. Ces politiques intègrent la sécurité en amont en intégrant les exigences directement dans votre pipeline de développement afin de garantir que les vulnérabilités sont détectées et traitées avant que le code n'atteigne l'environnement de production.
Les politiques d'exécution des scans automatisent le moment et la manière dont l'analyse des conteneurs s'exécute dans vos projets. Définissez des politiques qui déclenchent des analyses de conteneurs sur chaque merge request, planifiez des analyses récurrentes de votre branche principale, et plus encore. Ces politiques assurent une couverture complète sans que les équipes de développement aient à configurer manuellement l'analyse dans le pipeline CI/CD de chaque projet.
Vous pouvez préciser les versions de scanner à utiliser et configurer les paramètres de scan de manière centralisée pour garantir la cohérence dans toute votre organisation tout en vous adaptant aux nouvelles menaces qui pèsent sur la sécurité des conteneurs.
Configuration d'une politique d'exécution des scans
Les politiques d'exécution des pipelines offrent des contrôles flexibles pour injecter (ou remplacer) des jobs personnalisés dans un pipeline en fonction de vos besoins en matière de conformité.
Ces politiques permettent d'injecter automatiquement des jobs d'analyse des conteneurs dans votre pipeline, de faire échouer les builds lorsque les vulnérabilités de conteneurs dépassent votre seuil de tolérance au risque, de déclencher des contrôles de sécurité supplémentaires pour des branches ou des tags spécifiques, ou encore d'imposer des exigences de conformité pour les images de conteneurs destinées aux environnements de production. Les politiques d'exécution des pipelines agissent comme des garde-fous automatisés pour appliquer vos normes de sécurité de manière cohérente dans l'ensemble de vos déploiements de conteneurs, sans intervention manuelle.
Actions d'une politique d'exécution de pipeline
Les politiques d'approbation des merge requests imposent des contrôles de sécurité : les approbateurs désignés examinent et valident les merge requests contenant des vulnérabilités de conteneurs.
Configurez des politiques qui bloquent le merge lorsque des vulnérabilités de gravité critique ou élevée sont détectées, ou qui exigent l'approbation de l'équipe de sécurité pour toute merge request introduisant de nouveaux résultats liés aux conteneurs. Ces politiques empêchent les images de conteneurs vulnérables de progresser dans votre pipeline tout en préservant la vélocité de développement pour les changements à faible risque.
Politique d'approbation des merge requests avec blocage dans la merge request
| Type d'analyse | Utilisation | Avantage clé |
|---|---|---|
| Analyse dans le pipeline | À chaque build | Contrôles de sécurité en amont, blocage des builds vulnérables |
| Analyse de registre | Surveillance continue | Détection des nouvelles CVE dans les images stockées |
| Analyse multi-conteneurs | Microservices | Analyse en parallèle, pipelines plus rapides |
| Analyse continue des vulnérabilités | Entre les déploiements | Surveillance proactive des avis |
| Analyse opérationnelle | Surveillance en production | Détection des vulnérabilités dans l'environnement d'exécution |
Pour une approche complète en matière de sécurité, combinez plusieurs approches : l'analyse dans le pipeline pour détecter les problèmes pendant le développement, l'analyse des conteneurs pour le registre afin d'assurer une surveillance continue et l'analyse opérationnelle pour la visibilité en production.
Activez l'analyse dans le pipeline pour commencer à appliquer des mesures de sécurité dans les conteneurs :
Ajoutez ensuite des analyses supplémentaires en fonction de vos exigences de sécurité et de votre abonnement GitLab.
La sécurité des conteneurs n'est pas une tâche ponctuelle, mais un processus continu. Grâce aux capacités complètes d'analyse des conteneurs de GitLab, vous pouvez détecter les vulnérabilités à chaque étape du cycle de vie de vos conteneurs, du build à l'exécution.
Pour en savoir plus sur la façon dont GitLab peut contribuer à renforcer votre posture de sécurité, consultez la page sur les solutions de sécurité et de gouvernance de GitLab.
Cet article de blog vous a plu ? Vous avez des questions ou des retours à nous faire ? Donnez votre avis en créant un nouveau sujet sur le forum de la communauté GitLab.
Faites-nous part de vos commentaires