Skip to main content

Détectez, corrigez automatiquement et hiérarchisez intelligemment les failles avec les outils de sécurité du code basés sur l’IA de Snyk

24 octobre 2024

0 minutes de lecture

Au cours de l’édition 2024 de Snyk Launch, nous avons annoncé la disponibilité générale de la fonctionnalité de correction automatique de Snyk Code, DeepCode AI Fix, basée sur notre IA DeepCode AI ! Pour célébrer cette étape, voyons ensemble comment nos fonctionnalités enrichies par l’IA rendent notre approche de la sécurité des applications unique.

L’IA est sur toutes les lèvres et se retrouve dans une myriade d’applications offrant autant de solutions que de problèmes. La sécurité des applications n’est pas épargnée par cette révolution, et la question de la sécurité du code reste essentielle. En effet, l’IA a aggravé certains risques et en a introduit de nouveaux, notamment en permettant l’écriture automatisée de grandes quantités de code

Sécurité des applications moderne pour le développement logiciel assisté par l’IA

L’accélération du développement, les évolutions rapides et la multiplication inédite des problématiques de sécurité induits par l’IA imposent d’adopter une nouvelle approche de la sécurité des applications. Pour étendre efficacement la sécurité des applications et ne pas se laisser dépasser par l’IA, il devient urgent d’adopter le principe de shift-left et de hiérarchiser les problèmes plus intelligemment. Pour y parvenir, nous avons besoin d’outils de sécurité basés sur l’IA nous donnant les possibilités suivantes :

1. Correction rapide des failles, directement dans l’IDE

Pour suivre le rythme imposé par l’IA, nous devons agir vite et tôt. Le principe de shift-left, qui consiste à réaliser les analyses de sécurité directement dans l’IDE, constitue la première partie de la solution. Cette stratégie permet d’accélérer le développement en évitant de devoir compiler le code avant son analyse. Il devient ainsi possible de corriger immédiatement les problèmes, de manière transparente, sans devoir changer de contexte

Snyk Code, un outil SAST centré sur les développeurs et basé sur notre IA propriétaire, DeepCode AI, est une solution rapide et proactive. Snyk Code s’exécute dans votre IDE et permet ainsi aux développeurs d’éliminer les problèmes bien avant qu’ils ne se multiplient dans votre pipeline, où leur résolution devient alors coûteuse et complexe. 

2. Détection et correction automatiques pour plus de rapidité, d’envergure et de précision

Il ne suffit pas de détecter les problèmes de sécurité du code, il faut aussi les corriger. Pour y parvenir efficacement et correctement, les résultats de vos analyses doivent être fiables. Un bon outil de détection ne présente malgré tout qu’un intérêt limité s’il ne permet pas de corriger automatiquement les erreurs détectées. De la même façon, les performances d’un système de correction des vulnérabilités, aussi bon soit-il, dépendent de l’outil de détection auquel il est associé. Ces deux éléments doivent fonctionner ensemble et sans heurts.

Les outils basés sur l’IA permettant d’accélérer considérablement la détection et la correction des vulnérabilités générées par les outils de codage assistés par l’IA et du code écrit par un LLM-. Pour pleinement profiter de la vitesse et de la capacité de traitement de ces outils, assurez-vous de leur précision. En effet, un outil dont les résultats sont fiables vous évitera de devoir revenir sur le code déjà analysé, une obligation qui limite l’intérêt des analyses rapides. 

Notre plateforme DevSecOps Snyk Code intègre DeepCode AI Fix, une fonctionnalité de correction automatique des vulnérabilités basée sur un LLM. Cet outil permet aux développeurs d’utiliser les outils d’IA générative en toute sécurité en détectant et corrigeant automatiquement le code non sûr sans perturber leur travail. Une entreprise du Fortune 100 est parvenue à réduire ses délais de correction de 84 % avec Snyk Code. Le plug-in Snyk Code pour les IDE lui a permis d’étendre rapidement sa stratégie de sécurité du code à l’ensemble de son équipe.

Détection : analyse SAST basée sur l’IA 

L’IA spécialisée de Snyk Code a été créée, entraînée et affûtée pour un seul et unique objectif : la sécurité. La précision de ses résultats (permise par ses données d’entraînement sélectionnées avec soin et la vitesse de son analyse) illustre bien cette spécialisation. Les analyses SAST de Snyk Code sont 50 fois plus rapides que celles des outils d’ancienne génération et 2,4 fois plus rapides que celles des autres outils modernes. De plus, Snyk Code atteint une précision près de 20 points de pourcentage supérieure à celle d’une célèbre solution SAST sur le code généré par l’IA d’après l’outil d’évaluation OWASP. Cette statistique indique que l’IA de Snyk Code parvient à réduire les faux positifs (qui font perdre du temps) et les faux négatifs (qui vous font courir un risque). Les résultats de ses analyses sont plus précis, ce qui fait réellement gagner du temps aux développeurs. 

Correction : correction automatique du code grâce à l’IA 

Pour profiter pleinement de la rapidité de Snyk Code, les développeurs doivent aussi avoir accès à des fonctions de correction performantes. En effet, si la détection a gagné en efficacité, la correction des risques de sécurité repérés reste complexe et chronophage. La multiplication des vulnérabilités induite par l’accélération de la création de code via l’IA vient encore allonger ces délais. Les développeurs sont contraints d’identifier les problèmes de sécurité et de déterminer comment les corriger efficacement, ce qui brise leur élan, limite le nombre de corrections effectuées, aggrave la dette de sécurité et entraîne l’application de contournements hâtifs et non sécurisés.

Préparez-vous aux assistants de codage de demain avec Snyk

Découvrez ce que sont les assistants de codage et la marche à suivre pour les intégrer dans vos workflows de développement.

Pour nettoyer votre code, épurer votre dette de sécurité et éviter de passer toujours plus de temps sur la correction des vulnérabilités, vous devez déployer un outil SAST basé sur l’IA qui automatise cette opération et s’intègre de manière transparente dans vos workflows de développement. C’est exactement ce que fait DeepCode AI Fix, la fonction de correction automatisée de Snyk Code. DeepCode AI Fix est aujourd’hui disponible en accès limité, mais sera accessible à tous d’ici le 29 octobre 2024.

Comment activer DeepCode AI Fix depuis les paramètres Snyk

Activez Snyk Code Fix dans vos paramètres Snyk comme indiqué dans l’image ci-dessus dès le 29 octobre. Si vous n’avez pas encore Snyk Code, créez un compte Snyk, apprenez à utiliser Snyk dans votre IDE et commencez à corriger votre code efficacement, à la vitesse de l’IA.

Une correction automatique et plus sûre

DeepCode AI Fix présente quelques suggestions de corrections. Le développeur clique sur Appliquer la correction après avoir sélectionné une suggestion.

DeepCode AI Fix propose jusqu’à 5 suggestions de correction pour chaque problème signalé par Snyk Code. L’utilisateur sélectionne l’option la plus adaptée à son cas et l’applique en un clic. Il a la certitude que ce correctif n’introduira pas d’autres problèmes de sécurité. C’est là que DeepCode AI Fix se distingue. Notre solution ne se contente pas de proposer des correctifs en s’appuyant sur l’IA générative. 

En effet, nous sommes des spécialistes de sécurité et avons parfaitement conscience des limites de cette technologie. Et pour les contourner, nous avons imaginé une IA propriétaire à plusieurs modèles qui combine différentes méthodologies d’IA pour exploiter leurs points forts et atténuer leurs points faibles. DeepCode AI Fix se montre ainsi plus fiable que les solutions de correction automatique qui reposent uniquement sur des LLM ou un seul modèle.

De plus, l’ensemble des corrections sont automatiquement contrôlées par l’IA symbolique basée sur des règles de Snyk Code avantd’être présentées au développeur. Autrement dit, DeepCode AI Fix s’exécute dans votre IDE, et Snyk Code en analyse automatiquement les suggestions de correction. Vous n’avez donc pas besoin de compiler votre code et de l’analyser manuellement après l’application d’un correctif. Dès le départ, les développeurs peuvent voir les suggestions et appliquer celles qu’ils préfèrent en un clic.

Cerise sur le gâteau ? Le LLM de Snyk Code AI Fix, comme le reste des IA de Snyk, est amélioré, entraîné et affûté en continu par nos spécialistes de la sécurité, mais aussi hébergé sur nos serveurs. Pour entraîner DeepCode AI, nous veillons à n’utiliser que du code open source dont les vulnérabilités ont été corrigées et sous des licences permissives. Nous n’entraînons jamais notre IA sur le code de clients. Par conséquent, toutes vos corrections seront extrêmement fiables, car 100 % centrées sur la sécurité du code (comme vous le savez, un code fonctionnel et un code sécurisé n’ont rien à voir) et ne violent aucun droit de propriété intellectuelle. Le fait que Snyk héberge ses propres IA garantit également que vos données ne seront pas envoyées sur les serveurs d’un tiers (au hasard, OpenAI), sur lesquels vous perdez la main sur votre propriété intellectuelle et celle de vos clients. Snyk ne conserve pas de données client.

Des corrections automatiques plus rapides et plus précises

DeepCode AI Fix domine le marché de la correction automatique sur les plans de la vitesse et de la précision grâce aux améliorations constantes apportées à son LLM.

Les récentes optimisations du LLM de DeepCode AI Fix et l’ajout de nouveaux langages pour les 10 principales vulnérabilités de l’OWASP (8 langages au total) ont permis d’obtenir des progrès conséquents sur ces deux indicateurs. Ces améliorations ont également permis le déploiement de fonctionnalités plus complètes. DeepCode AI Fix prend actuellement en charge les langages suivants :

  • JavaScript

  • TypeScript

  • Java

  • Python

  • C/C++ (prise en charge partielle)

  • C# (prise en charge partielle)

  • Go (prise en charge partielle)

  • APEX (prise en charge partielle)

La mention « prise en charge partielle » signifie que moins de 10 règles couvrent les 10 principales vulnérabilités de l’OWASP. Java, JavaScript, TypeScript et Python seront disponibles pour tous dès le 29 octobre. Les autres seront en accès limité. La nouvelle expérience DeepCode AI Fix sera disponible dans VS Code et les IDE JetBrains. D’autres IDE seront pris en charge ultérieurement.

Par ailleurs, nous investissons massivement dans l’innovation pour préparer la plateforme DevSecOps de Snyk aux évolutions de demain. Ces investissements ont donné naissance il y a peu à CodeReduce, une technologie en attente de brevet qui améliore de manière notable les performances de tous les grands modèles d’IA que nous avons testés, y compris le très populaire GPT-4 d’OpenAI. 

CodeReduce commence par analyser le code pour détecter les parties touchées par l’anomalie signalée et celles qui donnent du contexte sur cette anomalie. Il donne ensuite la priorité à ces différents segments de code nécessaires à la création de la correction en indiquant à DeepCode AI Fix de se concentrer sur ces seuls segments. Cette stratégie permet de réduire considérablement la quantité de code à traiter, ce qui a deux conséquences : elle améliore la qualité des suggestions/réduit les hallucinations et limite le temps de traitement de DeepCode Ai Fix. 

Cette hiérarchisation intelligente qui paraît tout droit venue du futur a permis à CodeReduce d’améliorer la précision de GPT-4 jusqu’à 20 % et est le secret de la rapidité inégalée de DeepCode AI Fix, ainsi que de sa capacité à créer des corrections qui n’introduisent pas d’autres problèmes de sécurité.

Comparaison de la précision :

Snyk offre une meilleure précision que les autres outils. Ses corrections sont performantes dans diverses catégories d’analyse du code, avec une amélioration pouvant atteindre 20 % sur la plupart des indicateurs.

3. Hiérarchisation intelligente

Le dernier domaine stratégique que les outils de sécurité du code doivent traiter est la hiérarchisation intelligente. L’accélération du développement entraîne une hausse du nombre de vulnérabilités de sécurité et implique donc de cibler plus intelligemment celles qui doivent être corrigées. Si un outil peut assez facilement relever toute une série de problèmes, cette liste n’a pas grand intérêt pour l’équipe de sécurité et sa longueur peut lasser les développeurs. Pour être vraiment utiles, ces outils doivent organiser les résultats selon leur degré de priorité.

Chaque entreprise a ses propres priorités, méthodes de travail, configurations et profils de risque. Un risque important pour 70 % des entreprises n’en sera peut-être pas un pour la vôtre. Snyk a choisi de tenir compte de ces nuances pour aider les entreprises à avoir un impact maximal avec un effort minimal. Chez Snyk, nous savons qu’environ 7 % des problèmes de sécurité peuvent être réellement considérés comme critiques. Nous estimons donc que les équipes peuvent aller plus loin plus rapidement si nous les aidons à traiter en priorité ces problèmes. 

Notre approche unique d’élimination du bruit repose sur deux axes : nous signalons les risques les plus importants dans les analyses de Snyk Code pour simplifier les résultats et nous hiérarchisons ces risques via un score de risque dans Snyk Open Source et Snyk Container, en nous appuyant sur une approche holistique pour obtenir la meilleure précision possible.

Le score de risque Snyk mêle modèles binaires et probabilistes pour évaluer la probabilité d’exploitation active d’une vulnérabilité et son impact possible. Il prend également en compte plusieurs facteurs de risque objectifs et contextuels, comme l’atteignabilité, la maturité de l’exploit, les scores EPSS et CVSS, la criticité pour l’entreprise, etc.

L’analyse des vulnérabilités atteignables de Snyk, basée sur DeepCode AI, détermine si un problème est lié aux fonctions appelées par l’application. Si tel est le cas, le problème présente un risque d’exploitation plus élevé. L’analyse d’atteignabilité basée sur l’IA de Snyk peut accéder rapidement à notre base de données des vulnérabilités pour décortiquer les fonctions pertinentes et créer un graphe des appels permettant de déterminer si une fonction vulnérable d’un paquet open source est utilisée dans votre application. Cette stratégie permet d’identifier les risques de sécurité. 

Le score de risque de Snyk basé sur l’atteignabilité est actuellement disponible en bêta ouverte pour Snyk Open Source et Snyk Container. Cliquez ici pour en savoir plus sur l’analyse d’atteignabilité de Snyk.

Conclusion

Le secteur de la sécurité des applications se montre toujours plus complexe et concurrentiel, mais Snyk estime que la solution ne réside pas dans la multiplication de produits spécialisés. Ce combat organisé et structuré impose de suivre une approche consolidée, coordonnée et hiérarchisée dont les différents composants forment une plateforme unique capable de présenter de vastes quantités de données de manière pertinente et exploitable. 

Nous mettons la puissance de l’IA à profit pour faire ce que nous faisions déjà à la fois plus rapidement et plus efficacement, mais aussi pour offrir aux équipes une méthode de travail moderne, informée et efficace grâce à la priorisation.

La fonctionnalité de correction automatique du code de Snyk Code, DeepCode AI Fix, sera disponible pour tous plus tard ce mois-ci, le 29 octobre, et sera gratuite pendant une période limitée. Pour l’activer, rendez-vous dans vos paramètres et cherchez l’option DeepCode AI Fix dans le menu de gauche, comme indiqué dans l’image ci-dessous :

Comment activer DeepCode AI Fix depuis les paramètres Snyk

Si vous utilisez déjà Snyk Code, venez assister à notre webinaire sur les mises à jour des produits client qui se déroulera fin octobre. Vous pourrez y voir DeepCode AI Fix en action et découvrir sa vitesse, sa précision, sa simplicité d’utilisation et bien plus encore. Si vous venez de vous mettre à Snyk, réfléchissez encore ou avez simplement besoin de vous rafraîchir la mémoire, nous vous proposons une nouvelle leçon Snyk Learn expliquant comment détecter et corriger automatiquement les problèmes de sécurité sans délai et sans changer de contexte, directement dans votre IDE, avec Snyk Code.

Vous vous demandez comment Snyk, un des leaders mis en avant dans le rapport Gartner® Magic Quadrant™ 2023 sur les tests de sécurité des applications permet aux entreprises d’adopter l’IA en toute sécurité ? Vous souhaitez tester par vous-même la détection, la hiérarchisation et la correction automatique basées sur l’IA ? Créez un compte Snyk ici pour profiter d’un workflow plus proactif, simple, rapide et fluide sans attendre.

Résoudre les vulnérabilités du code généré par l’IA

Découvrez comment DeepCode AI Fix automatise la correction des failles de sécurité et s’intègre en toute transparence aux workflows de développement pour améliorer le taux de correction et réduire la dette de sécurité.

Best practices for AI in the SDLC

Download this cheat sheet today to learn best practices for how to leverage AI in your SDLC, securely.