GitHub push protection : l'IA traque les secrets cachés
GitHub ajoute un classificateur d'IA aux push de code pour empêcher les développeurs de commiter des mots de passe et d'autres identifiants dans leurs dépôts. Ce détecteur a été conçu avec Microsoft Applied Sciences et repose sur ModernBERT.
Le modèle vient compléter push protection, la fonction de GitHub qui analyse le code à la recherche de secrets et peut bloquer un push avant qu'un identifiant n'atterrisse dans l'historique du dépôt.
Le contexte plutôt que les motifs
Push protection repère déjà de nombreux identifiants, car ils suivent des formats connus. Mais beaucoup de secrets n'en suivent aucun. Un mot de passe de base de données, par exemple, peut ressembler à n'importe quelle autre chaîne de caractères.
Le nouveau classificateur examine le code qui entoure une chaîne suspecte pour déterminer s'il s'agit d'un secret. Selon GitHub, il traite des lots de secrets potentiels en moins de deux millisecondes. L'entreprise affirme aussi qu'il pourrait plus que doubler le nombre de secrets que push protection est capable de bloquer.
"Push protection intervient plus tôt. Elle arrête les identifiants reconnaissables avant qu'ils n'entrent dans l'historique du dépôt, ce qui donne au développeur ou à l'agent la possibilité de corriger la modification avant qu'il y ait une exposition à examiner", écrit Erin Havens, Product Manager chez GitHub.
La vitesse n'est qu'une contrainte parmi d'autres. Les fausses alertes interrompent les développeurs et les rendent moins enclins à prendre au sérieux l'avertissement suivant. GitHub explique devoir arbitrer entre précision, vitesse, capacité de traitement et coûts d'exploitation dans sa chasse aux secrets.
Les fuites augmentent avec le volume de code
D'après GitHub, un nouveau secret apparaît dans du code visible publiquement environ toutes les deux secondes. Entre le deuxième trimestre 2024 et le deuxième trimestre 2026, le nombre de push publics analysés a été multiplié par 2,84. Sur la même période, les push contenant des identifiants ont été multipliés par 2,59.
Sur ces neuf trimestres, l'entreprise n'a relevé aucune tendance statistiquement significative dans la part des push contenant des secrets. Les fuites progressent à peu près au même rythme que le volume de code.
Tous types de secrets détectés par GitHub confondus, push protection bloque environ 30 % des secrets nouvellement détectés avant qu'ils n'atteignent l'historique du dépôt. Les 70 % restants ne sont repérés qu'après leur exposition.
Un identifiant divulgué peut ouvrir l'accès à une base de données, à un service cloud ou à un autre système connecté. Les développeurs doivent alors le désactiver, le remplacer et vérifier s'il a été utilisé de manière abusive. Une révocation manuelle prend en moyenne 40 jours environ, et près d'un secret exposé sur cinq met plus de 90 jours à être révoqué. Certains fournisseurs de services révoquent automatiquement les identifiants dès que GitHub signale une exposition.
Déploiement et tarifs
La version étendue de push protection est en préversion privée. Plus tard en octobre, GitHub prévoit de l'ouvrir aux organisations disposant de GitHub Secret Protection sur les offres Enterprise Cloud et GitHub Team. La fonction consommera des crédits IA.
Les organisations qui utilisent déjà la détection de secrets par IA basculent automatiquement sur le nouveau modèle. Les alertes issues des analyses effectuées après un push restent couvertes par leur abonnement existant à l'analyse des secrets, sans surcoût.
Le modèle sera également disponible en préversion publique avec GitHub Enterprise Server 3.23, l'édition auto-hébergée de GitHub. Il fournira des alertes détectées par IA aux clients de Secret Protection, y compris ceux qui exploitent des environnements isolés (air-gapped).
GitHub intègre aussi le classificateur à la commande /security-review de Copilot CLI et de Copilot App. Les utilisateurs de Copilot pourront ainsi rechercher des secrets avant de pousser leur code, même si leur organisation n'a pas souscrit à Secret Protection. Les crédits IA consommés seront imputés à GitHub Secret Protection dans les statistiques d'utilisation de l'IA.
Notre analyse
Les chiffres de GitHub montrent que le vrai problème, c'est le moment de la détection. Si 70 % des secrets détectés ne sont repérés qu'après leur exposition et que la révocation traîne pendant des semaines, déplacer la détection juste avant le push pourrait réduire la fenêtre dont disposent les attaquants. La mention par Erin Havens du "développeur ou de l'agent" est révélatrice. À mesure que les outils d'IA écrivent et poussent davantage de code, les contrôles doivent suivre le rythme de ces agents, et les éditeurs développent des garde-fous similaires pour les agents de codage IA. Les classificateurs ne remplacent pas pour autant une bonne pratique : garder les identifiants hors du code, par exemple grâce à un gestionnaire de secrets dédié. Reste à voir comment le taux de faux positifs tiendra en conditions réelles et si le coût des crédits IA freinera l'adoption.
