GitHub : l'IA aide les développeurs à écrire du code plus sûr, mais vous devez maîtriser les bases
Ne vous lancez pas dans le développement assisté par l'IA tant que vous n'avez pas mis en place des bases solides.
Il peut être intéressant de disposer d'outils de cybersécurité sophistiqués pour aider à détecter les vulnérabilités, mais la sécurité du code doit encore commencer par une bonne maîtrise des bases par les développeurs.
Cette concentration sur les fondations signifie adhérer à des principes fondamentaux, tels que l'activation de l'authentification à deux facteurs (2FA) et l'adoption des normes et des meilleures pratiques du secteur, a déclaré Mike Hanley, directeur de la sécurité (CSO) de GitHub et vice-président senior de l'ingénierie.
La plate-forme de développement de logiciels appartenant à Microsoft compte plus de 100 millions d'utilisateurs et subit son lot de cyberattaques ciblées. Toutefois, la forme de ces attaques n’a pas beaucoup changé au cours de la dernière décennie. La majorité de ces tentatives sont des attaques de phishing et d'ingénierie sociale, qui visent à s'emparer des informations d'identification et des comptes des responsables de la maintenance des logiciels, ainsi qu'à exploiter les vulnérabilités des applications Web.
Les cybercriminels adhérant en grande partie aux mêmes tactiques, il est essentiel que la sécurité commence par le développeur. "Vous pouvez acheter des outils pour prévenir et détecter les vulnérabilités, mais la première chose que vous devez faire est d'aider les développeurs à garantir qu'ils créent des applications sécurisées", a déclaré Hanley dans une interview avec ZDNET.
À mesure que des outils logiciels majeurs, notamment ceux qui alimentent les appels de vidéoconférence et les voitures autonomes, sont créés et leurs bibliothèques mises à disposition sur GitHub, si les comptes des personnes qui maintiennent ces applications ne sont pas correctement sécurisés, des pirates malveillants peuvent s'emparer de ces comptes et compromettre un bibliothèque.
Les dommages peuvent être importants et conduire à une autre violation par des tiers, comme SolarWinds et Log4j, a-t-il noté. Hanley a rejoint GitHub en 2021, assumant le rôle nouvellement créé de CSO alors que la nouvelle de l'attaque colossale de SolarWinds se répandait.
"Nous disons toujours aux gens d'activer 2FA... acquérir les bases est une priorité", a-t-il déclaré.
Il a souligné les efforts de GitHub pour rendre obligatoire l'utilisation de 2FA pour tous les utilisateurs, un processus en cours depuis un an et demi et qui sera achevé au début de cette année.
Le marché de la sécurité étant désormais inondé d'offres « flashy », il peut être facile pour les professionnels de négliger la nécessité d'un simple pêne dormant sur la porte.
Les contrôles de base seront plus efficaces pour sécuriser l'environnement d'une organisation, parallèlement à l'adoption des normes et des meilleures pratiques du secteur, a-t-il déclaré. Ces pratiques incluent les références publiées par Cloud Security Alliance et la norme Safe App Standard de Singapour, qui s'appuie sur des pratiques de sécurité de base de « bon sens » et sur la contribution d'organisations privées et publiques pour aider à se concentrer sur les composants les plus essentiels.
Redéfinir le développement « shift-left » avec l’IA
L'intelligence artificielle (IA), y compris l'IA générative, apparaît également comme un compagnon important pour les développeurs de logiciels, notamment pour identifier les vulnérabilités potentielles au moment où ils écrivent leur code, selon Hanley.
L'IA redéfinit le modèle Shift-Left et aide à empêcher les développeurs d'écrire des vulnérabilités dans leur code dès le début, a-t-il déclaré.
L'approche Shift-Left implique de tester le logiciel plus tôt dans le cycle de vie du développement, afin que sa qualité puisse être évaluée et affinée tout au long de la phase de développement.
Les vulnérabilités logicielles étant souvent découvertes après la publication des codes au public (et il faut parfois des années avant qu'elles ne soient découvertes, comme dans le cas de Log4j), la capacité de l'IA à identifier et à fournir des suggestions pour corriger les vulnérabilités potentielles avant que le logiciel ne soit détecté. est publié change la donne pour les développeurs, a déclaré Hanley.
Selon une étude de GitClear, qui a examiné 153 millions de lignes de code modifiées écrites entre 2020 et 2023, la proportion de codes annulés ou mis à jour moins de deux semaines après leur écriture devrait doubler cette année par rapport à 2021.
Citant Copilot, l'outil de développement logiciel assisté par IA de GitHub, Hanley a déclaré que la technologie vise non seulement à aider les développeurs à écrire du code, mais également à le réviser et à le corriger.
GitHub Copilot est censé fournir des suggestions de code alignées sur le contexte et les conventions de style d'un projet, offrant aux développeurs la possibilité de décider ce qu'ils doivent accepter, rejeter ou modifier. L'outil peut être intégré à d'autres éditeurs, tels que Visual Studio et Neovim, et peut suggérer de la syntaxe et du code dans plusieurs langages, notamment Python, JavaScript, Ruby et C#.
Lancé pour la première fois en octobre 2021, GitHub Copilot est actuellement utilisé par plus de 1,3 million d'abonnés payants et 50 000 organisations, a déclaré Thomas Dohmke, PDG de GitHub, dans un récent article sur LinkedIn. L’outil assisté par l’IA a généré plus de trois milliards de lignes de codes acceptées.
Ses utilisateurs ont accepté en moyenne près de 30 % des suggestions de code, et ce chiffre augmente à mesure que les développeurs se familiarisent avec l'outil, a déclaré Dohmke dans un article de juin 2023, citant un échantillon d'analyse de 934 533 utilisateurs de GitHub Copilot.
Sur la base d'un taux de productivité de 30 % et d'un nombre prévu de 45 millions de développeurs en 2030, il a déclaré que les outils de développement d'IA générative pourraient potentiellement ajouter 15 millions de « développeurs efficaces » à la capacité mondiale d'ici 2030, augmentant ainsi le PIB de plus de 1 500 milliards de dollars.
Les utilisateurs de GitHub Copilot déclarent également avoir codé 55 % plus rapidement avec l'outil, a-t-il noté, ajoutant que 46 % des codes ont été complétés par la technologie basée sur l'IA dans les fichiers où elle a été activée.
Cependant, comme les voitures autonomes, les outils de développement assistés par l’IA ne remplacent pas les développeurs humains et les processus de révision de code, a déclaré Hanley. Ce sont des outils compagnons et, comme leur surnom l'indique, les copilotes des développeurs de logiciels sont plus efficaces lorsqu'ils travaillent avec leurs homologues humains.
