Aller au contenu principal

Remédier à une fuite sur GitHub public

Si vous arrivez sur cette page, vous avez probablement reçu une alerte de notre service d'alerting pro bono. Pas d'inquiétude : les fuites arrivent… même aux meilleurs.

Ce guide décrit pas à pas comment remédier à une fuite sur GitHub public.

Pour une remédiation complète (incidents publics et internes), voir notre vue d'ensemble de la remédiation Public Monitoring.

Ce qu'il ne faut pas faire

  • Committer par-dessus la dernière version du code ne suffit pas. Git conserve l'historique : le secret reste visible dans les commits précédents.
  • Supprimer seulement le dépôt concerné ne suffit pas. Les identifiants peuvent rester exposés dans les forks et dans des miroirs de GitHub.

Guide pas à pas

  • Étape 1 : évaluer l'impact et révoquer le secret exposé.
  • Étape 2 : nettoyer l'historique git (optionnel, voir les mises en garde).
  • Étape 3 : consulter les journaux et vérifier la sécurité.

Étape 1 : évaluer l'impact et révoquer le secret (~ 5–10 min)

Évaluez rapidement la situation :

  • confirmez que le secret appartient bien à votre organisation ;
  • identifiez les ressources accessibles avec ce secret ;
  • estimez le niveau de privilège et l'impact potentiel.

Révoquez le secret — c'est la seule façon d'empêcher un attaquant d'utiliser le service concerné.

Comment révoquer :

  • depuis l'alerte GitGuardian, ouvrez la documentation du détecteur : la section Revoke the secret indique la marche à suivre ;
  • si le type de secret n'est pas couvert par nos détecteurs, suivez la documentation du fournisseur (souvent là où vous avez créé l'identifiant) ;
  • en cas d'identifiants d'entreprise ou si vous ne pouvez pas révoquer seul, contactez immédiatement votre équipe sécurité. Se tromper arrive ; cacher l'incident est souvent plus grave.

Que la révocation ait réussi ou non, passez à l'étape 2 pour limiter la visibilité résiduelle.

Étape 2 : nettoyage du dépôt (~ 10 min) — OPTIONNEL

Important : après révocation du secret, vous pouvez en général vous arrêter là. Le secret est inutilisable pour un attaquant ; l'incident est résolu du point de vue credential.

Réduire rapidement la visibilité (si la révocation a échoué) : Si vous n'avez pas pu révoquer, rendre le dépôt privé retire vite les identifiants de la vue de la plupart des attaquants (les miroirs peuvent toutefois conserver des copies).

Rendre un dépôt privé : Dans les settings du projet GitHub, utilisez le bouton change visibility en bas de page.

Make a repository private

Réécriture de l'historique git (extrême prudence) :

attention

Réécrire l'historique n'est en général pas recommandé : cela perturbe les équipes et laisse souvent des références vers les commits concernés. L'opération est risquée (données légitimes, workflows). Pour l'image de marque vous pouvez vouloir effacer la trace, mais ce n'est pas suffisant : le secret peut rester visible dans des forks ou des miroirs.

Si vous réécrivez tout de même l'historique :

Étape 3 : surveiller et vérifier (~ 5–10 min)

Les journaux indiquent si les identifiants compromis ont été utilisés et comment.

Vérifier un accès non autorisé :

  • si le fournisseur est couvert par notre moteur, voir la section Check for suspicious activity du détecteur ;
  • sinon, consultez l'activité récente des identifiants dans la console du fournisseur ; pour bases de données ou clés privées, examinez les logs serveur.

Indices à chercher :

  • schémas d'accès ou horaires inhabituels ;
  • IP ou géolocalisations inconnues ;
  • appels API ou accès données inattendus ;
  • toute activité après la fenêtre d'exposition supposée.

Si vous constatez un accès non autorisé :

  • documentez les activités suspectes ;
  • traitez l'incident comme une violation confirmée ;
  • suivez la procédure de réponse aux incidents de votre organisation ;
  • faites appel à des professionnels si nécessaire.

Enfin

Vous devriez être couvert. Les erreurs arrivent ; GitGuardian est là pour vous aider. Vous pouvez créer un compte gratuitement et bénéficier de l'alerting en temps réel, ou analyser votre historique pour débusquer d'autres secrets.

En CLI, voir GitGuardian CLI — exécutable en local ou en CI pour détecter plus de 300 types de secrets.