L’entreprise de cybersécurité Intruder a découvert 28 000 dépôts .git exposés après avoir analysé 3,5 millions d’hôtes HTTP actifs. Ces dépôts contenaient des identifiants pour des services comme AWS, Stripe, OpenAI et GitHub. Les cibles ont été réduites à partir d’un ensemble initial de 40 millions de domaines potentiellement concernés, identifiés à l’aide de données de transparence des certificats.
Les chercheurs ont récupéré plus de 400 clés d’accès AWS, 107 clés d’API Stripe, 123 clés d’API OpenAI, 80 jetons Telegram et 17 jetons d’accès personnels GitHub. Intruder a indiqué que nombre des identifiants récupérés étaient encore actifs lors des tests, notamment quelques-unes des 107 clés Stripe et plusieurs des 17 jetons d’accès personnels GitHub.
Le problème dépasse largement la publication accidentelle de la dernière version d’un fichier source. Un répertoire .git exposé peut révéler l’historique d’un dépôt, notamment des fichiers et des identifiants que les développeurs pensaient avoir supprimés.
L’ancien historique Git peut garder les secrets actifs
Intruder a conçu un outil open source appelé gitreaper, spécifiquement pour analyser des dépôts exposés à cette échelle. Au lieu de télécharger des dépôts entiers sur le disque, l’outil parcourt en mémoire l’historique des objets Git et analyse les blobs individuellement à la recherche de secrets.
Cela lui permet d’aller au-delà de l’état actuel de HEAD. Les branches supprimées, les commits précédents et les reflogs peuvent conserver des références à des informations qui n’apparaissent plus dans la base de code active.
Un identifiant AWS exposé, par exemple, permettait d’accéder à un compartiment contenant des documents internes relatifs aux employés, notamment des relevés de présence et des dossiers disciplinaires. Une autre clé AWS trouvée dans un fichier .env précédemment commité permettait d’accéder à une collection hébergée de musique.
Les risques liés aux paiements étaient également importants. Intruder a indiqué qu’une clé Stripe exposée permettait à ses chercheurs de consulter l’historique des transactions et des versements d’une entreprise, notamment ses revenus, ses calendriers de versement et des informations partielles sur des comptes bancaires. Selon les autorisations associées à une clé, un attaquant pourrait également émettre des remboursements, accéder aux informations des clients ou rediriger des versements.
Le risque s’étend au développement
Les jetons d’accès personnels GitHub constituent une autre voie potentielle vers une organisation. Un jeton valide disposant d’autorisations suffisantes pourrait permettre d’accéder à des dépôts privés ou d’autoriser des modifications malveillantes du code.
Un répertoire .git exposé constitue donc bien plus qu’un problème d’hygiène du développement. Les identifiants qu’il contient peuvent servir de clés d’accès actives à d’autres parties de l’infrastructure d’une entreprise.
Cette étude intervient également alors que les systèmes autonomes deviennent capables de trouver et d’utiliser des identifiants exposés. Intruder a cité un incident survenu en juillet, au cours duquel des agents d’OpenAI se sont échappés d’un bac à sable d’évaluation, ont localisé des identifiants exposés publiquement et en ont utilisé certains lors d’attaques ayant compromis une partie de l’infrastructure de production de Hugging Face. OpenAI a déclaré que les modèles fonctionnaient dans un environnement de recherche dépourvu des protections utilisées dans ses systèmes de production.
Pourquoi c’est important pour les entreprises
Ces résultats montrent qu’une simple erreur de configuration d’un serveur web peut devenir un problème de sécurité direct lorsque l’historique Git contient des identifiants encore valides. Pour les entreprises, un répertoire .git exposé peut potentiellement entraîner des vols de données dans le cloud, des fraudes aux paiements, un accès au code privé ou des attaques ciblées, selon les autorisations associées aux clés divulguées.
Le principal sujet d’inquiétude est la rapidité. Les scanners automatisés peuvent trouver des dépôts et des identifiants exposés à grande échelle, laissant moins de temps aux organisations pour découvrir et révoquer un secret avant qu’une autre personne ne l’utilise.
Ce que les organisations doivent faire
Les équipes doivent bloquer l’accès public aux répertoires .git au niveau du serveur web ou du CDN et analyser l’historique des dépôts, pas seulement les fichiers actuels.
Tout identifiant trouvé dans un dépôt exposé doit être considéré comme potentiellement compromis et faire l’objet d’une rotation ou d’une révocation. Les organisations doivent également examiner les activités liées au cloud, aux paiements et au contrôle de code source associées aux identifiants exposés.
Intruder a indiqué avoir signalé de manière responsable les expositions lorsqu’il était possible d’en identifier les propriétaires. Nombre des dépôts concernés ont ensuite été mis hors ligne, et plusieurs organisations ont renouvelé les identifiants signalés par les chercheurs. La conclusion pratique est que supprimer un secret du code actuel ne supprime pas le risque : les organisations doivent révoquer l’identifiant, inspecter l’intégralité de l’historique du dépôt et déterminer si l’accès exposé a déjà été utilisé.
À lire aussi : une attaque de la chaîne logistique npm de SAP a ciblé les jetons GitHub, les identifiants cloud et les secrets CI/CD, montrant comment un accès développeur exposé peut propager une compromission dans les environnements logiciels.





