Les correctifs de sécurité générés par l’IA dans Snyk Code sont désormais disponibles
9 mai 2023
0 minutes de lectureDétecter et corriger les problèmes de sécurité dans votre code comporte son lot de difficultés. La principale consiste à modifier effectivement votre code pour résoudre le problème. Le processus est complexe : trier les tickets de sécurité, comprendre la signification des résultats et leur origine dans le code source, puis déterminer comment corriger le problème afin de reprendre le développement. Pas d’inquiétude : l’IA va tout faire, n’est-ce pas ? Enfin, quand elle aura appris à produire du code sécurisé par défaut, sans reprendre le travail d’autrui protégé par la propriété intellectuelle… ni diffuser votre propre propriété intellectuelle dans le monde entier.
Lors de notre événement SnykLaunch d’avril, nous avons dévoilé notre toute dernière fonctionnalité : l’IA propose un correctif directement dans l’IDE. Le développeur n’a plus qu’à cliquer sur la suggestion pour appliquer automatiquement le correctif dans son code. Aujourd’hui, nous sommes heureux d’annoncer que cette fonctionnalité de correction basée sur l’IA est désormais disponible en bêta ouverte ! Les correctifs IA de Snyk sont spécialement conçus pour résoudre des problèmes de sécurité, sans risque d’atteinte à la propriété intellectuelle ni de transmission de votre code propriétaire à des tiers.
Suggestions de correctifs de sécurité générées par l’IA de Snyk dans votre IDE : deux exemples

Dans l’exemple ci-dessus, Snyk Code détecte une injection SQL. Ce problème à haut risque peut être particulièrement difficile à corriger, car l’appel à la base de données peut se trouver dans une partie du code complètement distincte de celle où sont assemblées la requête et les variables. Remonter à la source de ce problème de sécurité est un défi ; déterminer comment modifier le code pour le corriger demande encore plus de travail. Ici, nous voyons la suggestion de correctif de l’IA de Snyk s’en charger : elle remonte à la source du problème et propose un correctif dans notre IDE.

Dans ce deuxième exemple, des identifiants codés en dur sont détectés dans le code source. Le correctif de l’IA de Snyk les supprime et les remplace par une variable de session.
Une IA spécialement conçue pour des correctifs de sécurité fiables
Les démonstrations d’outils d’IA capables de générer du code qui semble prometteur ne manquent pas. Mais à mesure que les ingénieurs et les experts en sécurité approfondissent le sujet et en étudient les implications, plusieurs questions se posent :
Puis-je faire confiance au code généré par l’IA et être sûr qu’il ne crée pas de nouveaux problèmes de sécurité ?
Et si l’IA apprend à partir de code disponible dans des dépôts publics, est-ce que je risque d’intégrer du code protégé par le droit d’auteur d’autrui ou provenant de projets open source soumis à des licences restrictives ?
Ces deux préoccupations sont légitimes. Or, les outils d’IA qui génèrent du code dans ces démonstrations ne précisent pas explicitement la provenance du code, s’il est effectivement sécurisé, ni les éventuelles restrictions de licence dont il peut hériter.
Puisque les suggestions de correctifs de l’IA de Snyk visent à résoudre les problèmes de sécurité, nous avons voulu développer cette fonctionnalité en tenant compte de ces préoccupations. Ainsi, nos modèles d’IA sont entraînés uniquement sur des projets open source dont le code est soumis à des licences open source explicitement permissives. De plus, les suggestions de correctifs de l’IA de Snyk sont des modifications ciblées et limitées, plutôt que de longues portions de code générées. Les démonstrations ci-dessus illustrent les types de suggestions de correctifs formulées par l’IA de Snyk.
Pour éviter que les correctifs de l’IA de Snyk n’introduisent de nouveaux problèmes, le moteur d’IA les soumet au moteur de sécurité Snyk Code avant de les proposer au développeur, afin de vérifier que : (1) le correctif résout le problème concerné et (2) il n’introduit aucun nouveau problème. Le correctif n’est proposé au développeur que lorsque la boucle de rétroaction des tests de Snyk Code confirme que le résultat est fiable. Et, en tant que développeur, vous gardez toujours le contrôle : c’est vous qui décidez d’appliquer ou non le correctif.
Enfin, des questions se posent sur la sécurité et le traitement de votre propre code lorsque vous utilisez l’IA. Les modèles vont-ils apprendre à partir de mon code et, par conséquent, risquent-ils de le partager avec d’autres, ainsi que ma propriété intellectuelle et mes informations sensibles ? L’IA de Snyk ne conserve pas le code de nos clients au-delà de la mise en cache temporaire nécessaire à l’analyse de sécurité. Nos politiques sont clairement expliquées dans notre article « Comment Snyk traite vos données », qui précise notamment notre politique en matière d’entraînement de l’IA : « Snyk Code n’utilise aucun code client (1) pour entraîner ses moteurs ni (2) pour en extraire des exemples de correctifs possibles. »
Comment activer les suggestions de correctifs de l’IA de Snyk
Dans cette première bêta ouverte, cette nouvelle fonctionnalité est disponible pour JavaScript via les plugins IDE de Snyk pour Visual Studio Code et Eclipse. Nous étendrons progressivement la prise en charge à davantage de langages et continuerons à améliorer l’expérience. Pour recevoir des suggestions de correctifs, vous devez activer la fonctionnalité dans l’onglet Snyk Preview.
Pensez à installer ou à mettre à jour l’extension Snyk pour Visual Studio Code ou le plugin Snyk pour Eclipse. Pour vous assurer d’utiliser la dernière version, pensez à redémarrer votre IDE.
