Skip to main content

Snyk & Atlassian : intégrer la sécurité au développement logiciel assisté par l’IA

Écrit par
blog feature snyk atlassian

14 février 2024

0 minutes de lecture

Intégrer l’IA à votre cycle de vie du développement logiciel (SDLC) ouvre de grandes perspectives, mais comporte aussi de grands dangers. Le risque en vaut-il la peine ? 

C’est le sujet qu’ont abordé Sascha Wiswedel, ingénieur solutions senior chez Atlassian, et Simon Maple, évangéliste développeur principal chez Snyk, lors de leur discussion sur la sécurité dans le cycle de vie du développement logiciel (assisté par l’IA). 

Pour maximiser les avantages et limiter les risques, vous devez intégrer la confiance et la sécurité à chaque processus, projet et produit pris en charge par vos équipes logicielles. Cela a toujours été essentiel, mais l’est encore plus aujourd’hui, alors que l’IA transforme en profondeur la façon dont le code est écrit et maintenu.  

Risques et avantages de l’IA dans le développement logiciel 

Pour gérer efficacement l’IA dans le développement logiciel, commencez par comprendre où elle est utilisée. Voici quelques-uns des cas d’usage les plus courants de l’IA dans le développement : 

  • Génération de code 

  • Synthèse de code 

  • Ajout de commentaires 

  • Rédaction d’un fichier README 

  • Refactorisation du code 

  • Fourniture de modèles 

  • Programmation en binôme

La génération de code, qui consiste à utiliser l’IA générative pour aider les développeurs à écrire du code dans leur environnement de développement intégré (IDE), est le domaine qui offre les gains de productivité les plus importants, mais aussi le plus grand risque d’introduire des vulnérabilités. 

« Nous constatons que les développeurs utilisent le plus souvent des outils d’IA comme GitHub Copilot et Amazon CodeWhisperer, qui sont devenus extrêmement populaires », explique Simon. « Mais ils ne comprennent souvent pas pleinement les risques liés à l’utilisation de ces outils. » 

L’IA transforme indéniablement le développement logiciel dans le secteur technologique. Le rapport 2023 de Snyk sur la sécurité du code généré par l’IA révèle que 96 % des développeurs de logiciels utilisent déjà des outils de codage par IA, tandis qu’une étude de McKinsey a établi que l’IA générative permet aux développeurs d’accomplir des tâches de codage jusqu’à deux fois plus vite. 

Dans le même temps, ces outils peuvent donner un faux sentiment de confiance en matière de sécurité. Le rapport de Snyk sur l’IA, ainsi qu’une étude de Stanford, ont tous deux montré que les développeurs ayant accès à l’IA écrivent du code nettement moins sécurisé, tout en étant plus susceptibles de penser qu’il est sécurisé que ceux qui n’y ont pas accès. 

Les problèmes liés à l’IA générative dans le développement logiciel 

L’utilisation généralisée de l’IA générative par les développeurs leur permet d’aller plus vite et de produire davantage de code, mais aussi davantage de problèmes de sécurité. Les deux principales causes de problèmes liés au développement assisté par l’IA sont : 

  • Données d’entraînement de mauvaise qualité 

  • Hallucinations 

Les grands modèles de langage (LLM) qui alimentent les outils de codage par IA ont besoin d’énormes quantités de données d’entraînement pour fonctionner. Celles-ci comprennent une part importante de code open source, qui contient naturellement des vulnérabilités. Comme l’IA ne comprend pas réellement le code et ne connaît ni les règles ni la syntaxe, elle génère souvent des vulnérabilités après avoir appris à partir de dépôts open source. Des acteurs malveillants peuvent même empoisonner intentionnellement les données d’entraînement. 

À l’inverse, les hallucinations surviennent lorsque les modèles d’IA génèrent du code qui ne s’appuie pas sur les enseignements tirés des données d’entraînement. L’IA peut alors se montrer « créative » et fournir une réponse absurde ou incorrecte, car elle est conçue pour prédire le jeton suivant (un mot ou une ligne de code), même si les informations nécessaires lui manquent. 

« Quand j’utilise l’IA générative pour créer une histoire ou un poème, une certaine dose d’imagination peut être bienvenue. Mais dans un système aussi strictement régi par des règles que le développement logiciel, nous devons nous en tenir aux faits », explique Simon. 

Limiter les risques de sécurité liés au code généré par l’IA 

Que faire si les développeurs se lancent à toute vitesse dans la génération de code par l’IA, alors que ces outils peuvent se tromper sans même le savoir ? 

Il est d’abord important de définir et de tenir à jour des politiques et des directives d’entreprise sur l’IA, afin de documenter les usages acceptables de cette technologie. Tenez compte des exigences de sécurité et de confidentialité des données que vous devez respecter pour vous conformer aux réglementations et aux référentiels applicables. Vos politiques doivent également protéger votre propriété intellectuelle (PI) lorsque vous utilisez des outils tiers. 

Selon Simon, « la protection des données sensibles des clients n’est pas négociable. Mais il est tout aussi important de veiller à ce que votre PI reste dans votre périmètre, séparée de tout LLM public. »  

Cependant, même les politiques les plus exhaustives et les plus strictes ne peuvent garantir que tout le monde les respectera : les règles ne peuvent pas — et ne doivent pas ! — freiner le progrès. Les développeurs travaillant dans des entreprises aux politiques strictes (par exemple, qui interdisent l’IA ou ne l’autorisent que dans certains cas) les contournent souvent pour profiter malgré tout des avantages de l’IA. En fait, le rapport 2023 de Snyk sur la sécurité du code généré par l’IA révèle que 80 % des développeurs contournent les politiques de sécurité de leur entreprise pour utiliser l’IA. 

Au vu de ces informations, partez du principe que la plupart de vos développeurs utilisent l’IA, dans une certaine mesure, dans leur travail. Pour garder le contrôle sur les outils utilisés dans le développement logiciel et sur leur utilisation, mieux vaut permettre aux développeurs d’utiliser les assistants de codage par IA en toute sécurité, afin d’améliorer leur productivité. Pour le code assisté par l’IA, vous devez disposer d’un système qui vous permet de tout vérifier selon les meilleures pratiques connues. Une solution intégrée de pointe comme Snyk, approuvée par Gartner et Forrester, constitue un moyen fiable de tester et de valider votre code pour limiter les risques liés à l’IA. Voici comment : 

  1. Les développeurs utilisent des outils d’IA pour générer du code dans l’IDE. 

  2. Snyk analyse le code en temps réel et signale les vulnérabilités. 

  3. Snyk recommande des correctifs que vous pouvez appliquer en un clic. 

« Il faut toute une équipe pour garantir la qualité et la sécurité du développement logiciel », explique Sascha. « Mais quand votre équipe comprend les outils qu’elle utilise et sait mettre en place les contrôles et les équilibres nécessaires pour que la sécurité ne soit jamais reléguée au second plan, tout devient beaucoup plus simple et moins stressant. » 

Snyk : confiance et sécurité pour la génération de code par l’IA 

Pratiquer le développement logiciel assisté par l’IA sans outil d’analyse automatisée du code, c’est comme travailler sur un chantier sans casque. Vous devez mettre en place les bonnes mesures de sécurité pour protéger vos employés, vos clients et votre entreprise. 

Snyk offre cette couche de protection essentielle, depuis votre IDE jusqu’à l’ensemble du pipeline CI/CD. Découvrez 10 bonnes pratiques pour développer en toute sécurité avec l’IA et apprenez à équilibrer les personnes, les processus et la technologie pour préparer l’avenir du développement logiciel.

Commencez à sécuriser le code généré par l’IA

Créez gratuitement votre compte Snyk pour commencer à sécuriser le code généré par l’IA en quelques minutes. Vous pouvez aussi réserver une démonstration avec un expert pour découvrir comment Snyk répond à vos besoins en sécurité des développeurs.

Lire la suite

Blog

Les modèles de pointe ont trouvé les vulnérabilités. Seul l’attaquant a trouvé les chaînes d’exploitation.

L’analyse statique a détecté les failles, mais seuls des tests d’attaque en conditions réelles ont prouvé comment elles pouvaient être enchaînées pour provoquer des compromissions. Comparaison d’Evo COS, de Claude Security et de Claude Code Security.

feature insights context
Blog

Les attaques autonomes sont déjà là. La défense doit suivre leur rythme.

Les attaquants autonomes réduisent la fenêtre de défense. Découvrez comment la découverte, la correction, la validation et la prévention continues peuvent aider les équipes de sécurité à suivre le rythme.

Blog

Pourquoi les agents de codage IA créent-ils sans cesse des failles de contrôle d’accès ?

Les agents de codage IA peuvent générer une logique d’autorisation qui compile et passe la revue, tout en exposant les données d’un tenant à un autre. Découvrez pourquoi les failles de contrôle d’accès sont difficiles à détecter et comment les prévenir.