Le site de Korben: Comment un hacker a scanné tous les commits "oops" de GitHub et trouvé 25k$ de secrets

https://korben.info/hacker-scanne-tous-commits-oops-github.html

Aller au contenu principal

Icône changement de police Icône changement de thème Icône recherche Le site de Korben Hébergement Puissant 🌐🚀 Nouvelles offres o2switch - À partir de 1,76€/mois ! (Lien partenaire) Image illustrant l'article : Comment un hacker a scanné tous les commits “oops” de GitHub et trouvé 25k$ de secrets Comment un hacker a scanné tous les commits “oops” de GitHub et trouvé 25k$ de secrets Le 2 juillet 2025 par Korben ✨ - Securite-Vie-PriveeCybersecurite Vous le savez, j’adore les histoires de hackers qui trouvent des failles là où personne ne pense à regarder. Et celle que je vais vous raconter aujourd’hui est particulièrement savoureuse…

C’est l’histoire de Sharon Brizinov, un chercheur en sécurité qui a réussi à scanner TOUS les commits “oops” de GitHub depuis 2020 et à trouver pour 25 000 dollars de secrets. Ouais, 25 000 balles en scannant des trucs que les développeurs pensaient avoir supprimés…

Mais d’abord, une petite leçon de Git pour ceux du fond qui dorment. Quand vous faites une connerie sur Git (genre vous committez votre mot de passe AWS comme un noob), votre premier réflexe c’est probablement de faires un git reset –hard HEAD~1 suivi d’un git push –force, et hop, le commit disparaît. Sauf que… non. En fait, GitHub garde TOUT. Pour toujours.

Sharon l’explique très bien dans son article. GitHub n’est pas juste un serveur Git basique, c’est une usine à gaz avec des pull requests, des forks, des fonctionnalités privées/publiques, et j’en passe…. Et pour que tout ça fonctionne, GitHub stocke tous les commits et ne les supprime jamais vraiment. Même après un force push. Sharon a donc trouvé comment identifier ces commits “supprimés” à grande échelle. Il a utilisé GitHub Archive, un projet open source qui enregistre TOUTE l’activité publique de GitHub depuis des années. Et dans ces archives, il a cherché un pattern très spécifique : les “Push Events” avec zéro commit.

Pourquoi zéro commit ? Parce que quand vous faites un force push pour supprimer un commit, GitHub enregistre ça comme un événement de push qui ne contient aucun nouveau commit. C’est juste un déplacement de HEAD. Sharon appelle ça des “Oops commits” et j’adore le nom.

Pour vous donner une idée de l’ampleur du truc, Sharon a scanné tous les force push depuis 2020. Je vous parle de millions d’événements et dedans, il a trouvé des milliers de secrets actifs. Des clés AWS, des tokens GitHub, des accès MongoDB… La totale.

Le plus beau dans tout ça c’est qu’il a développé une automatisation complète. Son script télécharge les archives GitHub, cherche les événements de force push, récupère les commits “supprimés”, et les scanne avec TruffleHog pour trouver des secrets et pour trier tous ces secrets (parce que des milliers de résultats, c’est ingérable), Sharon a “vibe-codé” une plateforme de triage complète avec Vercel v0. Une interface web qui lui permet de parcourir rapidement tous les secrets trouvés et de marquer ceux qu’il a déjà vérifiés.

Il a même sorti des stats… Par exemple, les secrets MongoDB sont les plus courants, mais c’est surtout des projets étudiants sans intérêt. Les vrais trésors, c’est les tokens GitHub PAT et les credentials AWS. Et devinez quel fichier leak le plus de secrets ? Le fameux .env. Suivi de près par index.js, application.properties, et docker-compose.yml.

Sharon a même fait des graphiques qui montrent une corrélation directe entre l’année du commit et le nombre de secrets actifs. Plus c’est récent, plus les secrets sont valides. Logique, les vieux secrets ont eu le temps d’être révoqués.

Le cas le plus foufou qu’il a eu, c’est quand il a trouvé un GitHub Personal Access Token avec des droits admin sur TOUS les repos d’Istio. Pour ceux qui ne connaissent pas, Istio c’est un service mesh open source utilisé par Google, IBM, Red Hat et plein d’autres géants. Le potentiel d’attaque supply chain était alors énorme.

Heureusement, Sharon est un white hat et il a immédiatement reporté le problème et l’équipe Istio a révoqué le token rapidement. Mais imaginez si c’était tombé entre de mauvaises mains… Et même si Sharon n’a rien inventé de révolutionnaire techniquement, il a quand même assemblé des pièces existantes (GitHub Archive, l’API GitHub, TruffleHog) d’une manière que personne n’avait pensé à faire avant. C’est ça le vrai hacking : voir les connexions que les autres ne voient pas.

D’ailleurs, Sharon et l’équipe de Truffle Security ont open sourcé un outil pour que vous puissiez scanner votre propre organisation GitHub. L’outil s’appelle Force Push Scanner et il fait exactement ce que Sharon a fait, mais juste pour votre org.

La commande est simple : python force_push_scanner.py –db-file /path/to/force_push_commits.sqlite3 –scan <github_org/user>

L’outil utilise BigQuery pour interroger GitHub Archive (qui est disponible comme dataset public), récupère tous les force push de votre organisation, et scanne les commits supprimés avec TruffleHog.

Maintenant, vous saurez que si GitHub dit que le commit n’appartient à aucune branche, il reste tout de même accessible si vous avez le hash. Et grâce à GitHub Archive, Sharon avait TOUS les hashs.

Sharon a gagné 25 000 dollars avec sa technique grâce au Bug Bounty mais surtout, il a probablement évité des dizaines d’attaques en reportant ces vulnérabilités alors un grand bravo à lui !

Source

Que faire après le bac quand on est passionné de cybersécurité ? Contenu partenaire Logo de l'école de Cybersécurité Guardia Tracking Matomo Guardia Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).

Cliquez ici pour en savoir plus

Photo de Korben Soutenez Korben sur Patreon Aidez-moi à continuer à produire du contenu de qualité !

Devenir Patreon → Soutenez-nous sur Twitch Articles Récents Image illustrant l'article : Anthropic Cookbook - Claude devient encore plus accessible aux devsAnthropic Cookbook - Claude devient … Image illustrant l'article : MSIX - Le remplaçant du .exe qui renforce WindowsMSIX - Le remplaçant du .exe qui … Image illustrant l'article : icns Creator - Sauvez vos icônes macOS sans vous ruinericns Creator - Sauvez vos icônes macOS … Image illustrant l'article : Adrian Lamo - Le hacker sans-abri qui a changé le mondeAdrian Lamo - Le hacker sans-abri qui a … Image illustrant l'article : NormCap - Un OCR gratuit pour capturer directement le texteNormCap - Un OCR gratuit pour capturer … Image illustrant l'article : Bye bye les pubs et merci Patreon !Bye bye les pubs et merci Patreon ! Suivez le chef! Patreon Twitter Facebook Instagram TikTok Youtube Newsletter Flux RSS Twitch Bannière présentant divers métiers de la cybersécurité Illustration représentant un ingénieur en cybersécurité au travailIngénieur cybersécurité Représentation visuelle du travail d'un cryptologue avec des symboles de chiffrementCryptologue Image symbolisant le travail d'un pentester testant la sécurité d'un systèmePentester Représentation d'un hacker éthique travaillant sur la sécurité informatiqueHacker éthique Illustration d'un consultant en cybersécurité en train de conseiller un clientConsultant cybersécurité Rejoignez la communauté Rejoignez la communauté Sur Patreon Patreon Twitter Facebook Instagram TikTok Youtube Newsletter Flux RSS Twitch Illustration décorative bébé Korben Le site de Korben, média indépendant soutenu par ses Patreons

Icône menu hamburger Icône changement de police Icône changement de thème Icône recherche 2004 - 2025 Le site de Korben - Le site de Korben, marque déposée. Tous droits réservés. Auteurs, mentions légales et contact.