Connect with us

Le code généré par l’IA est là pour rester. Sommes-nous moins en sécurité en conséquence ?

Leaders d’opinion

Le code généré par l’IA est là pour rester. Sommes-nous moins en sécurité en conséquence ?

mm

La programmation en 2025 n’a rien à voir avec le fait de passer des heures sur des fragments ou à déboguer pendant de longues heures. C’est une tout autre ambiance. Le code généré par l’IA devrait constituer la majorité du code dans les produits futurs et il est devenu un outil essentiel pour les développeurs modernes. Appelé « vibe coding », l’utilisation de code généré par des outils comme Github Copilot, Amazon CodeWhisperer et Chat GPT sera la norme et non l’exception pour réduire le temps de construction et augmenter l’efficacité. Mais la commodité du code généré par l’IA risque-t-elle une menace plus sombre ? L’IA générative augmente-t-elle les vulnérabilités dans l’architecture de sécurité ou existe-t-il des moyens pour les développeurs de « vibe coder » en toute sécurité ?

« Les incidents de sécurité résultant de vulnérabilités dans le code généré par l’IA est l’un des sujets les moins discutés aujourd’hui », a déclaré Sanket Saurav, fondateur de DeepSource. « Il y a encore beaucoup de code généré par des plateformes comme Copilot ou Chat GPT qui n’est pas examiné par des humains, et les failles de sécurité peuvent être catastrophiques pour les entreprises qui en sont affectées. »

Le développeur d’une plateforme open source qui utilise l’analyse statique pour la qualité et la sécurité du code, Saurav a cité l’attaque de SolarWinds en 2020 comme le type d’« événement d’extinction » que les entreprises pourraient connaître si elles n’ont pas installé les bonnes barrières de sécurité lors de l’utilisation du code généré par l’IA. « L’analyse statique permet d’identifier des modèles de code insécurisés et de mauvaises pratiques de codage », a déclaré Saurav.

Attaqué à travers la bibliothèque

Les menaces de sécurité pour le code généré par l’IA peuvent prendre des formes inventives et peuvent être dirigées contre les bibliothèques. Les bibliothèques dans la programmation sont des codes réutilisables utiles que les développeurs utilisent pour gagner du temps lors de l’écriture.

Ils résolvent souvent des tâches de programmation régulières comme la gestion des interactions avec les bases de données et aident les programmeurs à ne pas avoir à réécrire le code à partir de zéro.

Une telle menace contre les bibliothèques est connue sous le nom de « hallucinations », où le code généré par l’IA affiche une vulnérabilité en utilisant des bibliothèques fictives. Une autre ligne d’attaque plus récente contre le code généré par l’IA est appelée « slopsquatting » où les attaquants peuvent cibler directement les bibliothèques pour infiltrer une base de données.

Faire face à ces menaces de manière frontale peut nécessiter plus de vigilance que ce que suggère le terme « vibe coding ». S’exprimant depuis son bureau à l’Université du Québec en Outaouais, le professeur Rafael Khoury a suivi de près les développements dans la sécurité du code généré par l’IA et est convaincu que de nouvelles techniques amélioreront sa sécurité.

Dans un article de 2023, le professeur Khoury a examiné les résultats de la demande à ChatGPT de produire du code sans aucun contexte ou information, une pratique qui a conduit à un code insécurisé. Ceux-ci étaient les premiers jours de Chat GPT et Khoury est maintenant optimiste quant à l’avenir. « Depuis, il y a eu beaucoup de recherches en cours et l’avenir regarde une stratégie pour utiliser le LLM qui pourrait conduire à de meilleurs résultats », a déclaré Khoury, ajoutant que « la sécurité s’améliore, mais nous ne sommes pas à un stade où nous pouvons donner une invite directe et obtenir un code sécurisé. »

Khoury a décrit une étude prometteuse où ils ont généré du code et envoyé ce code à un outil qui l’analyse pour les vulnérabilités. La méthode utilisée par l’outil est appelée Finding Line Anomalies with Generative AI (ou FLAG pour faire court).

« Ces outils envoient des FLAG qui pourraient identifier une vulnérabilité à la ligne 24, par exemple, que le développeur peut ensuite renvoyer au LLM avec les informations et demander de l’examiner et de résoudre le problème », a-t-il déclaré.

Khoury a suggéré que cet aller-retour pourrait être crucial pour corriger le code qui est vulnérable à l’attaque. « Cette étude suggère qu’avec cinq itérations, vous pouvez réduire les vulnérabilités à zéro. »

Cela étant dit, la méthode FLAG n’est pas sans problèmes, en particulier car elle peut donner lieu à la fois à des faux positifs et à des faux négatifs. En outre, il y a également des limites dans la longueur du code que les LLM peuvent créer et l’acte de joindre des fragments peut ajouter une autre couche de risque.

Garder l’humain dans la boucle

Certains acteurs au sein du « vibe coding » recommandent de fragmenter le code et de s’assurer que les humains restent au premier plan et au centre des éditions les plus importantes d’une base de code. « Lorsque vous écrivez du code, pensez en termes de validations », a déclaré Kevin Hou, responsable de l’ingénierie de produit chez Windsurf, vantant la sagesse des pièces de petite taille.

« Divisez un grand projet en petites parties qui seraient normalement des validations ou des demandes d’extraction. Faites que l’agent construise à petite échelle, une fonction isolée à la fois. Cela peut garantir que la sortie de code est bien testée et bien comprise », a-t-il ajouté.

Au moment de la rédaction, Windsurf a abordé plus de 5 milliards de lignes de code généré par l’IA (sous son ancien nom Codeium). Hou a déclaré que la question la plus pressante qu’ils répondaient était de savoir si le développeur était conscient du processus.

« L’IA est capable de faire de nombreuses éditions sur de nombreux fichiers simultanément, donc comment pouvons-nous nous assurer que le développeur comprend et examine réellement ce qui se passe plutôt que de simplement accepter tout sans réserve ? » a demandé Hou, ajoutant qu’ils avaient investi lourdement dans l’UX de Windsurf « avec une tonne de moyens intuitifs pour rester pleinement à l’unisson de ce que fait l’IA, et pour garder l’humain pleinement dans la boucle. »

C’est pourquoi, à mesure que le « vibe coding » devient plus mainstream, les humains dans la boucle doivent être plus prudents de ses vulnérabilités. Des « hallucinations » aux menaces de « slopsquatting », les défis sont réels, mais les solutions le sont aussi.

Des outils émergents comme l’analyse statique, des méthodes d’affinement itératif comme FLAG, et une conception UX réfléchie montrent que la sécurité et la rapidité n’ont pas à être mutuellement exclusives.

La clé réside dans le maintien des développeurs engagés, informés et en contrôle. Avec les bonnes barrières de sécurité et une mentalité « faire confiance mais vérifier », la programmation assistée par l’IA peut être à la fois révolutionnaire et responsable.

Arjun Harindranath est un journaliste indépendant basé à Medellin, en Colombie, qui couvre des histoires sur les conflits, les migrations et la technologie pour un public mondial. Ses précédents articles ont été publiés par Al Jazeera, TechCrunch, The Next Web et le New York Times.