Selon l’IPSOS, plus de la moitié des Français (55 %) connaissent ChatGPT et
43 % déclarent l’avoir déjà utilisé. Alors que dans les premiers temps de l'informatique, le développement de logiciels était plus répétitif et laborieux, avec une saisie des instructions spécifiques au matériel et une gestion manuelles de la mémoire. La courbe d'apprentissage était peu rapide et beaucoup de codes personnalisés étaient nécessaires pour écrire des programmes relativement basiques. Aujourd’hui, les progrès technologiques, les bibliothèques de code et les communautés de collaboration logicielle ont rendu le codage plus efficace, permettant aux équipes de développement de produire des applications sophistiquées plus rapidement.


Les outils d'intelligence artificielle (IA) générative, tels que ChatGPT, constituent la prochaine évolution du développement logiciel, car ils sont capables de générer des quantités massives d'extraits de code dans divers langages de programmation, au-delà des limites de ce qu'une communauté humaine peut produire. Cependant, à mesure que ces outils se répandent, les risques pour la sécurité de la supplychain digitale augmentent également.

Toutefois, les outils d'IA peuvent recommander des extraits de code contenant des failles de sécurité. C'est pourquoi les développeurs humains doivent toujours examiner le code produit par l'IA et en être responsables, afin de s'assurer que celui-ci est sûr et n'introduit pas de vulnérabilités de manière involontaire. Ainsi, plutôt que de remplacer les développeurs, les outils tels que ChatGPT nécessitent l'acquisition de nouvelles compétences liées à la sécurité des identités, puisque la responsabilité humaine du code reste primordiale, quelle que soit son origine générée par la machine.

La trajectoire du développement d'applications

Le développement de logiciels est en évolution constante. En effet, le développeur est toujours à la recherche de moyens d'améliorer l'efficacité et d'éviter la duplication du code. Tout au long de l'histoire, l'homme a cherché à automatiser les tâches répétitives. Du point de vue du développeur, l'élimination du codage répétitif permet de construire des applications supérieures et plus complexes.

Les robots d'intelligence artificielle ne sont pas la première technologie à aider dans cette entreprise. Ils représentent plutôt la phase suivante dans l'avancement du développement d'applications, en s'appuyant sur les réalisations précédentes.

ChatGPT : un changement de paradigme ?

Avant les outils alimentés par l'IA, les développeurs recherchaient des solutions de code sur des plateformes, comparant plusieurs réponses pour trouver celle qui convenait le mieux. Avec ChatGPT, ils spécifient le langage de programmation et la fonctionnalité requise, et reçoivent ce que l'outil considère comme la meilleure réponse. Ils gagnent ainsi du temps en réduisant la quantité de code qu’ils doivent écrire. En automatisant les tâches répétitives, ChatGPT permet aux développeurs de se concentrer sur des concepts de plus haut niveau, ce qui se traduit par des applications avancées et des cycles de développement plus rapides.

Toutefois, l'utilisation d'outils d'intelligence artificielle présente des inconvénients. Ils fournissent une réponse unique sans validation par d'autres sources, contrairement à ce qui est observé dans une communauté de développement de logiciels. En outre, l'outil étant en phase bêta, le code servi par ChatGPT doit encore être évalué et vérifié avant d'être utilisé dans une application.

Il existe de nombreux exemples de failles de sécurité créées par quelqu'un qui a copié du code sans le vérifier minutieusement. Par exemple, l'exploit Heartbleed, un bogue de sécurité dans une bibliothèque populaire qui a conduit à l'exposition de centaines de milliers de sites web, de serveurs et d'autres dispositifs qui utilisaient le code. La bibliothèque étant si largement utilisée, la vérification de sa vulnérabilité était implicite pour tous. Cependant, la vulnérabilité a persisté pendant des années, utilisée discrètement par des attaquants pour exploiter des systèmes vulnérables.

C'est la face cachée de ChatGPT : les attaquants ont également accès à l'outil. Bien que certaines mesures soient en place pour l'empêcher de répondre à des questions sur des sujets problématiques tels que l'injection de code, des brèches se sont produites en raison de l'incorporation de code sans vérification approfondie. Les cybercriminels peuvent ainsi exploiter ChatGPT, en utilisant ses capacités pour créer des malwares polymorphes ou produire des codes malveillants plus rapidement. Même avec des mesures de protection, les développeurs doivent donc faire preuve de prudence.

Appliquer les meilleures pratiques

Compte tenu de ces risques pour la sécurité, il convient de respecter certaines bonnes pratiques lors de l'utilisation de codes générés par des outils d'IA tels que ChatGPT, telles que vérifier la solution générée par rapport à une autre source, comme une communauté de confiance ou des amis. Ensuite, le code doit accorder l'accès aux bases de données et autres ressources critiques, en suivant le principe du moindre privilège, de la gestion des secrets, de l'audit et de l'authentification de l'accès aux ressources sensibles.

Une double vérification du code pour détecter toute vulnérabilité potentielle et une prise de conscience des données que l’utilisateur inclut dans ChatGPT sont essentielles. La question de leur sécurité des se pose, c'est pourquoi il faut être prudent pour les données très sensibles et veiller à ne pas exposer accidentellement des identifiants, ce qui pourrait être contraires aux règles de conformité.

En fin de compte, une machine ne peut pas être tenue pour responsable, et les développeurs le sont désormais pour le code généré par l’IA, sans les garanties traditionnelles de l'examen par les pairs et de la communauté. Ils doivent se familiariser avec les meilleures pratiques en matière de sécurité des identités et collaborer avec les équipes de sécurité pour valider le code de manière appropriée. La responsabilité incombe aux utilisateurs humains de ces outils, car ce sont eux qui subissent les conséquences de tout problème ou de toute violation. Avec une évaluation minutieuse et le respect des pratiques de cybersécurité, ChatGPT et les outils similaires alimentés par l'IA peuvent élever le développement logiciel à de nouveaux sommets.

Par John Walsh, Principal Developer Security Expert chez CyberArk