As verificações de vulnerabilidade do Artifact Analysis podem identificar secrets, como chaves de conta de serviço e chaves de API, armazenados em imagens verificadas. Você pode conferir informações sobre esses secrets no relatório de ocorrências da verificação de vulnerabilidades e tomar medidas para evitar a exposição de informações sensíveis.
Visão geral
Quando uma verificação de vulnerabilidade detecta um secret, o Artifact Analysis cria uma ocorrência do tipo secret com detalhes sobre ele. Artifact Analysis pode detectar os seguintes secrets:
Secrets
- Chaves de administrador da Anthropic
- Chaves de API da Anthropic
- Tokens de acesso do Azure
- Tokens de ID do Azure
- Tokens de acesso pessoal do Docker Hub
- Tokens de atualização do app GitHub
- Tokens de servidor para servidor do app GitHub
- Tokens de usuário para servidor do app GitHub
- Tokens de acesso pessoal clássicos do GitHub
- Tokens de acesso pessoal refinados do GitHub
- Tokens OAuth do GitHub
- ParesGoogle Cloud OAuth2 (ID e chave secreta do cliente)
- Google Cloud Tokens de acesso do OAuth2
- Google Cloud chaves da conta de serviço
- Google Cloud Chaves de API
- Chaves de API do Huggingface
- Chaves de API da OpenAI
- Chaves de API da Perplexity
- Chaves restritas da Stripe
- Chaves secretas da Stripe
- Secrets do webhook da Stripe
Para informações detalhadas sobre os diferentes tipos de segredos em relatórios de ocorrências, consulte
SecretKind
na documentação da API Artifact Analysis.
Artifact Analysis só pode detectar secrets armazenados como arquivos de texto. As seguintes extensões de arquivo são compatíveis:
.cer.cfg.crt.der.env.html.key.ipynb.json.log.md.pem.py.pypirc.textproto.toml.txt.xml.yaml
Antes de começar
- 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 este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.
-
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 este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.
-
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
Ao ativar essa API, você também ativa a verificação de pacotes de linguagens no Artifact Registry. Confira os tipos de pacotes compatíveis.
Funções exigidas
Para receber as permissões necessárias para verificar imagens em busca de secrets durante as verificações de vulnerabilidade, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Gravador do Artifact Registry (
roles/artifactregistry.writer) -
Leitor de ocorrências do Container Analysis (
roles/containeranalysis.occurrences.viewer)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Ver secrets
Para conferir os secrets após uma verificação de vulnerabilidades, faça o seguinte:
Aguarde a conclusão da verificação de vulnerabilidades.
Execute o comando a seguir para listar as ocorrências de segredos na imagem verificada:
$ 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/occurrencesEm que:
- PROJECT_ID é o ID do projeto do seu Google Cloud console.
- LOCATION é o local regional ou multirregional do seu repositório.
- RESOURCE_URL é o URL da imagem digitalizada, no formato
https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID.
Confira um exemplo de resposta possível. Nesse caso, uma chave de APIGoogle Cloud chamada
my_api_key.yamlfoi identificada no diretóriodocumentsde uma imagem. O atributosecretmostra informações sobre o secret descoberto.{ "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" } } } ] } } ] }
Limitações
- Enquanto a verificação de segredos estiver em prévia pública, as ocorrências de tipo secreto poderão ser visualizadas apenas na API Container Analysis.
- Os relatórios de verificação de secrets do Artifact Analysis mostram, no máximo, uma ocorrência por secret por imagem. No máximo, 1.000 locais de arquivo por ocorrência são retornados.
- Podem ocorrer falsos positivos com segredos identificados. Sempre verifique cada segredo identificado antes de realizar qualquer ação nas imagens.