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 imágenes analizadas. Puedes ver información sobre estos secretos en el informe de casos del análisis de vulnerabilidades y tomar medidas para evitar exponer información sensible.

Descripción general

Cuando un análisis de vulnerabilidades detecta un secreto, Artifact Analysis crea un caso 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 de cliente y secreto)
  • Google Cloud Tokens de acceso de OAuth2
  • Google Cloud claves de cuenta de servicio
  • Google Cloud Claves de API
  • Claves de API de Huggingface
  • 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 casos, 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. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  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. Instala Google Cloud CLI.

  7. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  8. Para inicializar gcloud CLI, ejecuta el siguiente 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. Instala Google Cloud CLI.

  14. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  15. Para inicializar gcloud CLI, ejecuta el siguiente comando:

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

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 los casos 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í:

    En la siguiente respuesta de ejemplo, se muestra un resultado posible. En este caso, se identificó una Google Cloud clave de API llamada my_api_key.yamlen el documents directorio 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 por imagen. Se muestran como máximo 1,000 ubicaciones de archivos por caso.
  • Pueden ocurrir falsos positivos con los secretos identificados. Siempre verifica cada secreto identificado antes de realizar cualquier acción en tus imágenes.