Microsoft Copilot est un chatbot d'intelligence artificielle générative développé par Microsoft. Basé sur un grand modèle de langage, il a été lancé en février 2023 en tant que principal remplaçant de Cortana, qui a été abandonné par Microsoft.
Copilot Autofix ne fait pas partie de l'offre standard de GitHub Copilot. Les comptes d'entreprise peuvent opter pour GitHub Advanced Security (GHAS), qui détecte désormais les vulnérabilités encore plus rapidement et plus clairement. Lors de la version bêta publique, il a été constaté que les utilisateurs d'Autofix corrigeaient les vulnérabilités trois fois plus vite que les utilisateurs qui devaient le faire manuellement. Quel est le secret de cet outil ?
La promesse d'Autofix ne se limite pas à sa rapidité. La raison de ce rythme fulgurant : les développeurs savent plus rapidement pourquoi une vulnérabilité se produit, et pas seulement qu'il y a un risque potentiel. Autofix explique la vulnérabilité d'un code et propose immédiatement une alternative.
GitHub sait également qu'il vaut mieux prévenir que guérir. Autofix est donc particulièrement conçu comme un outil de prévention pour différents types de vulnérabilités. Par exemple, GitHub lui-même cite les injections SQL et les scripts intersites. La mise en œuvre d'un correctif sur la base d'une alerte GitHub prend normalement une heure et demie, mais grâce à Autofix, elle prend 28 minutes. Pour les scripts intersites, le gain de vitesse est encore plus important : 22 minutes contre trois heures ; les vulnérabilités liées aux injections SQL ne prennent que 18 minutes à résoudre avec Autofix, alors qu'il faut habituellement 3,7 heures.
Autofix peut également venir à la rescousse des vulnérabilités existantes. Avec Autofix, une alerte d'analyse dans le GHAS comprend un bouton « Générer un correctif » avec la même fonctionnalité qu'Autofix ailleurs. Il est également possible de créer une demande d'extraction avec le nouveau correctif piloté par l'IA. Étant donné que l'IA permet également de nettoyer le code existant, GitHub estime que les organisations ont la possibilité d'éliminer « des années de dettes de sécurité accumulées ».
Les développeurs produisent des logiciels plus rapidement qu'on ne l'aurait imaginé auparavant, en publiant de nouvelles fonctionnalités très tôt et très souvent. Pourtant, malgré tous leurs efforts pour coder de manière sécurisée, des vulnérabilités logicielles se retrouvent par inadvertance dans la production et continuent d'être l'une des principales causes d'intrusion aujourd'hui. En outre, de nombreux développeurs estiment que les exigences en matière de sécurité sont difficiles à comprendre et à mettre en œuvre, ce qui complique l'obtention de bons résultats en matière de sécurité et se traduit par un plus grand nombre de vulnérabilités dans la nature.
Les outils d'analyse de code détectent les vulnérabilités, mais ne s'attaquent pas au problème fondamental : la remédiation nécessite des compétences en matière de sécurité et du temps, deux ressources précieuses qui font cruellement défaut. En d'autres termes, le problème n'est pas de trouver des vulnérabilités, mais de les corriger. C'est de les corriger qui l'est.
C'est pourquoi GitHub a annoncé la disponibilité générale de la remédiation pilotée par l'IA avec Copilot Autofix dans GitHub Advanced Security (GHAS). Copilot Autofix analyse les vulnérabilités dans le code, explique pourquoi elles sont importantes et propose des suggestions de code qui aident les développeurs à corriger les vulnérabilités aussi vite qu'elles sont trouvées. Au cours de la version bêta publique, il a été constaté que les développeurs corrigeaient les vulnérabilités du code plus de trois fois plus vite que ceux qui le faisaient manuellement, ce qui illustre parfaitement la manière dont les agents d'intelligence artificielle peuvent radicalement simplifier et accélérer le développement de logiciels sécurisés.
Les développeurs peuvent éviter que de nouvelles vulnérabilités n'apparaissent dans leur code grâce à Copilot Autofix dans la demande d'extraction et, désormais, ils peuvent également rembourser l'arriéré de la dette de sécurité en générant des correctifs pour les vulnérabilités existantes.
Éliminer les nouvelles vulnérabilités du code
Depuis son introduction dans la version bêta publique en mars 2024, les développeurs ont utilisé Copilot Autofix dans leurs demandes d'extraction pour les aider à corriger rapidement les vulnérabilités dans le nouveau code avant qu'elles ne soient fusionnées dans la production où elles peuvent avoir un impact sur les clients. Des corrections peuvent être générées pour des dizaines de classes de vulnérabilités de code, telles que l'injection SQL et les scripts intersites, que les développeurs peuvent rejeter, modifier ou valider dans leur demande d'extraction.
Sur la base des données des clients de la version bêta publique entre mai et juillet 2024, Copilot Autofix a déjà montré des réductions spectaculaires dans le temps entre la détection et la remédiation réussie :
- 3x plus rapide. Dans l'ensemble, le temps médian nécessaire aux développeurs pour utiliser Copilot Autofix afin de valider automatiquement la correction d'une alerte liée à une demande d'extraction était de 28 minutes, contre 1,5 heure pour résoudre les mêmes alertes manuellement.
- 7x plus rapide. Vulnérabilités de script intersites : 22 minutes, contre près de trois heures.
- 12 fois plus rapide. Faille d'injection SQL : 18 minutes, contre 3,7 heures.
Les premiers utilisateurs de Copilot Autofix ont également fait état d'améliorations spectaculaires en termes d'efficacité et de productivité :
« Depuis la mise en œuvre de Copilot Autofix, nous avons observé une réduction de 60 % du temps consacré aux revues de code liées à la sécurité et une augmentation de 25 % de la productivité globale du développement. Dans le secteur de la santé, où la sécurité est essentielle, cela nous permet d'agir rapidement sur des solutions industrielles éprouvées. Cette approche proactive de la sécurité nous aide à prévenir les problèmes potentiels, ce qui nous permet d'économiser des milliers d'heures par mois qui seraient autrement consacrées à la remédiation », a déclaré Kevin Cooper, ingénieur principal chez Optum.
Remboursez votre dette de sécurité
Tout comme GitHub Copilot aide les développeurs à coder plus rapidement, Copilot Autofix accélère le rythme de la remédiation afin que les équipes de sécurité fassent de réels progrès avec l'arriéré des vulnérabilités existantes, communément appelé dette de sécurité.
Les vulnérabilités peuvent vivre éternellement, et plus elles sont restées dormantes, plus il est difficile et coûteux de les corriger. Lorsqu'on demande à un développeur de corriger des vulnérabilités dans un code qu'il n'a pas vu depuis longtemps ou qu'il ne connaît pas, cela peut prendre des heures pour évaluer le code environnant et expérimenter des corrections manuelles. Copilot Autofix réduit considérablement ce fardeau, de sorte que les développeurs peuvent corriger les anciennes vulnérabilités plus rapidement et en toute confiance.
Voici comment cela fonctionne. Pour lancer Copilot Autofix pour des vulnérabilités dans du code existant, il suffit d'appuyer sur le bouton « Generate fix » (Générer un correctif) sur une alerte dans l'alerte de scan de code GHAS. Copilot Autofix évalue le code et la vulnérabilité et renvoie une explication et une suggestion de code pour examen. Le développeur peut alors cliquer sur le bouton « Create PR with fix » pour créer une nouvelle demande d'extraction qui inclut des modifications de code pour corriger l'alerte. Avec Copilot Autofix, les équipes peuvent rembourser des années de dettes de sécurité - même les alertes de gravité faible ou modérée difficiles à prioriser - en quelques clics seulement.
« Copilot Autofix prend en charge les tâches de sécurité fastidieuses, en veillant à ce que notre code existant et nouveau soit toujours aussi sûr que possible. Les vulnérabilités sont immédiatement signalées et les modifications de code sont recommandées automatiquement. Cela permet à nos équipes de gagner du temps et de se concentrer sur des initiatives plus stratégiques », déclare Mario Landgraf, Community Manager, Security // Otto (GmbH & Co KG).
Copilot Autofix en action
Pour les développeurs qui ne sont pas nécessairement des experts en sécurité, Copilot Autofix est comme avoir l'expertise de votre équipe de sécurité à portée de main pendant que vous révisez le code. « Copilot Autofix ne se contente pas de signaler les vulnérabilités ; il explique pourquoi certaines actions sont nécessaires et comment les mettre en œuvre, ce qui rend la résolution des problèmes plus accessible », explique M. Cooper d'Optum.
En coulisses, Copilot Autofix s'appuie sur le moteur CodeQL, GPT-4o et une combinaison d'heuristiques et d'API GitHub Copilot pour générer des suggestions de code. Copilot Autofix construit une invite LLM basée sur des sources telles que l'analyse CodeQL et de courts extraits de code autour du chemin de flux.
Sécuriser l'open source
Copilot Autofix réduit le temps et les efforts nécessaires pour remédier aux vulnérabilités dans les dépôts privés, mais qu'en est-il des vulnérabilités dans l'open source ? Comme cela a été le cas avec Log4j, une vulnérabilité quelque part peut rapidement devenir une vulnérabilité partout. En tant que centre mondial de la communauté open source, GitHub est particulièrement bien placé pour aider les mainteneurs à détecter et corriger les vulnérabilités afin que les logiciels open source soient plus sûrs et plus fiables pour tout le monde. GitHub croit fermement qu'il est très important d'être à la fois un consommateur responsable de logiciels open source et un contributeur à ces logiciels. C'est pourquoi les mainteneurs de logiciels open source peuvent déjà profiter gratuitement des outils d'analyse de code, d'analyse secrète, de gestion des dépendances et de signalement privé des vulnérabilités de GitHub. À partir de septembre, GitHub ajoutera Copilot Autofix dans les demandes d'extraction à cette liste et l'offrira gratuitement à tous les projets open source.
Agir vite et réparer les choses
Alors que la responsabilité de la sécurité des logiciels continue de reposer sur les épaules des développeurs, GitHub estime que les agents d'intelligence artificielle peuvent contribuer à alléger ce fardeau. Les talents expérimentés en matière de sécurité sont rares, mais avec Copilot Autofix aux côtés des développeurs, chaque développeur bénéficie d'une expertise en matière de sécurité chaque fois qu'il en a besoin. La sécurité devient tout simplement synonyme de développement de logiciels.
Et ce n'est que le début. De GitHub Copilot Workspace à GHAS, GitHub se fait le champion d'un avenir où l'IA ne se contente pas d'assister mais contribue à transformer les entreprises, de la productivité et de l'innovation à la sécurité et à la réduction des risques. Dans le GHAS, l'IA permet non seulement de corriger les vulnérabilités dans le code, mais aussi d'améliorer la portée et la précision de l'analyse secrète, et avec de nouveaux flux de travail qui font évoluer Copilot Autofix pour les organisations ayant un volume élevé de dettes de sécurité, le tout sur la plateforme familière que les développeurs connaissent et apprécient déjà.
Avec Copilot Autofix, GitHub se rapproche un peu plus de sa vision : une vulnérabilité trouvée signifie une vulnérabilité corrigée.
Et vous ?
Quel est votre avis sur le sujet ?
Avez-vous utilisé cet outil ou un outil similaire pour votre usage ou le développement d'applications, et si oui qu'en pensez-vous ?
Voir aussi :
GitHub Copilot : un assistant IA de programmation qui génère du code comportant des faiblesses de sécurité, selon une étude sur la qualité du code
L'utilisation de l'assistant d'IA GitHub Copilot pour la programmation entraîne une baisse de la qualité globale du code et une quantité importante de code redondant, selon une étude