Aller au contenu principal

ggshield secret scan docker

Description

Scannez une image Docker après avoir exporté son système de fichiers et son manifeste avec la commande docker save.

ggshield secret scan docker [OPTIONS] NAME

ggshield tente de récupérer l'image si elle n'est pas disponible localement.

Options

  • --docker-timeout SECONDS : délai d'expiration pour les commandes Docker.

    Valeur par défaut : 360.

  • --source-uuid TEXT : identifiant de la source personnalisée dans GitGuardian. Si utilisé, des incidents seront créés et visibles sur le dashboard. Nécessite le scope 'scan:create-incidents'.

  • --all-secrets : n'ignorer aucun secret. La raison d'ignorance possible est également affichée.

  • --instance URL : URL de l'instance à utiliser.

  • --with-incident-details : afficher tous les détails de l'incident du dashboard si l'un est trouvé (formats JSON et SARIF uniquement). Nécessite le scope 'incidents:read'.

  • -b, --banlist-detector DETECTOR : exclure les résultats d'un détecteur.

  • --ignore-known-secrets : ignorer les secrets déjà connus par le dashboard GitGuardian.

  • --exclude PATTERNS : ne pas scanner les chemins qui correspondent aux motifs de type glob spécifiés.

  • --exit-zero : retourner un code de statut 0 (sans erreur), même si des incidents sont trouvés. Un code de statut d'erreur sera toujours retourné pour d'autres erreurs, comme les erreurs de connexion. Cette option peut également être définie avec la variable d'environnement GITGUARDIAN_EXIT_ZERO.

  • --show-secrets : afficher les secrets en clair au lieu de les masquer.

  • -o, --output PATH : rediriger la sortie de ggshield vers PATH.

  • --format [text|json|sarif] : format à utiliser pour la sortie.

  • --json : raccourci pour --format json.

Cette commande prend en charge toutes les options globales de ggshield.

Exemples

ggshield secret scan docker gitguardian/ggshield

À propos de la mise en cache

Lors du premier scan d'une image Docker, ggshield stocke le DiffID des couches qui se sont avérées propres dans un cache sur disque. Si la même image est scannée une seconde fois, ggshield ignore le scan des couches connues comme propres. Cela peut grandement accélérer le scan des grandes images Docker, puisque seules les couches modifiées sont rescannées.

Ce cache dépend de la version du moteur de secrets de GitGuardian. Lorsqu'une nouvelle version du moteur de secrets est déployée, toutes les couches sont rescannées.

Lors de l'utilisation de ggshield secret scan docker dans une CI, il est important de conserver le répertoire de cache entre les exécutions de la CI, sinon le cache n'est jamais réutilisé. L'emplacement par défaut du cache de ggshield dépend du système d'exploitation :

  • Linux : $XDG_CACHE_HOME/ggshield, ou ~/.cache/ggshield si $XDG_CACHE_HOME n'est pas défini
  • macOS : ~/Library/Caches/ggshield
  • Windows : %LOCALAPPDATA%\GitGuardian\ggshield\Cache

Vous pouvez également définir le répertoire de cache à l'aide de la variable d'environnement $GG_CACHE_DIR.

Notez que le cache Docker se trouve dans un sous-répertoire docker du répertoire de cache.