Ce document explique comment afficher les instructions VEX (Vulnerability Exploitability eXchange) stockées dans Artifact Analysis et filtrer les failles à l'aide de l'état VEX.
Les responsables de l'application des règles et de la sécurité peuvent utiliser ces fonctionnalités pour hiérarchiser les tâches d'atténuation des problèmes de sécurité. Vous pouvez également utiliser les données VEX pour attester de la composition de vos artefacts afin d'aider votre organisation à répondre aux exigences réglementaires.
Rôles requis
Pour obtenir les autorisations nécessaires pour importer des évaluations VEX et vérifier l'état VEX des failles, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
-
Pour afficher les occurrences de failles :
lecteur d'occurrences Container Analysis (
roles/containeranalysis.occurrences.viewer)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Afficher l'état VEX dans la Google Cloud console
Pour afficher les informations VEX des images de conteneurs stockées dans Artifact Registry :
Ouvrez la page Dépôts d'Artifact Registry.
La page qui s'affiche répertorie vos dépôts.
Dans la liste des dépôts, cliquez sur le nom d'un dépôt.
Dans la liste des images, cliquez sur le nom d'une image.
La liste des condensés d'images s'affiche.
Dans la liste des condensés, cliquez sur le nom d'un condensé.
Une page de détails du condensé s'ouvre avec une ligne d'onglets. Par défaut, l'onglet Overview (Présentation) est ouvert.
Dans la ligne d'onglets, sélectionnez l'onglet Vulnerabilities (Failles).
La page affiche une présentation des résultats de l'analyse avec une section VEX Status (État VEX).
La section récapitulative VEX Status (État VEX) affiche le nombre de packages classés par type d'état VEX. Pour afficher tous les packages avec un état VEX spécifique, cliquez sur le numéro à côté du type d'état.
L'onglet Vulnerabilities (Failles) affiche également l'état VEX de chaque package dans la liste des failles.
Pour filtrer la liste des failles :
- Au-dessus de la liste des failles, cliquez sur Filter vulnerabilities (Filtrer les failles).
- Sélectionnez un filtre dans la liste des filtres.
- Spécifiez la valeur à utiliser pour filtrer la liste.
Afficher l'état VEX dans Cloud Build
Si vous utilisez Cloud Build, vous pouvez également afficher les informations VEX dans le panneau latéral Security insights (Insights sur la sécurité) de la Google Cloud console.
Si vous utilisez Cloud Build, vous pouvez afficher les métadonnées des images dans le panneau latéral Security insights de la Google Cloud console.
Le panneau latéral Security insights (Insights sur la sécurité) fournit une présentation générale des informations de sécurité de la compilation pour les artefacts stockés dans Artifact Registry. Pour en savoir plus sur le panneau latéral et sur la façon dont vous pouvez utiliser Cloud Build pour protéger votre chaîne d'approvisionnement logicielle, consultez Afficher les insights sur la sécurité des builds.
Afficher à l'aide de gcloud CLI
La section suivante explique comment récupérer des informations VEX et appliquer des filtres pour limiter les résultats en fonction de vos besoins.
Afficher les informations VEX pour un seul artefact
Pour afficher les informations VEX importées, vous pouvez interroger l'API et lister les notes avec le type de note VULNERABILITY_ASSESSMENT.
Utilisez l'appel d'API suivant pour demander toutes les notes d'évaluation des failles pour l'artefact spécifié :
curl -G -H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
--data-urlencode "filter=(kind=\"VULNERABILITY_ASSESSMENT\" AND vulnerability_assessment.product.generic_uri=\"https://LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME@DIGEST\"" https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/notes
Où
- LOCATION correspond à la région ou à l'emplacement multirégional de votre dépôt.
- PROJECT_ID correspond à l'ID du Google Cloud projet dans lequel votre image est stockée dans un dépôt Artifact Registry.
- REPO_NAME correspond au nom du dépôt Artifact Registry qui contient l'image.
- IMAGE_NAME correspond au nom de l'image.
- DIGEST correspond au condensé de l'image, une chaîne commençant par
sha256:.
Filtrer les failles par état VEX
Avec gcloud, vous pouvez filtrer les métadonnées des failles par état VEX. Artifact Analysis filtre en fonction de l'état stocké dans chaque occurrence de faille Grafeas.
Exécutez la commande suivante pour filtrer les occurrences de failles en fonction d'un état VEX spécifié :
gcloud artifacts vulnerabilities list RESOURCE_URI \
--occurrence-filter="vulnDetails.vex_assessment.state=\"STATUS\""
Où
- RESOURCE_URI correspond à l'URL complète de l'image, semblable à https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH.
- STATUS correspond à l'état VEX à filtrer, qui peut être l'une des
valeurs suivantes :
known_affected,known_not_affected,under_investigationoufixed.
Par exemple, exécutez la commande suivante pour filtrer les occurrences de failles avec l'état VEX AFFECTED :
gcloud artifacts vulnerabilities list RESOURCE_URI \
--occurrence-filter="vulnDetails.vex_assessment.state=\"AFFECTED\""
Lister les failles sans VEX
Pour identifier les failles auxquelles aucune information VEX n'est encore associée, utilisez la commande gcloud suivante :
gcloud artifacts vulnerabilities list /
LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME@DIGEST /--occurrence-filter="isNull(vulnDetails.vex_assessment.state)"
Où
- LOCATION correspond à la région ou à l'emplacement multirégional de votre dépôt.
- PROJECT_ID correspond à l'ID du Google Cloud projet dans lequel votre image est stockée dans un dépôt Artifact Registry.
- REPO_NAME correspond au nom du dépôt Artifact Registry qui contient l'image.
- IMAGE_NAME correspond au nom de l'image.
- DIGEST correspond au condensé de l'image, une chaîne commençant par
sha256:.
Limites
- L'importation d'instructions VEX n'est compatible qu'avec les images de conteneurs.
- Les instructions VEX importées ne peuvent pas être exportées aux normes CSAF, OpenVex ni SPDX.
Étape suivante
- En savoir plus sur les SBOM.
- Rechercher des failles avec Artifact Analysis.