Analiza en busca de secretos

Los análisis de vulnerabilidades de Artifact Analysis pueden identificar secretos, como claves de cuentas de servicio y claves de API, almacenados en las imágenes analizadas. Puedes ver información sobre estos secretos en el informe de ocurrencia del análisis de vulnerabilidades y tomar medidas para evitar la exposición de información sensible.

Descripción general

Cuando un análisis de vulnerabilidades detecta un secreto, Artifact Analysis crea una ocurrencia de tipo secreto con detalles sobre el secreto. Artifact Analysis puede detectar los siguientes secretos:

Secrets

  • Claves de administrador de Anthropic
  • Claves de API de Anthropic
  • Tokens de acceso de Azure
  • Tokens de ID de Azure
  • Tokens de acceso personal de Docker Hub
  • Tokens de actualización de la app de GitHub
  • Tokens de servidor a servidor de la app de GitHub
  • Tokens de usuario a servidor de la app de GitHub
  • Tokens de acceso personal clásicos de GitHub
  • Tokens de acceso personal detallados de GitHub
  • Tokens de OAuth de GitHub
  • Google Cloud Pares de OAuth2 (ID y secreto del cliente)
  • Google Cloud Tokens de acceso de OAuth2
  • Google Cloud claves de cuenta de servicio
  • Google Cloud Claves de API
  • Claves de API de Hugging Face
  • Claves de API de OpenAI
  • Claves de API de Perplexity
  • Claves restringidas de Stripe
  • Claves secretas de Stripe
  • Secretos de webhook de Stripe

Para obtener información detallada sobre los diferentes tipos de secretos en los informes de ocurrencia, consulta SecretKind en la documentación de la API de Artifact Analysis.

Artifact Analysis solo puede detectar secretos almacenados como archivos de texto. Se admiten las siguientes extensiones de archivo:

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

Antes de comenzar

  1. 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.
  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. Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.

  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. 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.

    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. Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.

  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. Install the Google Cloud CLI.

  14. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  15. To initialize the gcloud CLI, run the following command:

    gcloud init

Si habilitas esta API, también se habilitará el análisis de paquetes de lenguaje en Artifact Registry. Consulta los tipos de paquetes admitidos.

Roles obligatorios

Para obtener los permisos que necesitas para analizar imágenes en busca de secretos durante los análisis de vulnerabilidades, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Visualiza secretos

Para ver los secretos después de un análisis de vulnerabilidades, haz lo siguiente:

  1. Envía una imagen de Docker a Artifact Registry.

  2. Espera a que se complete el análisis de vulnerabilidades.

  3. Ejecuta el siguiente comando para enumerar las ocurrencias de secretos de la imagen analizada:

    $ 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
    

    Aquí:

    • PROJECT_ID es el ID del proyecto de tu consola de Google Cloud .
    • LOCATION es la ubicación regional o multirregional de tu repositorio.
    • RESOURCE_URL es la URL de la imagen escaneada, en el formato https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID.

    En la siguiente respuesta de ejemplo, se muestra un posible resultado. En este caso, se identificó una clave de APIGoogle Cloud llamada my_api_key.yaml en el directorio documents de una imagen. El atributo secret muestra información sobre el secreto descubierto.

    {
      "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"
                  }
                }
              }
            ]
          }
        }
      ]
    }
    

Limitaciones

  • Mientras el análisis de secretos esté en versión preliminar pública, los casos de tipo secreto solo se podrán ver en la API de Container Analysis.
  • El análisis de secretos de Artifact Analysis informa, como máximo, un caso por secreto y por imagen. Se devuelven hasta 1,000 ubicaciones de archivo por ocurrencia.
  • Es posible que se produzcan falsos positivos con los secretos identificados. Siempre verifica cada secreto identificado antes de tomar cualquier medida en relación con tus imágenes.