Aller au contenu principal

Remédier aux findings

Un scan machine met en évidence des findings de différents types, et chaque type appelle une action différente :

  • Secrets surprivilégiés : tels que les secrets avec des permissions admin. Retirez-les de la machine et stockez-les dans un coffre-fort ou un gestionnaire de mots de passe.
  • Secrets divulgués : secrets qui se sont retrouvés dans l'historique du shell ou dans des fichiers de logs. Expurgez-les et empêchez de futures fuites.
  • Secrets que vous utilisez activement : secrets dont dépend votre travail quotidien, généralement stockés dans des fichiers env. Déplacez-les dans un coffre-fort pour continuer à les utiliser en toute sécurité.

Supprimer les secrets surprivilégiés

Les secrets de niveau admin ne devraient pas se trouver sur un poste de travail, mais tous les findings ne méritent pas un incident. Passez en revue les findings dans le dashboard GitGuardian et créez des incidents pour ceux qui appellent une action :

  1. Dans le dashboard GitGuardian, allez sur la page Endpoint protection > Secrets.

    Secrets page under Endpoint protection in the sidebar

  2. Facultativement, sélectionnez le filtre Highly privileged & Valid pour restreindre la liste aux secrets avec des permissions admin.

    Highly privileged & Valid filter tab

  3. Passez en revue les findings. Un finding justifie un incident lorsque le secret est valide et détient plus de permissions que ce que le travail sur l'endpoint requiert : scopes admin, accès à l'échelle de l'organisation ou accès en écriture aux systèmes de production.

  4. Pour chaque finding qui nécessite 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.

    Create incident button

  5. 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 fine-grained ou avec des permissions réduites. La plupart des services proposent une granularité des permissions : créez des tokens avec uniquement les permissions dont vous avez besoin.
  • Conservez les tokens admin dans un coffre-fort. La plupart des tâches quotidiennes ne nécessitent pas de permissions admin. Stockez les tokens admin dans un coffre-fort et utilisez-les uniquement quand c'est réellement nécessaire.

Expurger les secrets de l'historique du shell et des fichiers de logs

Les secrets qui ont fui dans l'historique du shell ou dans les fichiers de logs n'y ont aucune utilité. 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 du fichier reste intact. Votre historique et vos logs restent lisibles, sans les identifiants.

Pour utiliser un autre placeholder, définissez l'option remediation.scrub_redact_string dans la page Configuration du dashboard local.

attention

L'expurgation ne peut pas être annulée.

  1. Ouvrez le dashboard local :

    ggshield machine dashboard
  2. Allez sur la page Findings.

    Findings page in the local dashboard

  3. Sélectionnez le filtre Auto-fixable pour afficher les findings où au moins une occurrence peut être expurgée automatiquement.

    Auto-fixable filter with its tooltip

  4. Sélectionnez tous les résultats avec la case principale. Utilisez Select all x matching si les résultats s'étendent sur plusieurs pages.

    Selection bar with the Select all matching option

  5. Cliquez sur Redact selected.

Empêcher de futures fuites

Empêchez les agents IA de lire les secrets. Les agents de codage IA peuvent lire les secrets de n'importe quel fichier auquel ils ont accès, et tout ce qu'ils lisent finit en 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 contenant des secrets.

Gardez les secrets hors de l'historique du shell. Utilisez une variable au lieu d'un secret en 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 se trouvent généralement dans les fichiers .env, .bashrc et similaires. Leur utilisation est légitime, mais ils ont leur place dans un coffre-fort ou un gestionnaire de secrets.

GitGuardian ne propose pas encore de solution officielle pour les relocaliser. En attendant, déplacez-les manuellement vers votre coffre-fort.