Propulsée par ChatGPT, l’intelligence artificielle a provoqué une véritable onde de choc dans tous les domaines de l’économie. Désormais utilisée au quotidien pour effectuer plusieurs tâches, elle s’est naturellement imposée auprès des développeurs. Ces derniers y ont largement recours. Ceci étant, les risques qu’elle génère en matière d’introduction de vulnérabilités et de failles de sécurité sont nombreux et doivent être pris en compte pour éviter toute compromission.
« L’intelligence artificielle est miraculeuse ». Tel est souvent ce que l’on peut entendre lorsque le sujet est mis sur le devant. Il est vrai que depuis son incroyable et fulgurante percée en 2022, ChatGPT est venue bouleverser tous les domaines d’activité, ouvrant par la même occasion la porte à l’arrivée d’autres solutions (Mistral, Copilot, Claude…). Gain de temps, création de contenus, automatisation… les opportunités sont nombreuses au point de laisser penser que tout est désormais dicté par l’IA. Pourtant, avec un peu de recul, cette vision mérite d’être nuancée tout simplement car l’intelligence artificielle nécessite fondamentalement le regard humain. Les erreurs et les problématiques qu’elle génère sont nombreuses. Les développeurs y sont frontalement confrontés et doivent s’en prémunir.
Les développeurs accros à l’IA
85 % des développeurs utilisent régulièrement l’IA, souligne une enquête de JetBrains. La pratique est courante dans le métier. Or, cet usage n’est pas sans risques, notamment lorsqu’il s’agit de veiller à la question cyber, un enjeu majeur à l’heure actuelle. Une étude de l’université Bilkent (2023) montre que le code généré par ChatGPT comportait des erreurs dans 30,5 % des résultats. Checkmarx affirme récemment de son côté que 80 % du code généré par IA comporterait des failles de sécurité. Le problème de l’IA n’est donc pas qu’elle génère un code source qui fonctionne, mais plutôt qu’elle ne garantit en rien la sécurité des systèmes.
C’est en tout cas ce qu’analyse dans une vidéo Jérôme de la chaîne Salut les Noobs aux côtés d’Antoine Royer, dirigeant de la société Unicorn Security, spécialisée en sécurité offensive.

Un exemple de faille de sécurité dans une page générée par l’IA
Ce dernier raconte que pour l’organisation d’un jeu-concours, et alors qu’il aurait pu créer lui-même une page web, il a souhaité le faire par l’intermédiaire de l’IA dans le but de gagner du temps. Il a demandé à Copilot de générer le code d’une page web et de créer une page d’authentification avec la création d’un mot de passe sécurisé de huit caractères. Ce qui ne lui a pas pris beaucoup de temps, avoue-t-il. Une fois qu’il a enregistré la page en HTML, Jérôme a voulu tester la sécurité de celle-ci par un mauvais mot de passe, ainsi une erreur s’affiche. Résultat : cette étape fonctionne.
Seulement, ne se souvenant plus du mot de passe généré par l’IA, il va voir dans le code source, affiche le HTML, et il retrouve le mot de passe. Il l’utilise pour s’authentifier et celui-ci fonctionne ! Il en convient que la sécurité est mise à mal, car le mot de passe est directement stocké dans le code source côté client, donc sur le PC de l’utilisateur. Si bien que le niveau de sécurité de la page est quasiment nul. « Voilà le vrai problème de l’IA : elle génère un code fonctionnel, mais totalement inefficace en termes de cybersécurité », conclut-il.
Une mauvaise utilisation des intelligences artificielles entraîne des risques en matière de cybersécurité. Et ils sont grands. « ChatGPT est un outil formidable, précise Antoine Royer. Seulement, il donne exactement ce qu’on lui demande, sans forcément comprendre les implications de sécurité. »

Vulnérabilité sur le script PowerShell
Toujours dans cette vidéo assez technique, mais très pédagogique, l’expert en cybersécurité prend un autre exemple démontrant le cas d’autres vulnérabilités : il s’agit du script PowerShell pour Windows. En demandant à ChatGPT d’automatiser la tâche de création de multiples utilisateurs Active Directory et de notifier six administrateurs @domaine.local, qui peut être compris comme un SPN Microsoft, avec l’identifiant d’un utilisateur, mais aussi comme une adresse mail, l’IA va envoyer un mail avec les mots de passe utilisateurs en clair.
« Cette tâche peut être réalisée de manière conforme aux bonnes pratiques d’administration, à condition que le mot de passe soit généré aléatoirement et communiqué via un canal chiffré. Toutefois, il existe de fortes chances que ChatGPT n’emprunte aucun de ces chemins et commette, au contraire, l’ensemble des erreurs possibles dans ce type de scénario », précise Antoine Royer.
« Au-delà des soucis de sécurité, en réalité les problèmes de génération de script sont bien plus larges qu’un simple problème d’interopérabilité, de panne, de maintenance », complète-t-il.

Toujours vérifier et comprendre le code
Grâce aux analyses de ces deux experts, on apprend donc qu’il est crucial d’avoir un regard critique lorsqu’une IA est employée pour le développement informatique. Dès lors que des critères sensibles ou dangereux apparaissent dans un script, il convient d’identifier le risque associé. L’intelligence artificielle est capable de produire aussi bien des solutions pertinentes que des résultats présentant des failles graves. Il devient nécessaire d’affiner précisément le prompt afin d’obtenir une réponse la plus adaptée et sécurisée possible.
« À l’époque, au cours de mes études de développeurs, nos professeurs nous disaient : assure-toi d’avoir lu et compris du code avant de le copier/coller », affirme Jérôme dans sa vidéo. Avec ChatGPT, mais également avec les autres intelligences artificielles du marché, la démarche est identique et exige un réel niveau de vérification. Il s’agit d’une source d’information à part entière qu’il convient d’utiliser avec discernement, en prenant toutes les précautions nécessaires.
Les experts nous éclairent ainsi sur cette dimension essentielle au moment de développer des solutions. « Méfiez-vous, ne faites pas confiance aux IA, même si vous pouvez les utiliser », lance Jérôme à son audience.
« On ne doit pas non plus être trop alarmiste, abonde Antoine Royer. Il y a des contextes dans lesquels il faut faire plus attention que d’autres et en l’occurrence si vous prenez l’intelligence artificielle pour générer des scripts qui vont avoir à traiter avec l’ouverture de port, l’authentification ou encore de la cryptographie, vous allez nécessairement devoir demander une seconde vérification, un durcissement des mesures de sécurité. »
Une étape cruciale !

Dev : de la rigueur et de l’avenir
Quant à la question de savoir si les développeurs seront demain remplacés par la puissance de l’IA, cette situation apparaît peu probable. Les développeurs expérimentés ont encore de belles perspectives devant eux.
Alors qu’ils ne se privent pas d’intégrer l’intelligence artificielle dans leurs pratiques quotidiennes, ces derniers doivent en mesurer toutefois les risques, en comprendre les limites et adopter une approche rigoureuse afin d’éviter l’introduction de failles ou de vulnérabilités dans leurs approches de développement de solutions.