Rechercher des secrets

Les analyses des failles d'Artifact Analysis peuvent identifier les secrets, tels que les clés de compte de service et les clés API, stockés dans les images analysées. Vous pouvez consulter des informations sur ces secrets dans le rapport d'occurrence de l'analyse des failles et prendre des mesures pour éviter d'exposer des informations sensibles.

Présentation

Lorsqu'une analyse des failles détecte un secret, Artifact Analysis crée une occurrence de type secret avec des informations détaillées sur le secret. Artifact Analysis peut détecter les secrets suivants :

Secrets

  • Clés d'administrateur Anthropic
  • Clés API Anthropic
  • Jetons d'accès Azure
  • Jetons d'identité Azure
  • Jetons d'accès personnels Docker Hub
  • Jetons d'actualisation de l'application GitHub
  • Jetons serveur à serveur de l'application GitHub
  • Jetons utilisateur-serveur de l'application GitHub
  • Jetons d'accès personnels GitHub (classique)
  • Jetons d'accès personnels GitHub précis
  • Jetons OAuth GitHub
  • Google Cloud Paires OAuth2 (ID client et code secret)
  • Google Cloud Jetons d'accès OAuth2
  • Google Cloud  clés de compte de service
  • Google Cloud Clés API
  • Clés API Huggingface
  • Clés API OpenAI
  • Clés API Perplexity
  • Clés Stripe restreintes
  • Clés secrètes Stripe
  • Secrets du webhook Stripe

Pour en savoir plus sur les différents types de secrets dans les rapports d'occurrence, consultez SecretKind dans la documentation de l'API Artifact Analysis.

Artifact Analysis ne peut détecter que les secrets stockés sous forme de fichiers texte. Les extensions de fichier suivantes sont acceptées :

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

Avant de commencer

  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 vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

  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 vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

  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

L'activation de cette API active également l'analyse des packages de langage dans Artifact Registry. Consultez les types de packages compatibles.

Rôles requis

Pour obtenir les autorisations nécessaires pour analyser les images à la recherche de secrets lors des analyses de failles, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher les secrets

Pour afficher les secrets après une analyse des failles :

  1. Transférez une image Docker dans Artifact Registry.

  2. Attendez que l'analyse des failles soit terminée.

  3. Exécutez la commande suivante pour lister les occurrences de secrets pour l'image analysée :

    $ 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
    

    Où :

    • PROJECT_ID est l'ID du projet de votre console Google Cloud .
    • LOCATION est l'emplacement régional ou multirégional de votre dépôt.
    • RESOURCE_URL correspond à l'URL de l'image analysée, au format https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID.

    L'exemple de réponse suivant montre un résultat possible. Dans ce cas, une clé APIGoogle Cloud nommée my_api_key.yaml a été identifiée dans le répertoire documents d'une image. L'attribut secret affiche des informations sur le secret découvert.

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

Limites

  • Pendant la version Preview publique de l'analyse des secrets, les occurrences de type secret ne sont visibles que dans l'API Container Analysis.
  • L'analyse des secrets Artifact Analysis génère un rapport sur au maximum une occurrence par secret et par image. Au maximum 1 000 emplacements de fichiers par occurrence sont renvoyés.
  • Des faux positifs peuvent se produire avec les secrets identifiés. Vérifiez toujours chaque secret identifié avant d'effectuer une action sur vos images.