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
- 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.
-
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.
-
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.
-
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.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
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.
-
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.
-
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.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
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:
-
Writer di 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 secret dopo una scansione delle vulnerabilità:
Attendi il completamento della scansione delle vulnerabilità.
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/occurrencesDove:
- 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.yamlnelladocumentsdirectory di un'immagine. L'attributosecretmostra 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.