Scansione dei secret

Le scansioni delle vulnerabilità di Artifact Analysis possono identificare i secret, come le chiavi dei account di servizio e le chiavi API, archiviati nelle immagini sottoposte a scansione. Puoi visualizzare le informazioni su questi secret nel report sulle occorrenze della scansione delle vulnerabilità e intraprendere azioni per impedire l'esposizione di informazioni sensibili.

Panoramica

Quando una scansione delle vulnerabilità rileva un secret, Artifact Analysis crea un'occorrenza di tipo secret con i dettagli del secret. Artifact Analysis può rilevare i seguenti secret:

Secret

  • Chiavi di amministrazione di Anthropic
  • Chiavi API di Anthropic
  • Token di accesso di Azure
  • Token ID di Azure
  • Token di accesso personali di Docker Hub
  • Token di aggiornamento dell'app GitHub
  • Token da server a server dell'app GitHub
  • Token da utente a server dell'app GitHub
  • Token di accesso personali classici di GitHub
  • Token di accesso personali granulari di GitHub
  • Token OAuth di GitHub
  • Google Cloud Coppie OAuth2 (ID client e secret)
  • Google Cloud Token di accesso OAuth2
  • Google Cloud Chiavi degli account di servizio
  • Google Cloud Chiavi API
  • Chiavi API di Hugging Face
  • Chiavi API di OpenAI
  • Chiavi API di Perplexity
  • Chiavi limitate di Stripe
  • Chiavi segrete di Stripe
  • Secret webhook di Stripe

Per informazioni dettagliate sui diversi tipi di secret nei report sulle occorrenze, consulta SecretKind nella documentazione dell'API Artifact Analysis.

Artifact Analysis può rilevare solo i secret archiviati come file di testo. Sono supportate le seguenti estensioni di file:

  • .cer
  • .cfg
  • .crt
  • .der
  • .env
  • .html
  • .key
  • .ipynb
  • .json
  • .log
  • .md
  • .pem
  • .py
  • .pypirc
  • .textproto
  • .toml
  • .txt
  • .xml
  • .yaml

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per eseguire, testare ed eseguire il deployment di carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Artifact Registry and Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. Installa Google Cloud CLI.

  7. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  8. Per inizializzare gcloud CLI, esegui questo comando:

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  10. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  11. Verify that billing is enabled for your Google Cloud project.

  12. Enable the Artifact Registry and Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  13. Installa Google Cloud CLI.

  14. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  15. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init

L'abilitazione di questa API abilita anche la scansione dei pacchetti di lingua in Artifact Registry. Consulta i tipi di pacchetti supportati.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire la scansione delle immagini alla ricerca di secret durante le scansioni delle vulnerabilità, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:

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.

Visualizzare i secret

Per visualizzare i secret dopo una scansione delle vulnerabilità:

  1. Esegui il push di un'immagine Docker in Artifact Registry.

  2. Attendi il completamento della scansione delle vulnerabilità.

  3. Esegui questo comando per elencare le occorrenze di secret per l'immagine sottoposta a scansione:

    $ curl -G -H "Content-Type: application/json"   -H "Authorization: Bearer $(gcloud auth print-access-token)" --data-urlencode "filter=(kind=\"SECRET\" AND resourceUrl=\"RESOURCE_URL\")" https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/occurrences
    

    Dove:

    • PROJECT_ID è l'ID progetto della Google Cloud console project ID.
    • LOCATION è la località regionale o multiregionale del repository.
    • RESOURCE_URL è l'URL dell'immagine sottoposta a scansione, nel formato https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID.

    La seguente risposta di esempio mostra un possibile risultato. In questo caso, è stata identificata una Google Cloud chiave API denominata my_api_key.yaml nella documents directory di un'immagine. L'attributo secret mostra informazioni sul secret rilevato.

    {
      "occurrences": [
        {
          "name": "projects/my-project/locations/us-east1/occurrences/45619d23-66b1-4f5b-9b12-9060d7f97ff3",
          "resourceUri": "https://us-east1-docker.pkg.dev/my-project/my-images/test-image-0106@sha256:73cf5b9a788dc391c40e9cf1599144d03875b5d2dc935988ebfef8260bd2678e",
          "noteName": "projects/my-project/locations/us-east1/notes/secret_kind_gcp_api_key",
          "kind": "SECRET",
          "createTime": "2026-01-06T21:16:14.905851Z",
          "updateTime": "2026-01-06T21:16:14.905851Z",
          "secret": {
            "kind": "SECRET_KIND_GCP_API_KEY",
            "locations": [
              {
                "fileLocation": {
                  "filePath": "documents/my_api_key.yaml",
                  "layerDetails": {
                    "index": 2,
                    "diffId": "7b76df10d6d90391830392eac96b0ef2d2d43822c6ff4754aa6daea0fe14a8c5",
                    "command": "COPY . . # buildkit",
                    "chainId": "sha256:75df0c59982f47cc38e730e1a122b67fceaaf7797d91e1fa17ffffc5cfe7ff59"
                  }
                }
              }
            ]
          }
        }
      ]
    }
    

Limitazioni

  • Durante l'anteprima pubblica della scansione dei secret, le occorrenze di tipo secret sono visibili solo nell'API Container Analysis.
  • I report di scansione dei secret di Artifact Analysis segnalano al massimo un'occorrenza per secret per immagine. Vengono restituite al massimo 1000 posizioni di file per occorrenza.
  • Potrebbero verificarsi falsi positivi con i secret identificati. Verifica sempre ogni secret identificato prima di intraprendere qualsiasi azione sulle immagini.