Afficher l'état VEX

Ce document explique comment afficher les instructions Vulnerability Exploitability eXchange (VEX) stockées dans Artifact Analysis et filtrer les failles à l'aide de l'état VEX.

Les responsables de la sécurité et de l'application des règles peuvent utiliser ces fonctionnalités pour hiérarchiser les tâches de réduction des risques associés à la sécurité. Vous pouvez également utiliser les données VEX pour attester de la composition de vos artefacts afin d'aider votre organisation à respecter les 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 en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher l'état de VEX dans la console Google Cloud

Pour afficher les informations VEX des images de conteneur stockées dans Artifact Registry:

  1. Ouvrez la page Dépôts de l'Artifact Registry.

    Ouvrir la page "Dépôts"

    La page qui s'affiche répertorie vos dépôts.

  2. Dans la liste des dépôts, cliquez sur le nom d'un dépôt.

  3. Dans la liste des images, cliquez sur un nom d'image.

    Une liste des récapitulatifs d'images s'affiche.

  4. Dans la liste des récapitulatifs, cliquez sur un nom de récapitulatif.

    Une page d'informations sur le récapitulatif s'ouvre avec une ligne d'onglets. Par défaut, l'onglet Aperçu est ouvert.

  5. Dans la ligne d'onglets, sélectionnez l'onglet Failles.

    La page affiche un aperçu des résultats de l'analyse avec une section État de VEX.

    La section récapitulative État VEX indique le nombre de packages classés par type d'état VEX. Pour afficher tous les packages associés à un état VEX spécifique, cliquez sur le nombre à côté du type d'état.

    L'onglet Failles affiche également l'état VEX de chaque package dans la liste des failles.

    Pour filtrer la liste des failles:

    1. Au-dessus de la liste des failles, cliquez sur Filtrer les failles.
    2. Sélectionnez un filtre dans la liste des filtres.
    3. 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 des informations VEX dans le panneau latéral Insights de sécurité de la console Google Cloud.

Si vous utilisez Cloud Build, vous pouvez afficher les métadonnées des images dans le panneau latéral Insights de sécurité de la console Google Cloud.

Le panneau latéral Insights sur la sécurité fournit une vue d'ensemble des informations de sécurité de compilation pour les artefacts stockés dans Artifact Registry. Pour en savoir plus sur le panneau latéral et découvrir comment utiliser Cloud Build pour protéger votre chaîne d'approvisionnement logicielle, consultez Afficher des insights sur la sécurité de la compilation.

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 d'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 --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

  • LOCATION correspond à la région ou à l'emplacement multirégional de votre dépôt.
  • PROJECT_ID correspond à l'ID du projet Google Cloud dans lequel votre image est stockée dans un dépôt Artifact Registry.
  • REPO_NAME est le nom du dépôt Artifact Registry contenant 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 de failles par état VEX. Artifact Analysis filtre les résultats 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\""

  • RESOURCE_URI est l'URL complète de l'image, semblable à https://EMPLACEMENT-docker.pkg.dev/ID-PROJET/DEPOT/IMAGE_ID@sha256:HASH.
  • STATUS correspond à l'état VEX à filtrer, qui peut être l'une des valeurs suivantes: known_affected, known_not_affected, under_investigation ou fixed.

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\""

Répertorier 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)"

  • LOCATION correspond à la région ou à l'emplacement multirégional de votre dépôt.
  • PROJECT_ID correspond à l'ID du projet Google Cloud dans lequel votre image est stockée dans un dépôt Artifact Registry.
  • REPO_NAME est le nom du dépôt Artifact Registry contenant 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 acceptée que pour les images de conteneur.
  • Les instructions VEX importées ne peuvent pas être exportées vers les normes CSAF, OpenVex ou SPDX.

Étape suivante