Esplorare le vulnerabilità con l'assistenza di Gemini

Questo documento descrive come utilizzare Gemini Cloud Assist per conoscere lo stato degli artefatti, ottenere informazioni sui repository e sui metadati degli artefatti e utilizzare le informazioni di Artifact Analysis per rispondere a domande sulle vulnerabilità degli artefatti e sulle tue SBOM (software bill of materials).

Prima di iniziare

  1. Assicurati di aver configurato Gemini Cloud Assist nel tuo progetto 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. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per chiedere a Gemini Cloud Assist informazioni sui tuoi artefatti, chiedi all'amministratore di concederti i seguenti ruoli IAM:

    Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

    Aprire Gemini Cloud Assist

    Puoi aprire la chat di Gemini Cloud Assist da qualsiasi punto della consoleGoogle Cloud .

    1. Nella Google Cloud console, seleziona un progetto in cui sono archiviate immagini container in Artifact Registry.

      Vai al selettore dei progetti

    2. Per aprire il riquadro Cloud Assist, fai clic su sparachio Apri o chiudi la chat dell'AI di Gemini.
    3. Per inserire un prompt, digita il prompt e fai clic su Invia Invia.

    Considerazioni sui prompt

    Di seguito è riportato un elenco di considerazioni specifiche per l'Artifact Analysis che devi tenere presente quando generi prompt di Gemini Cloud Assist. Per maggiori dettagli sui suggerimenti generali per la scrittura dei prompt, visita la pagina Scrivi prompt migliori per Gemini per Google Cloud.

    • Tutti i prompt vengono impostati sul progetto selezionato, ma puoi indirizzare il prompt in modo che filtri per località, repository o immagine.
    • Qualsiasi query basata sul nome di un'immagine container considera il nome dell'immagine container come prefisso. In questo modo puoi filtrare all'interno di un progetto, un repository o un'immagine specifica (in diversi SHA), ma non ti consente di filtrare per tag.
    • Per ottenere risultati più specifici, includi un ambito. Ad esempio, per ottenere risultati per un'immagine specifica, includi il nome dell'immagine nell'ambito. Puoi filtrare aggiungendo i dettagli di progetto, repository, immagine o immagine@digest al nome dell'immagine container.
    • I qualificatori di regione non sono necessari per i prompt di Artifact Analysis, in quanto l&#39Artifact Analysisi fornisce risultati combinati di tutte le regioni. Puoi specificare un qualificatore di regione per filtrare i risultati.

    Elenca le mie principali vulnerabilità note

    Puoi chiedere a Gemini Cloud Assist di elencare le principali vulnerabilità note nel tuo progetto attuale. Le vulnerabilità sono ordinate in base al punteggio del Common Vulnerability Scoring System (CVSS) in ordine decrescente e raggruppate in base al loro ID vulnerabilità. Vengono visualizzate solo le prime 10 vulnerabilità. I risultati includono le vulnerabilità di tutte le immagini analizzate negli ultimi 30 giorni.

    Puoi filtrare la risposta in base al nome dell'immagine container.

    Per elencare le principali vulnerabilità note, nella chat di Gemini Cloud Assist, inserisci il seguente prompt:

    List artifact vulnerabilities for `CONTAINER_IMAGE_NAME`.
    

    Sostituisci CONTAINER_IMAGE_NAME con il nome dell'immagine del container che include il tuo repository, ad esempio us-central1-docker.pkg.dev/my-project/my-repository.

    Se includi più dettagli nel nome dell'immagine del container, la risposta sarà più precisa. Ad esempio, LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE fornirebbe i dettagli della vulnerabilità di un'immagine specifica.

    Il seguente prompt chiede a Gemini Cloud Assist di elencare le principali vulnerabilità note per il repository us-central1-docker.pkg.dev/my-project/my-repository:

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

    La risposta include un elenco di un massimo di 10 vulnerabilità ordinate in base al punteggio CVSS in ordine decrescente per il repository specificato.

    Per visualizzare tutte le vulnerabilità, utilizza il comando gcloud CLI elenco delle vulnerabilità degli artefatti. Puoi includere il nome dell'immagine non qualificato o fornire un algoritmo hash sicuro (SHA) per visualizzare le vulnerabilità.

    Elenca le immagini per vulnerabilità

    Puoi chiedere a Gemini Cloud Assist di mostrare tutte le tue immagini che includono una vulnerabilità specifica. La risposta è ordinata in ordine decrescente dalla data di creazione più recente e include le immagini scansionate negli ultimi 30 giorni. Questo prompt mostra un massimo di 10 immagini e include solo le immagini che sono state scansionate da Artifact Analysis.

    Puoi filtrare la risposta in base a quanto segue:

    • ID vulnerabilità
    • Nome dell'immagine container

    Per elencare le immagini che includono una vulnerabilità specifica, nella chat di Cloud Assist, inserisci il seguente prompt:

    List docker container images that contain vulnerability
    `VULNERABILITY_ID`.
    

    Sostituisci VULNERABILITY_ID con l'ID della vulnerabilità che vuoi individuare, ad esempio CVE-2024-01234.

    Il seguente prompt chiede a Gemini Cloud Assist di elencare le immagini che contengono la vulnerabilità CVE-2024-01234:

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

    La risposta include un elenco di un massimo di 10 immagini che contengono la vulnerabilità specificata, ordinate in base al punteggio CVSS in ordine decrescente per il repository specificato.

    Elenca le immagini per pacchetto

    Puoi chiedere a Gemini Cloud Assist di restituire un elenco di immagini che includono un pacchetto specificato. Le immagini sono ordinate in ordine decrescente in base alla data di creazione e includono le immagini scansionate negli ultimi 30 giorni. Questo prompt mostra un massimo di 10 immagini e include solo le immagini scansionate da Artifact Analysis.

    Puoi filtrare la risposta in base al nome dell'immagine container.

    Per elencare le immagini che includono un pacchetto specifico, nella chat di Cloud Assist inserisci il seguente prompt:

    List docker container images that contain package
    `PACKAGE_ID`.
    

    Sostituisci PACKAGE_ID con l'ID del pacchetto che vuoi individuare.

    Ad esempio, il seguente prompt chiede a Gemini Cloud Assist di elencare le immagini che contengono il pacchetto my-package-name:

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

    La risposta include un elenco di massimo 10 immagini che contengono il pacchetto specificato.

    Provenienza della build dell'elenco

    Puoi chiedere a Gemini Cloud Assist di restituire i dettagli di provenienza delle ultime 10 build per un progetto e un ambito specifici. I risultati sono ordinati per data di creazione in ordine decrescente, con gli elementi creati più di recente in cima all'elenco. Vengono visualizzate fino a 10 build. Per essere elencate, le build devono essere state create negli ultimi 30 giorni. Questo prompt supporta solo build con provenienza SLSA 1.0.

    Puoi filtrare la risposta in base al nome dell'immagine container.

    Per elencare la provenienza della build, nella chat di Cloud Assist, inserisci il seguente prompt:

    List build provenance for CONTAINER_IMAGE_NAME.
    

    Sostituisci CONTAINER_IMAGE_NAME con l'ID dell'immagine di cui vuoi conoscere la provenienza.

    Ad esempio, il seguente prompt chiede a Gemini Cloud Assist di elencare la provenienza della build per us-central1-docker.pkg.dev/my-project/my-image:

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

    Puoi rimuovere i dettagli di posizione, progetto o immagine dal nome dell'immagine del container per ottenere un insieme più ampio di risultati. La risposta include i dettagli di provenienza della build per le 10 build più recenti.

    Per visualizzare le build nella Google Cloud console, vai alla pagina Cronologia build.

    Elenca le SBOM

    Puoi chiedere a Gemini Cloud Assist di restituire le SBOM più recenti nel tuo repository. I risultati sono ordinati per data di creazione in ordine decrescente, con gli elementi creati più di recente in cima all'elenco. Possono essere visualizzate fino a 10 build create negli ultimi 30 giorni.

    Puoi filtrare la risposta in base al nome dell'immagine container, inclusi i dettagli di image@digest.

    Per elencare le SBOM, nella chat Cloud Assist, inserisci il seguente prompt:

    List SBOMs for `CONTAINER_IMAGE_NAME`.
    

    Sostituisci CONTAINER_IMAGE_NAME con il nome dell'immagine del container che vuoi cercare, ad esempio us-central1-docker.pkg.dev/my-project/my-repo.

    Il seguente prompt chiede a Gemini Cloud Assist di elencare le SBOM per il repository us-central1-docker.pkg.dev/my-project/my-repo:

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

    La risposta include i dettagli della SBOM per i 10 repository più recenti. Puoi rimuovere i dettagli di posizione, progetto o immagine dal nome dell'immagine del container per ottenere un insieme più ampio di risultati.

    Puoi visualizzare tutti gli SBOM utilizzando il comando gcloud CLI artifacts SBOM list.

    Prompt aggiuntivi

    I seguenti prompt mostrano le funzionalità di utilizzo delle variabili per filtrare con Gemini Cloud Assist.

    Per elencare le vulnerabilità in base a una variabile specifica, inserisci quanto segue nella chat di Cloud Assist:

    List vulnerabilities for `SCOPE`.
    

    In questo prompt SCOPE può essere impostato su un progetto, un repository, un'immagine o un'immagine e un digest.

    Per elencare le immagini che contengono un pacchetto specifico, inserisci quanto segue nella chat di Cloud Assist:

    List images that contain the log4j package.
    

    Per elencare le immagini che contengono una vulnerabilità specifica, inserisci quanto segue nella chat di Cloud Assist:

    List images that contain `VULNERABILITY_ID`.
    

    In questo prompt, sostituisci VULNERABILITY_ID con un numero CVE.

    Passaggi successivi