Remédier aux découvertes
Un scan de machine fait ressortir des découvertes de différents types, et chaque type appelle une action différente :
- Secrets surprivilégiés : comme les secrets dotés de permissions administrateur. Supprimez-les de la machine et stockez-les dans un coffre-fort ou un gestionnaire de mots de passe.
- Secrets fuités : des secrets qui se sont retrouvés dans l'historique du shell ou les fichiers de log. Expurgez-les et prévenez les fuites futures.
- Secrets que vous utilisez activement : des secrets dont votre travail quotidien dépend, généralement stockés dans des fichiers env. Déplacez-les vers un coffre-fort pour continuer à les utiliser en toute sécurité.
Supprimer les secrets surprivilégiés
Les secrets de niveau administrateur ne devraient pas se trouver sur un poste de travail, mais toutes les découvertes ne méritent pas un incident. Examinez les découvertes dans le dashboard GitGuardian et créez des incidents pour celles qui nécessitent une action :
-
Dans le dashboard GitGuardian, accédez à la page Endpoint protection > Secrets.
-
Facultativement, sélectionnez le filtre Highly privileged & Valid pour restreindre la liste aux secrets dotés de permissions administrateur.
-
Examinez les découvertes. Une découverte justifie un incident lorsque le secret est valide et porte plus de permissions que ce que le travail sur l'endpoint nécessite : des scopes administrateur, un accès à l'échelle de l'organisation, ou un accès en écriture aux systèmes de production.
-
Pour chaque découverte nécessitant une action, cliquez sur Create incident et assignez l'incident au membre concerné. Les actions groupées vous permettent de créer plusieurs incidents à la fois.
-
Suivez le workflow de remédiation d'incident pour révoquer le secret et le supprimer de la machine.
Prévenir les secrets surprivilégiés
- Utilisez des tokens à granularité fine ou à permissions réduites. La plupart des services offrent une granularité des permissions : créez des tokens dotés uniquement des permissions dont vous avez besoin.
- Conservez les tokens administrateur dans un coffre-fort. La plupart des tâches quotidiennes ne nécessitent pas de permissions administrateur. Stockez les tokens administrateur dans un coffre-fort et ne les utilisez que lorsque c'est vraiment nécessaire.
Expurger les secrets de l'historique du shell et des fichiers de log
Les secrets qui ont fuité dans l'historique du shell ou les fichiers de log n'y servent à rien. L'action d'expurgation réécrit le fichier sur place : seul le secret lui-même est remplacé par [REDACTED], le reste de la ligne et le fichier restent intacts. Votre historique et vos logs restent lisibles, moins les identifiants.
Pour utiliser un autre texte de remplacement, définissez l'option remediation.scrub_redact_string dans la page Configuration du dashboard local.
L'expurgation ne peut pas être annulée.
-
Ouvrez le dashboard local :
ggshield machine dashboard -
Accédez à la page Findings.
-
Sélectionnez le filtre Auto-fixable pour afficher les découvertes où au moins une occurrence peut être expurgée automatiquement.
-
Sélectionnez tous les résultats avec la case à cocher principale. Utilisez Select all x matching si les résultats s'étendent sur plusieurs pages.
-
Cliquez sur Redact selected.
Expurger depuis la ligne de commande
ggshield machine redact applique la même sélection que le filtre Auto-fixable, sans ouvrir le dashboard. Prévisualisez d'abord le plan, puis confirmez :
ggshield machine redact --dry-run
ggshield machine redact
Affinez la sélection avec --path, --exclude-path, --detector ou --finding, et passez --yes pour ignorer la confirmation dans les scripts. Consultez Options de redact.
Prévenir les fuites futures
Empêchez les agents IA de lire les secrets. Les agents de codage IA peuvent lire des secrets depuis n'importe quel fichier auquel ils ont accès, et tout ce qu'ils lisent se retrouve en texte clair dans leurs logs, transcriptions de session et historique du shell. Installez les hooks IA de ggshield pour les empêcher d'accéder aux fichiers qui contiennent des secrets.
Gardez les secrets hors de l'historique du shell. Utilisez une variable plutôt qu'un secret en texte clair dans vos commandes :
psql "postgresql://admin:${DB_PASSWORD}@db.example.com:5432/mydb"
Déplacer les secrets que vous utilisez vers un coffre-fort
Certains secrets sont nécessaires au travail quotidien. Ils résident généralement dans .env, .bashrc et des fichiers similaires. Leur utilisation est légitime, mais ils ont leur place dans un coffre-fort ou un gestionnaire de secrets.
GitGuardian n'offre pas encore de solution officielle pour les relocaliser. En attendant, déplacez-les vers votre coffre-fort manuellement.