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 scansionate. Puoi visualizzare le informazioni su questi secret nel report sull'occorrenza della scansione delle vulnerabilità e intervenire per evitare 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. L'Artifact Analysis può rilevare i seguenti secret:
Secret
- Chiavi di amministrazione Anthropic
- Chiavi API Anthropic
- Token di accesso Azure
- Token ID Azure
- Token di accesso personale Docker Hub
- Token di aggiornamento dell'app GitHub
- Token server-to-server dell'app GitHub
- Token da utente a server dell'app GitHub
- Token di accesso personale classici di GitHub
- Token di accesso personale granulari di GitHub
- Token OAuth GitHub
- Google Cloud Coppie OAuth2 (ID client e client secret)
- Google Cloud Token di accesso OAuth2
- Chiavi service accountGoogle Cloud
- Google Cloud Chiavi API
- Chiavi API Hugging Face
- Chiavi API OpenAI
- Chiavi API Perplexity
- Chiavi con limitazioni di Stripe
- Chiavi segrete Stripe
- Secret webhook di Stripe
Per informazioni dettagliate sui diversi tipi di segreti nei report sulle occorrenze, consulta
SecretKind
nella documentazione dell'API Artifact Analysis.
L'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
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
L'abilitazione di questa API attiva 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 segreti durante le scansioni delle vulnerabilità, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:
-
Autore Artifact Registry (
roles/artifactregistry.writer) -
Visualizzatore occorrenze Container Analysis (
roles/containeranalysis.occurrences.viewer)
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 segreti dopo una scansione delle vulnerabilità:
Attendi il completamento dell'analisi delle vulnerabilità.
Esegui questo comando per elencare le occorrenze di secret per l'immagine analizzata:
$ 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/occurrencesDove:
- PROJECT_ID è l'ID progetto della console Google Cloud .
- LOCATION è la posizione regionale o multiregionale del repository.
- RESOURCE_URL è l'URL dell'immagine scansionata, 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 chiave APIGoogle Cloud denominata
my_api_key.yamlnella directorydocumentsdi un'immagine. L'attributosecretmostra informazioni sul secret scoperto.{ "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 segreti, le occorrenze di tipo segreto sono visibili solo nell'API Container Analysis.
- La scansione dei segreti di Artifact Analysis genera report su al massimo un'occorrenza per segreto per immagine. Vengono restituite al massimo 1000 posizioni di file per occorrenza.
- Con i segreti identificati possono verificarsi falsi positivi. Verifica sempre ogni segreto identificato prima di intraprendere qualsiasi azione sulle tue immagini.