L'analyse des packages identifie les failles existantes et nouvelles dans les dépendances Open Source des packages basés sur le langage dans vos dépôts Artifact Registry.
Consultez la page Tarifs pour en savoir plus sur les coûts associés à l'analyse des packages.
Cette présentation part du principe que vous savez déjà comment utiliser les dépôts Docker dans Artifact Registry.
Présentation
Artifact Analysis analyse les fichiers d'un package lorsque celui-ci est transféré vers Artifact Registry. Une fois l'analyse initiale terminée, Artifact Registry continue de surveiller les métadonnées des packages analysés afin de détecter de nouvelles failles.
Pour évaluer les zones de risque potentielles, Artifact Registry compare les dépendances d'un fichier de configuration de package aux failles connues. Vous pouvez examiner les failles potentielles de votre package dans Artifact Analysis.
Rechercher des failles dans les packages
Artifact Analysis analyse les packages dans vos dépôts Artifact Registry pour identifier les failles, les dépendances et les licences. Vous pouvez ainsi comprendre la composition de vos packages.
Artifact Analysis analyse les nouveaux packages lorsqu'ils sont transférés vers Artifact Registry. Ce processus est appelé analyse automatique. L'analyse extrait des informations sur les fichiers du package. Après avoir analysé un package, Artifact Analysis produit un rapport de faille qui indique les occurrences de faille pour ce package. Les failles ne sont détectées que dans les packages qui sont surveillés publiquement pour détecter les failles de sécurité.
Analyse continue
Une fois un package analysé, Artifact Analysis surveille en permanence les métadonnées du package analysé 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 sont disponibles, 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. Au bout de 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 obsolètes depuis plus de 90 jours. Ces métadonnées archivées ne peuvent être évaluées qu'à l'aide de l'API. Pour lancer une nouvelle analyse d'une image avec des métadonnées obsolètes ou archivées, vous devez extraire cette image. L'actualisation des métadonnées peut prendre jusqu'à 24 heures. Les packages dont les métadonnées sont obsolètes ou archivées ne peuvent pas être réanalysés.
Types de packages acceptés
Lorsque vous transférez des packages vers Artifact Registry, Artifact Analysis peut rechercher les failles.
Le tableau suivant présente les types de packages qu'Artifact Analysis peut analyser :
| Analyse automatique avec Artifact Registry | On-Demand Scanning | |
|---|---|---|
| Packages Java | ||
| Packages Python | ||
| Packages Node.js |
Interfaces Artifact Analysis
Dans la console Google Cloud , vous pouvez afficher les failles et les métadonnées des packages dans Artifact Registry.
Vous pouvez utiliser la gcloud CLI pour afficher les failles et les métadonnées.
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 d'OAuth2.
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.
Sources de failles
La section suivante liste les sources de failles qu'Artifact Analysis utilise pour obtenir les données CVE.
Analyses des packages de langages
Artifact Analysis est compatible avec l'analyse des failles pour les fichiers d'un package. Les données sur les failles proviennent de la base de données Advisory GitHub.
Dans la plupart des cas, chaque faille se voit attribuer un ID CVE, qui 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. Si cette faille reçoit ultérieurement un ID CVE, l'ID de la faille est mis à jour pour correspondre à la CVE. Pour en savoir plus, consultez Rechercher une faille de sécurité spécifique dans un projet.
Gestionnaires de packages et gestion sémantique des versions
- Java : l'Artifact Analysis est compatible avec les packages Maven qui suivent les conventions de dénomination Maven. Si la version du package inclut des espaces, elle ne sera pas analysée.
- Node.js : la correspondance des versions de package suit la spécification de gestion sémantique des versions.
- Python : la version Python correspondante suit la sémantique de la PEP 440.
Limites
Artifact Analysis n'analyse que les packages comportant 100 fichiers ou moins.
Si vous envoyez le même package à plusieurs dépôts, chaque envoi vous sera facturé. Pour en savoir plus, consultez la page Tarifs d'Artifact Analysis.
Étapes suivantes
- Pour savoir comment afficher les failles des packages et filtrer les occurrences de failles, consultez Analyser automatiquement les packages.