Présentation de l'analyse des conteneurs

L'analyse des conteneurs identifie les failles nouvelles et existantes dans les dépendances Open Source des images de conteneurs de vos dépôts Artifact Registry. Artifact Analysis propose deux façons d'analyser vos packages : l'analyse automatique et l'analyse à la demande. Ce document décrit les deux types d'analyse.

Artifact Analysis fournit également une gestion des métadonnées. Pour découvrir comment utiliser l'analyse et le stockage des métadonnées ensemble afin de sécuriser votre pipeline CI/CD de bout en bout, consultez la présentation d'Artifact Analysis.

Consultez les tarifs pour en savoir plus sur les coûts associés à l'analyse des images de conteneurs.

Cette présentation suppose que vous savez déjà utiliser les dépôts Docker dans Artifact Registry.

Rechercher des failles dans les images

Artifact Analysis effectue des analyses de failles sur vos artefacts dans Artifact Registry. Artifact Analysis identifie également les dépendances et les licences pour vous aider à comprendre la composition de vos logiciels.

L'analyse automatique comprend deux tâches principales : l'analyse automatique et l'analyse continue.

Analyse automatique

Artifact Analysis analyse les nouvelles images au fur et à mesure de leur importation dans Artifact Registry. Cette analyse extrait des informations sur les packages du conteneur. Les images ne sont analysées qu'une seule fois, en fonction de leur condensé. Cela signifie que l'ajout ou la modification de tags ne déclenche pas de nouvelles analyses.

Artifact Analysis ne détecte que les failles des packages qui sont surveillés publiquement pour détecter les failles de sécurité.

Lorsque l'analyse d'une image est terminée, le résultat de faille produit est l'ensemble des occurrences de faille pour cette image.

Les analyses automatiques des failles détectent également les secrets, tels que les clés API et les clés de compte de service, afin que vous puissiez empêcher l'exposition de données sensibles. Cette fonctionnalité est en version preview. Pour en savoir plus, consultez la section Rechercher des secrets.

Analyse continue

Artifact Analysis crée des occurrences pour les failles détectées lors de l'importation de l'image. Une fois l'analyse initiale terminée, il surveille en permanence les métadonnées des images analysées dans Artifact Registry afin de détecter de nouvelles failles.

Artifact Analysis reçoit de nouvelles informations et des informations actualisées sur les failles provenant de sources de failles plusieurs fois par jour. Lorsque de nouvelles données sur les failles arrivent, Artifact Analysis met à jour les métadonnées des images analysées afin de les actualiser. Artifact Analysis met à jour les occurrences de failles existantes, crée des occurrences de failles pour les nouvelles notes et supprime les occurrences de failles qui ne sont plus valides.

Artifact Analysis continue d'analyser les images et les packages tant qu'ils ont été extraits au cours des 30 derniers jours. Après 30 jours, les métadonnées des images et des packages analysés ne seront plus mises à jour, et les résultats seront obsolètes.

Artifact Analysis archive les métadonnées qui sont obsolètes depuis plus de 90 jours. Ces métadonnées archivées ne peuvent être évaluées qu'à l'aide de l'API. Vous pouvez relancer l'analyse d'une image avec des métadonnées obsolètes ou archivées en extrayant cette image. L'actualisation des métadonnées peut prendre jusqu'à 24 heures. Les packages avec des métadonnées obsolètes ou archivées ne peuvent pas être analysés à nouveau.

Architectures

Artifact Analysis peut analyser des images sur n'importe quelle architecture basée sur Linux.

Vous pouvez également utiliser l'analyse des failles avec des listes de manifestes. Une liste de manifestes est une liste de pointeurs vers des manifestes pour plusieurs plates-formes. Ils permettent à une seule image de fonctionner avec plusieurs architectures ou variations d'un système d'exploitation.

Si votre liste de manifestes contient une image Linux amd64, Artifact Analysis analysera cette image. Sinon, Artifact Analysis sélectionne une autre image dans la liste.

On-Demand Scanning

L'analyse à la demande vous permet d'analyser les images de conteneurs localement sur votre ordinateur ou dans votre registre, à l'aide de gcloud CLI. Vous pouvez ainsi personnaliser votre pipeline CI/CD en fonction du moment où vous devez accéder aux résultats de l'analyse des failles.

Types de packages compatibles

Lorsque vous transférez des images de conteneurs vers des dépôts Docker dans Artifact Registry, Artifact Analysis peut rechercher les failles dans plusieurs types de packages d'OS et de packages de langage d'application.

Les tableaux suivants comparent les types de packages qu'Artifact Analysis peut analyser avec chaque service d'analyse :

Packages d'OS compatibles

Analyse automatique avec Artifact Registry Analyse à la demande
AlmaLinux OS
Alpine
CentOS
Chainguard.
Debian
Distroless Google
MinimOS
Red Hat Enterprise Linux (RHEL)
Image de base universelle Red Hat (UBI)
Rocky Linux
SUSE Linux Enterprise Server (SLES)
Ubuntu
Wolfi

Packages de langage d'application compatibles

Analyse automatique avec Artifact Registry Analyse à la demande
Packages Go
Packages Java
Packages Node.js
Packages PHP
Packages Python
Packages Ruby
Packages Rust
Packages .NET

Pour en savoir plus sur les fonctionnalités disponibles pour chaque produit de registre, consultez le tableau comparatif.

Artifact Analysis n'est pas compatible avec les conteneurs Windows Server.

Interfaces Artifact Analysis

Dans la Google Cloud console, vous pouvez afficher les failles et les métadonnées des images pour les conteneurs dans Artifact Registry.

Vous pouvez utiliser gcloud CLI pour afficher les failles et les métadonnées des images.

Vous pouvez également utiliser l' API REST Artifact Analysis pour effectuer l'une de ces actions. Comme pour les autres API Cloud Platform, vous devez autoriser l'accès à l'aide OAuth2. Une fois authentifié, vous pouvez également utiliser l'API pour créer des notes et des occurrences personnalisées, et afficher les occurrences de failles.

L'API Artifact Analysis est compatible avec gRPC et REST/JSON. Vous pouvez envoyer des appels à l'API à l'aide des bibliothèques clientes ou de cURL pour REST/JSON.

Recherche des chemins d'accès aux fichiers de package

Lorsque Artifact Analysis détecte une faille, vous ne reconnaissez peut-être pas le package vulnérable comme une dépendance dans votre artefact. Cela peut se produire si le gestionnaire de packages l'introduit ou si le package est une dépendance transitive (une dépendance de l'une de vos dépendances).

Pour trouver le chemin d'accès au fichier qui a provoqué la détection d'une faille, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la liste des failles d'un artefact dans Accéder à Artifact Registry.
  2. Pour la faille que vous souhaitez examiner, cliquez sur AFFICHER LE CORRECTIF.
  3. Dans le volet de détails, cliquez sur AFFICHER PLUS D'INFORMATIONS.

    Le champ Emplacement du fichier indique le chemin d'accès au package vulnérable.

Contrôler le déploiement d'images contenant des failles

Vous pouvez intégrer Artifact Analysis à l'autorisation binaire pour créer des attestations, ce qui peut empêcher les images de conteneurs présentant des problèmes de sécurité connus de s'exécuter dans votre environnement de déploiement.

Vous pouvez également utiliser l'autorisation binaire pour créer une liste d'autorisation de failles basée sur les informations sur les failles fournies par Artifact Analysis dans le cadre de votre déploiement. Si les failles enfreignent la règle de la liste d'autorisation, vous recevrez une alerte.

Enfin, vous pouvez utiliser l'analyse à la demande pour bloquer et faire échouer les compilations en fonction de la gravité des failles détectées.

Sources de failles

La section suivante répertorie les sources de failles qu' Artifact Analysis utilise pour obtenir des données CVE.

Analyses des packages d'OS

Artifact Analysis utilise les sources suivantes :

Analyses des packages de langages

Artifact Analysis est compatible avec l'analyse des failles pour les packages de langages dans une image de conteneur. Les données sur les failles sont obtenues à partir de la base de données Advisory GitHub.

Dans la plupart des cas, un ID CVE est attribué à chaque faille, et cet ID devient l'identifiant principal de cette faille. Dans les cas où aucun ID CVE n'est attribué à une faille, un ID GHSA est attribué à la place comme identifiant. Si, par la suite, un ID CVE est attribué à cette faille, l'ID de la faille est mis à jour pour correspondre au CVE. Pour en savoir plus, consultez la section Rechercher une faille spécifique dans un projet.

Versions d'OS compatibles

Artifact Analysis est compatible avec l'analyse des failles pour les versions de logiciels de système d'exploitation suivantes :

  • AlmaLinux OS : versions 8, 9, 10 et versions mineures
  • Alpine Linux : versions 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17, 3.18, 3.19, 3.20, 3.21, 3.22, 3.23
  • CentOS : versions 6, 7, 8 et versions mineures
  • Chainguard : mises à jour progressives sur un seul canal de publication.
  • Debian GNU/Linux : versions 11, 12, 13, 14, 15
  • MinimOS : mises à jour progressives sur un seul canal de publication.
  • Red Hat Enterprise Linux (RHEL) : les versions 7, 8, 9 et les versions mineures sont compatibles avec les analyses automatiques du registre.
  • Image de base universelle Red Hat (UBI) : versions 8, 9 et versions mineures
  • Rocky Linux : versions 8, 9, 10 et versions mineures
  • SUSE Linux Enterprise Server (SLES) : versions 12, 15 et versions mineures ; SLES pour SAP est également compatible avec les mêmes versions
  • Ubuntu : versions 14.04, 16.04, 18.04, 20.04, 22.04, 24.04, 24.10, 25.04, 25.10
  • Wolfi : mises à jour progressives sur un seul canal de publication.

Limites

  • La fonction principale d'Artifact Analysis consiste à analyser et à détecter les failles dans les conteneurs, et à les rendre visibles pour votre organisation. Artifact Analysis ne prétend pas identifier les caractéristiques des images qui pourraient augmenter ou réduire la capacité de votre organisation à vérifier l'intégrité ou la fiabilité d'une image. Pour renforcer cette confiance, Google propose des solutions que vous pouvez utiliser individuellement ou en combinaison. En savoir plus sur notre approche de la sécurité de la chaîne d'approvisionnement logicielle.

  • Artifact Analysis fournit des résultats d'analyse des failles pour RHEL en fonction de la dernière version mineure de chaque version majeure publiée. Si vous analysez une ancienne version mineure, vous risquez d'obtenir des résultats inexacts.

  • La version 9 de RHEL n'est pas compatible avec l'analyse à la demande.

Gestionnaires de packages et gestion sémantique des versions

  • Go : Artifact Analysis signale les failles des packages de la bibliothèque standard Go et des packages Go externes non inclus dans la bibliothèque standard. Les failles sont signalées avec un libellé différent pour chaque type de package.
  • Java : Artifact Analysis est compatible avec les packages Maven qui suivent les conventions d'attribution de noms Maven. Si la version du package contient des espaces, elle ne sera pas analysée.
  • Node.js : la correspondance des versions de package suit la gestion sémantique des versions spécification.
  • PHP : Artifact Analysis analyse les packages Composer. Consultez la gestion sémantique des versions de Composer.
  • Python : la correspondance des versions de Python suit la sémantique PEP 440.
  • Ruby : Artifact Analysis analyse les packages RubyGems. Consultez la gestion sémantique des versions de RubyGems.
  • Rust : Artifact Analysis analyse les packages Cargo. Consultez la gestion sémantique des versions de Rust.
  • .NET : Artifact Analysis analyse les packages NuGet. Consultez la gestion sémantique des versions de NuGet.

Étape suivante