Sergey Nivens - stock.adobe.com

Chasse aux vulnérabilités : chez GitHub, les scans agentiques complètent les analyses statiques

Avec ses modules payants Code Security et Secret Protection, la filiale de Microsoft introduit des scans réalisés par des agents IA afin d’étendre la découverte de secrets et des vulnérabilités. En principe plus efficace que l’analyse statique, ces scans IA ne doivent pas remplacer ni refaire le travail de CodeQL.

Combiner déterminisme et probabilisme. Un thème récurrent lorsqu’il est question d’IA agentique. Chez GitHub, cette démarche semble plus particulièrement avancée dans la chasse aux secrets et aux vulnérabilités.

Depuis 2019 et l’acquisition de Semmle, la filiale de Microsoft s’appuie sur le moteur d’analyse statique CodeQL, car ses résultats sont fiables et prédictibles.

S’il n’en a pas l’air, CodeQL prend en charge un nombre suffisant de langages de programmation : C/C++, C#, Java, Kotlin, JavaScript, Python, Ruby, Rust, Swift et TypeScript. « Cela représente 90 % du code poussé sur GitHub », affirme Pierre Tempel, directeur produit chez GitHub. CodeQL 2.27.3 y ajoute, entre autres, Python 3.15 et la syntaxe JSON pour les extensions de données (entre autres lisibles par les LLM).

Or l’outil ne détecte pas par défaut les problèmes au sein de PHP, de HCL (le langage spécifique de Terraform), COBOL, ABAP (SAP) et un ensemble de langages. Surtout, note le directeur, les outils d’analyses statiques et leurs règles ou requêtes demandent d’être fréquemment mis à jour.

« Dans le cadre de nos analyses statiques traditionnelles, nous nous basions toujours sur des normes largement répandues, comme la couverture du Top 10 de l’OWASP », rappelle-t-il, auprès du MagIT, lors d’un entretien dans le cadre de GtiHub Universe 2026 à San Francisco. « L’un des défis a toujours été de savoir comment rester à jour face à l’apparition de nouvelles bibliothèques, de nouveaux frameworks et de nouveaux vecteurs d’attaque, et c’est là que l’IA se révèle bien plus performante ».

La mise à jour du contexte d’un outil d’IA agentique, voire une simple description du schéma d’attaque, permet d’accélérer les analyses. De même, les règles peuvent ne pas couvrir certains paramètres du code.

Or, les agents IA, propulsés par des LLM, sont probabilistes. Pour la même séquence en entrée, ils peuvent produire des résultats différents. Aussi, les erreurs et les faux positifs –, les hallucinations – sont normalement plus fréquents.

Combiner les analyses SAST, les analyses IA et les analyses IA « profondes »

« Nous avons pris le temps de concevoir notre système d’analyse IA de manière qu’il offre une qualité constante, des alertes fiables, un bon rapport coût-efficacité et qu’il puisse fonctionner à chaque modification », assure Pierre Tempel. « Il est très facile de demander à un agent IA de détecter des vulnérabilités. Obtenir un résultat cohérent d’une exécution à l’autre est une autre paire de manches », souligne-t-il. « Nous avons donc développé et mis à l’épreuve deux harnais, l’un chez GitHub, l’autre chez Microsoft ».

Le premier s’appelait SDK GitHub Copilot et a été renommée Microsoft Copilot SDK. Les deux entités au sein du groupe ont fusionné leurs outils. Le second n’est autre que MDASH, le harnais IA utilisé pour créer l’agent de scan de code de Microsoft Defender.

Ces « scans IA », comme les appelle GitHub, complètent l’analyse statique traditionnelle. Mais il ne faut pas faire exploser les coûts. Ni chez la filiale de Microsoft ni chez ses clients. Une analyse IA « standard » doit s’exécuter en moins d’une heure, ne pas « consommer beaucoup de tokens » et utiliser plusieurs modèles différents. De fait, les fonctions de base de CodeQL sont incluses dans la licence de base de GitHub. À cela s’ajoutent deux modules. L’un pour la détection de secrets propulsée à l’IA (19 dollars par commiter actif par mois) et l’autre qui combine CodeQL et les scans IA (30 dollars par commiter actif par mois). Notons que les scans IA consomment aussi des crédits IA « Code Security » lorsqu’ils s’appliquent aux pull requests, aux dépôts (en préversion pour les dépôts publics), aux applications. Les scans IA sont « 2 à 2,5 fois plus performants que CodeQL ou n’importe quel outil SAST », vante Pierre Tempel.

Mais GitHub a également prévu des scans « profonds ». Ceux-là s’appuient sur le framework MDASH de Microsoft, les LLM MAI-Cyber et sur la fusion de modèles, si chers à Microsoft et à sa filiale. « Ils sont exécutés par un système que nous réservons pour les dépôts les plus critiques de nos clients », indique Pierre Tempel. « Il fonctionne pendant longtemps, il peut consommer beaucoup de tokens, mais il vous fournira des analyses de sécurité potentiellement basées sur le travail de centaines d’agents ».

Dans les deux cas, le responsable produit indique que GitHub et Microsoft tentent de réduire le bruit des alertes. Ces scans doivent signaler les vulnérabilités réelles et prioritaires. « Nos benchmarks utilisent uniquement des CVE réelles, publiées après la date limite d’entraînement des modèles d’IA utilisés », avance-t-il. Aussi, les scans IA ne rapportent pas les problèmes relevés par CodeQL. Ils ne mentionnent que les nouvelles trouvailles à partir de la deuxième passe.

Du côté de CodeQL, Pierre Tempel assure que le moteur de requêtes « filtre 90 % du bruit pour les développeurs ». Le résultat de plusieurs années de recherche et développement. Et les analyses propulsées par l’IA sont désactivées par défaut, insiste le responsable. Aux entreprises de mener leur test pour budgétiser l’usage de ces scans IA.

GitHub promeut la remédiation automatique propulsée à l’IA agentique

L’IA agentique s’invite également dans la correction des vulnérabilités. Autofix est une fonctionnalité de GitHub Copilot, rattaché aux deux modules payants évoqués plus haut. À partir des dizaines d’alertes remontées par les scans IA et CodeQL, l’outil parcourt la portion de code concerné, propose un correctif, valide son fonctionnement en exécutant à nouveau CodeQL et propose une pull request qu’un humain valide (ou pas). « Nous pouvons générer un correctif pour 25 alertes de sécurité en moins de dix minutes. Pour la première fois, les gens se plongent réellement dans leur backlog », observe le responsable. Reste à prouver l’efficacité d’un tel système. D’autant que certains clients ont déjà développé en interne des systèmes similaires en s’appuyant sur les fonctions intégrées dans GitHub Enterprise et Copilot.

« Nous avions plus de 400 dépôts liés à notre démarche interne d’open source qui étaient non conformes. Soit ils contenaient des vulnérabilités, soit les licences n’étaient pas proprement reportées », témoigne Jeff Doolittle, ingénieur distingué et architecte principal chez Trimble. « Il y a un an et demi, avec l’aide d’un stagiaire j’ai passé quelque temps à redresser la barre. Trois mois plus tard, nous étions à nouveau en dehors des clous ».

« En février, j’ai développé avec GitHub Copilot un système automatisé en quatre jours pour avertir les gens en cas de non-conformité. Il publie automatiquement une issue sur leur dépôt », poursuit-il. « L’issue contient un prompt qui permet de dire à Copilot de corriger le problème. Il corrige les failles de sécurité, supprime les secrets, vérifie la licence, etc. Nous sommes conformes à 100 % », se réjouit l’ingénieur.

« Ce sont ces champions de la sécurité qui contribuent au succès de nos outils », remarque Pierre Tempel. « En même temps, nous ne voulons pas imposer aux développeurs la charge d’avoir à maîtriser les tenants et aboutissants de la sécurité. Ce n’est pas leur métier principal. Nous devons intégrer la sécurité à leur flux de travail habituel », poursuit-il.

L’éditeur entend imposer ce type de flux de travail nativement dans sa plateforme. « Nous constatons que nos fonctionnalités ne sont efficaces que lorsqu’elles font partie intégrante de ce flux de travail. Il est d’ailleurs plus facile d’assurer la sécurité que de l’ignorer. C’est là que nous pouvons apporter notre aide. C’est le principe qui sous-tend toutes nos fonctionnalités actuelles », avance-t-il.

GitHub développe également en préversion publique des scans IA pour trouver des vulnérabilités dans les applications IA elles-mêmes. Ces scans IA couvrent les injections de prompt indirectes, la révélation de données sensibles ou encore l’exposition de privilèges. Les pull requests associées à une application agentique sont scannés automatiquement, en parallèle de l’analyse CodeQL. Les outils doivent lister les chemins d’accès aux données, aux outils et aux SI insuffisamment protégés et fournir des recommandations pour les sécuriser.  

Pour approfondir sur IA appliquée à la cybersécurité