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 afficher 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 contenant 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'ID Azure
  • Jetons d'accès personnels Docker Hub
  • Jetons d'actualisation d'application GitHub
  • Jetons d'application GitHub de serveur à serveur
  • Jetons d'application GitHub d'utilisateur à serveur
  • Jetons d'accès personnels classiques GitHub
  • Jetons d'accès personnels précis GitHub
  • Jetons OAuth GitHub
  • Google Cloud Paires OAuth2 (ID client et 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 restreintes Stripe
  • Clés secrètes Stripe
  • Secrets de webhook Stripe

Pour obtenir des informations détaillées 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. Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  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. Installez la Google Cloud CLI.

  7. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  8. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    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. Installez la Google Cloud CLI.

  14. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  15. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    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 des 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, procédez comme suit :

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

  2. Attendez la fin de l'analyse des failles.

  3. Exécutez la commande suivante pour lister les occurrences de secrets de 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 correspond à l'ID de votre Google Cloud projet dans la console.
    • LOCATION correspond à l'emplacement régional ou multirégional location 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 illustre un résultat possible. Dans ce cas, une Google Cloud clé API nommée my_api_key.yaml a été identifiée dans le documents répertoire 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 l'aperçu public de l'analyse des secrets, les occurrences de type secret ne sont visibles que dans l'API Container Analysis.
  • L'analyse des secrets d'Artifact Analysis ne signale qu'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.