Explorer les failles avec l'aide de Gemini

Ce document explique comment utiliser Gemini Cloud Assist pour en savoir plus sur l'état de vos artefacts, obtenir des informations sur les dépôts et les métadonnées des artefacts, et utiliser les informations d'Artifact Analysis pour répondre aux questions sur les failles des artefacts et vos logiciels (SBOM).

Avant de commencer

  1. Assurez-vous d'avoir configuré Gemini Cloud Assist dans votre projet Google Cloud .
  2. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Artifact Registry and Container Scanning APIs.

    Enable the APIs

  6. Install the Google Cloud CLI.

  7. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  10. Make sure that billing is enabled for your Google Cloud project.

  11. Enable the Artifact Registry and Container Scanning APIs.

    Enable the APIs

  12. Install the Google Cloud CLI.

  13. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  14. To initialize the gcloud CLI, run the following command:

    gcloud init
  15. Rôles requis

    Pour obtenir les autorisations nécessaires pour demander à Gemini Cloud Assist des informations sur vos artefacts, demandez à votre administrateur de vous accorder les rôles IAM suivants :

    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.

    Ouvrir Gemini Cloud Assist

    Vous pouvez ouvrir le chat Gemini Cloud Assist depuis n'importe quel endroit de la consoleGoogle Cloud .

    1. Dans la console Google Cloud , sélectionnez un projet dans lequel vous avez stocké des images de conteneurs dans Artifact Registry.

      Accéder au sélecteur de projet

    2. Pour ouvrir le panneau Cloud Assist, cliquez sur spark Ouvrir ou fermer le chat Gemini AI.
    3. Pour saisir une requête, saisissez-la, puis cliquez sur Envoyer Envoyer.

    Points à prendre en compte pour les requêtes

    Vous trouverez ci-dessous une liste des points spécifiques à Artifact Analysis à prendre en compte lorsque vous générez des requêtes Gemini Cloud Assist. Pour en savoir plus sur les conseils généraux pour rédiger des requêtes, consultez Rédiger de meilleures requêtes pour Gemini dans Google Cloud.

    • Toutes les requêtes sont définies par défaut sur le projet sélectionné. Toutefois, vous pouvez les orienter pour filtrer par emplacement, dépôt ou image.
    • Toute requête basée sur un nom d'image de conteneur traite ce nom comme un préfixe. Cela vous permet de filtrer les résultats dans un projet, un dépôt ou une image spécifique (pour différents SHA), mais pas par tag.
    • Pour obtenir des résultats plus précis, incluez un champ d'application. Par exemple, pour obtenir des résultats pour une image spécifique, incluez le nom de l'image dans le champ "Étendue". Vous pouvez filtrer les résultats en ajoutant des informations sur le projet, le dépôt, l'image ou l'image@digest au nom de l'image de conteneur.
    • Les qualificatifs de région ne sont pas nécessaires pour les requêtes d'Artifact Analysis, car l'Artifact Analysis fournit des résultats combinés de toutes les régions. Vous pouvez spécifier un qualificatif de région pour filtrer les résultats.

    Liste mes principales failles connues

    Vous pouvez demander à Gemini Cloud Assist de lister les principales failles connues dans votre projet actuel. Les failles sont triées par score CVSS (Common Vulnerability Scoring System) par ordre décroissant et regroupées par ID de faille. Seules les 10 principales failles sont affichées. Les résultats incluent les failles de toutes les images analysées au cours des 30 derniers jours.

    Vous pouvez filtrer la réponse par nom d'image de conteneur.

    Pour lister les principales failles connues, dans le chat Gemini Cloud Assist, saisissez la requête suivante :

    List artifact vulnerabilities for `CONTAINER_IMAGE_NAME`.
    

    Remplacez CONTAINER_IMAGE_NAME par le nom de l'image de conteneur qui inclut votre dépôt, par exemple us-central1-docker.pkg.dev/my-project/my-repository.

    Si vous incluez plus de détails dans le nom de votre image de conteneur, vous obtiendrez une réponse plus précise. Par exemple, LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE fournit des informations sur les failles d'une image spécifique.

    La requête suivante demande à Gemini Cloud Assist de lister les principales failles connues pour le dépôt us-central1-docker.pkg.dev/my-project/my-repository :

    List artifact vulnerabilities for
    `us-central1-docker.pkg.dev/my-project/my-repository`.
    

    La réponse inclut une liste de 10 failles maximum, triées par score CVSS dans l'ordre décroissant pour le dépôt spécifié.

    Pour afficher toutes vos failles, utilisez la commande gcloud CLI artifacts vulnerabilities list. Vous pouvez inclure le nom de l'image non qualifié ou fournir un algorithme de hachage sécurisé (SHA) pour afficher les failles.

    Lister les images par faille

    Vous pouvez demander à Gemini Cloud Assist d'afficher toutes vos images qui incluent une faille spécifique. La réponse est triée par ordre décroissant de la date de création la plus récente et inclut les images analysées au cours des 30 derniers jours. Cette invite affiche un maximum de 10 images et n'inclut que celles qui ont été analysées par Artifact Analysis.

    Vous pouvez filtrer la réponse par les éléments suivants :

    • ID de la faille
    • Nom de l'image de conteneur

    Pour lister les images qui incluent une faille spécifique, saisissez la requête suivante dans le chat Cloud Assist :

    List docker container images that contain vulnerability
    `VULNERABILITY_ID`.
    

    Remplacez VULNERABILITY_ID par l'ID de la faille que vous souhaitez localiser, par exemple CVE-2024-01234.

    La requête suivante demande à Gemini Cloud Assist de lister les images contenant la faille CVE-2024-01234 :

    List artifact vulnerabilities for `CVE-2024-01234`.
    

    La réponse inclut une liste de 10 images maximum contenant la faille spécifiée, triées par score CVSS dans l'ordre décroissant pour le dépôt spécifié.

    Lister les images par package

    Vous pouvez demander à Gemini Cloud Assist de renvoyer une liste d'images incluant un package spécifié. Les images sont triées par ordre décroissant en fonction de leur date de création et incluent celles analysées au cours des 30 derniers jours. Cette requête affiche un maximum de 10 images et n'inclut que les images analysées par Artifact Analysis.

    Vous pouvez filtrer la réponse par nom d'image de conteneur.

    Pour lister les images qui incluent un package spécifique, saisissez la requête suivante dans le chat Cloud Assist :

    List docker container images that contain package
    `PACKAGE_ID`.
    

    Remplacez PACKAGE_ID par l'ID du package que vous souhaitez localiser.

    Par exemple, la requête suivante demande à Gemini Cloud Assist de lister les images contenant le package my-package-name :

    List images that contain package `my-package-name`.
    

    La réponse inclut une liste de 10 images maximum contenant le package spécifié.

    Lister la provenance du build

    Vous pouvez demander à Gemini Cloud Assist de renvoyer les 10 derniers détails de provenance de compilation pour un projet et un champ d'application spécifiés. Les résultats sont triés par date de création, par ordre décroissant, les éléments les plus récents figurant en haut de la liste. Jusqu'à 10 builds sont affichés. Pour être listées, les versions doivent avoir été créées au cours des 30 derniers jours. Cette invite n'accepte que les builds avec provenance SLSA 1.0.

    Vous pouvez filtrer la réponse par nom d'image de conteneur.

    Pour lister la provenance de votre compilation, dans le chat Cloud Assist, saisissez la requête suivante :

    List build provenance for CONTAINER_IMAGE_NAME.
    

    Remplacez CONTAINER_IMAGE_NAME par l'ID de l'image dont vous souhaitez connaître la provenance.

    Par exemple, la requête suivante demande à Gemini Cloud Assist de lister la provenance de la compilation pour us-central1-docker.pkg.dev/my-project/my-image :

    List build provenance for `us-central1-docker.pkg.dev/my-project/my-image`.
    

    Vous pouvez supprimer les informations sur l'emplacement, le projet ou l'image du nom de votre image de conteneur pour obtenir un ensemble de résultats plus large. La réponse inclut les détails de provenance des 10 dernières versions.

    Pour afficher vos compilations dans la console Google Cloud , accédez à la page Historique de compilation.

    Lister les SBOM

    Vous pouvez demander à Gemini Cloud Assist de renvoyer les dernières SBOM de votre dépôt. Les résultats sont triés par date de création dans l'ordre décroissant, les éléments les plus récents étant affichés en haut de la liste. Jusqu'à 10 versions créées au cours des 30 derniers jours peuvent être affichées.

    Vous pouvez filtrer la réponse par nom d'image de conteneur, y compris les détails image@digest.

    Pour lister vos SBOM, dans le chat Cloud Assist, saisissez le prompt suivant :

    List SBOMs for `CONTAINER_IMAGE_NAME`.
    

    Remplacez CONTAINER_IMAGE_NAME par le nom de l'image de conteneur que vous souhaitez rechercher, par exemple us-central1-docker.pkg.dev/my-project/my-repo.

    La requête suivante demande à Gemini Cloud Assist de lister les SBOM pour le dépôt us-central1-docker.pkg.dev/my-project/my-repo :

    List SBOMs for `us-central1-docker.pkg.dev/my-project/my-repo`.
    

    La réponse inclut les détails de la SBOM pour les 10 derniers dépôts. Vous pouvez supprimer les informations sur l'emplacement, le projet ou l'image du nom de votre image de conteneur pour obtenir un ensemble de résultats plus large.

    Vous pouvez afficher toutes les SBOM à l'aide de la commande gcloud CLI artifacts SBOM list.

    Requêtes supplémentaires

    Les requêtes suivantes illustrent les possibilités de filtrage avec Gemini Cloud Assist à l'aide de variables.

    Pour lister les failles par variable spécifique, saisissez ce qui suit dans le chat Cloud Assist :

    List vulnerabilities for `SCOPE`.
    

    Dans cette invite, SCOPE peut être défini sur un projet, un dépôt, une image, ou une image et un résumé.

    Pour lister les images contenant un package spécifique, saisissez la commande suivante dans le chat Assistance Cloud :

    List images that contain the log4j package.
    

    Pour lister les images contenant une faille spécifique, saisissez la commande suivante dans le chat Cloud Assist :

    List images that contain `VULNERABILITY_ID`.
    

    Dans cette requête, remplacez VULNERABILITY_ID par un numéro CVE.

    Étapes suivantes