Aller au contenu principal

Qu'est-ce que ggscout ?

GitGuardian Scout (ggscout) est une application en ligne de commande qui collecte les secrets et leurs métadonnées depuis vos gestionnaires de secrets et synchronise ces données avec votre plateforme GitGuardian.

Pourquoi collecter les secrets ?

Lorsqu'un secret fuite dans votre dépôt de code ou est exposé dans votre infrastructure, une question cruciale se pose : ce secret est-il actuellement utilisé, et où ? Sans un inventaire de vos secrets de production, répondre à cette question prend du temps et est source d'erreurs.

ggscout résout ce problème en :

  1. Créant un inventaire des secrets stockés dans vos gestionnaires de secrets (HashiCorp Vault, AWS Secrets Manager, etc.)
  2. Classant chaque valeur avec le Secrets Detection Engine avant le hachage
  3. Hachant ces secrets localement à l'aide de l'algorithme HMSL : les secrets ne quittent jamais votre infrastructure en clair
  4. Réconciliant cet inventaire avec les secrets détectés par GitGuardian dans votre base de code ou d'autres sources

Cette réconciliation permet trois capacités clés :

1. Étendre la couverture de détection

En maintenant un inventaire des secrets stockés dans le coffre-fort, vous pouvez détecter lorsque ces secrets sont compromis ailleurs dans votre périmètre. Lorsque GitGuardian détecte un secret ayant fuité, il peut immédiatement vous indiquer s'il correspond à un secret actuellement stocké dans votre coffre-fort.

Exemple : un développeur commit accidentellement une clé API dans un dépôt public. Avec ggscout, vous savez instantanément que cette clé provient de votre HashiCorp Vault de production et quelle application l'utilise.

2. Améliorer la priorisation des incidents

Les secrets stockés dans le coffre-fort sont accompagnés de métadonnées précieuses : chemins du coffre-fort, durées de bail, politiques de rotation, applications associées et environnements. Ce contexte vous aide à prioriser les incidents à remédier en premier.

Exemple : deux secrets fuitent. L'un a un bail de 90 jours et n'est utilisé que dans un environnement de développement. L'autre a un bail de 365 jours et est utilisé par un service de paiement en production. Les métadonnées de ggscout vous aident à prioriser en premier le secret de production.

3. Amorcer la remédiation des incidents

En identifiant les secrets qui ne sont pas dans votre coffre-fort (secrets non stockés dans le coffre-fort), ggscout peut vous aider à les sécuriser. Il peut automatiquement pousser les secrets non stockés dans votre gestionnaire de secrets, en fournissant à vos développeurs le chemin du coffre-fort pour mettre à jour leur code.

Exemple : GitGuardian détecte un mot de passe de base de données codé en dur dans un ancien dépôt. À l'aide de ggscout, vous pouvez pousser ce secret vers votre coffre-fort et fournir aux développeurs le chemin exact pour le référencer, rationalisant ainsi le processus de remédiation.

Aucun secret ne sort de votre environnement !

Les valeurs des secrets ne quitteront jamais votre environnement en clair !

Les valeurs des secrets sont hachées à l'aide de l'algorithme de hachage HMSL avant d'être envoyées à votre workspace GitGuardian. D'autres métadonnées non sensibles telles que les noms des secrets, les chemins dans le coffre-fort, la date de création, la durée de bail, etc. sont également collectées pour vous aider dans le processus de remédiation.

Collecter en toute sécurité les secrets pour faciliter la remédiation des incidents

Une fois ggscout déployé et configuré dans votre environnement, il fonctionne comme suit :

  1. Il collecte les secrets et les métadonnées associées depuis les gestionnaires de secrets que vous avez configurés.
  2. Il classe chaque valeur avec le Secrets Detection Engine.
  3. Il hache les secrets à l'aide de l'algorithme de hachage HMSL.
  4. Il envoie les données collectées à GitGuardian et les réconcilie avec les incidents de secrets existants.

Scout Flow

C'est tout, vous pouvez commencer à tirer parti de ces capacités depuis votre plateforme GitGuardian !

Classer les secrets avec le Secrets Detection Engine

Avant le hachage, ggscout fait passer chaque valeur collectée par le même Secrets Detection Engine utilisé pour le scan du code : plus de 600 détecteurs spécifiques et génériques.

La classification est basée sur la valeur, et pas seulement sur le nom de la clé. Un secret stocké sous un nom générique tel que CONFIG_3 est reconnu si la valeur correspond à un détecteur. Une clé nommée MY_TOKEN dont la valeur est disabled n'est pas traitée comme un identifiant.

Lorsqu'un détecteur correspond, ggscout attache ce détecteur au secret. GitGuardian en déduit alors le type de détecteur (générique ou spécifique), la famille de secret, la catégorie et le fournisseur, et les fait apparaître dans l'inventaire NHI. Les valeurs qui ne correspondent à aucun détecteur sont tout de même inventoriées et étiquetées Unknown. Rien n'est écarté.

ggscout gère également les valeurs qui contiennent plus d'un secret :

  • Un fichier en texte clair tel qu'un .env est découpé en une entrée d'inventaire par secret détecté, chacune avec son propre hachage, afin de pouvoir être corrélée avec les fuites de ces tokens.
  • Les champs frères qui forment un même identifiant (par exemple un nom d'utilisateur et un mot de passe dans le même objet de coffre-fort) sont classés ensemble.
Nécessite ggscout 0.32.0 ou une version ultérieure

Vous devez exécuter ggscout 0.32.0 ou une version ultérieure pour que la classification apparaisse dans NHI Governance. Épinglez les images Docker et les charts Helm à cette version ou à latest une fois qu'elle est publiée. La classification est toujours activée : il n'y a rien à activer dans ggscout.toml.

Stocker en toute sécurité les secrets non stockés dans le coffre-fort

Avec ggscout, vous pourrez identifier les secrets non stockés dans le coffre-fort depuis votre liste d'incidents.
De plus, vous pourrez également pousser ces secrets vers vos gestionnaires de secrets et amorcer la remédiation de ces incidents !
Voici le scénario standard :

  • Une fois qu'un incident de secret est priorisé, vous pouvez insérer le secret dans votre gestionnaire de secrets
  • Vos développeurs corrigent leur code en invoquant correctement le secret depuis le bon chemin fourni dans le détail de l'incident de secret
  • Une fois la correction du code effectuée, révoquez le bon secret du coffre-fort à l'aide du lien hypertexte fourni dans le détail de l'incident de secret

ggscout prend en charge l'ensemble de ce processus à l'aide du flux simple suivant :

  1. ggscout récupère l'incident de secret qui n'a pas encore été stocké dans le coffre-fort.
  2. ggscout écrit le secret à l'emplacement spécifié.

Push-to-Vault

Cette capacité est facultative

Vous pouvez choisir de ne pas accorder l'accès en écriture.
Vous pouvez également restreindre les emplacements où le scout peut écrire des secrets (par exemple, un chemin temporaire spécifique à ggscout).

Conserver un contrôle total sur l'exécution de ggscout

La transparence compte !

Aucune information sensible ne quitte jamais votre infrastructure.

Disposer d'un programme externe comme ggscout vous permet de :

  • Faire contrôler son exécution et ses accès par votre équipe (par exemple, avoir des accès partiels, avoir une instance pour l'accès en lecture et une autre pour l'accès en écriture)
  • Faire surveiller par votre équipe les données traitées

ggscout est auditable.

  • Vous pouvez exécuter le mode fetch-only et écrire un rapport JSON sur votre disque afin de pouvoir auditer les données collectées par ggscout, et vous assurer qu'aucune valeur de secret en clair n'est collectée. Les données disponibles dans le rapport sont exactement les données envoyées à GitGuardian en mode par défaut.
  • Vous pouvez demander l'accès au code source

Démarrer

Prêt à essayer ggscout ? Rendez-vous sur la page Déployer et configurer ggscout, qui inclut un guide de démarrage rapide pour les tests locaux avec le binaire CLI ou le package Python, ainsi que des options de déploiement en production à l'aide de Docker ou Kubernetes.

Pas d'accès à la plateforme GitGuardian ?

Si vous déployez ggscout dans un cluster Kubernetes mais que vous n'avez pas accès à la plateforme GitGuardian, ce qui vous empêche d'envoyer les secrets hachés, ggbridge est la solution. Il établit une passerelle sécurisée, authentifiée par mTLS, entre votre réseau et la plateforme GitGuardian, permettant à ggscout de communiquer avec l'API publique de GitGuardian et de transmettre les données d'inventaire.

Pour des instructions de configuration détaillées et des informations supplémentaires, veuillez consulter la documentation ggbridge.