Skip to main content

Automatisez l’analyse des vulnérabilités dans AWS CodePipeline avec Snyk

Écrit par
Headshot of Jay Yeras

Jay Yeras

blog hero aws codepipeline snyk

8 juin 2021

0 minutes de lecture

Permettre aux développeurs de créer des applications sécurisées a toujours été la mission de Snyk. Nous vous aidons à détecter et corriger les vulnérabilités dans votre code et vos dépendances open source, tout en permettant aux équipes de développement d’intégrer facilement les tests de sécurité à leurs pipelines de livraison automatisés. Snyk propose également des intégrations natives avec les principales plateformes CI/CD, telles que Jenkins, TeamCity et CircleCI.

Dans cette optique, nous sommes heureux d’annoncer la nouvelle intégration de Snyk avec AWS CodePipeline. AWS CodePipeline, qui fait partie de la suite d’outils pour développeurs d’AWS, permet aux organisations de fournir rapidement des fonctionnalités aux utilisateurs en automatisant le processus de mise en production des logiciels.

Grâce à cette nouvelle intégration, les développeurs qui utilisent AWS CodePipeline n’ont plus besoin de quitter leur console pour analyser les vulnérabilités. Les analyses de sécurité automatisées de Snyk Open Source sont disponibles directement dans AWS. De plus, cette intégration évite d’avoir à intégrer d’autres outils de développement, comme AWS CodeCommit.

Dans le cadre de son service de livraison continue, Snyk permet aux utilisateurs d’AWS CodePipeline d’automatiser la sécurité lors des étapes de compilation, de test et de déploiement. En tant que partenaires, AWS et Snyk aident leurs utilisateurs et clients communs à intégrer la sécurité plus facilement et plus efficacement à leurs pipelines CI/CD modernes et automatisés.

Premiers pas avec AWS CodePipeline

Vous pouvez lancer l’intégration de Snyk avec AWS CodePipeline directement depuis la console AWS CodePipeline. Si vous n’avez pas encore de compte Snyk, vous pouvez en créer un gratuitement.

Depuis la console AWS CodePipeline, vous pouvez ajouter Snyk à un pipeline nouveau ou existant en quelques étapes simples. Après l’étape Source, vous pouvez ajouter une étape Scan. Cliquez sur Edit, puis ajoutez une étape Scan. Cliquez ensuite sur Add an Action Group pour ouvrir la fenêtre Edit Action. Vous pouvez alors nommer l’action, cliquer sur la flèche de la liste déroulante Action Provider, sélectionner Snyk, puis cliquer sur Connect with Snyk pour lancer la procédure de connexion.

Boîte de dialogue de modification de l’action AWS CodePipeline, avec Snyk mis en évidence dans la liste des fournisseurs d’actions pour une action d’analyse
Snyk est désormais disponible dans la liste déroulante des fournisseurs d’actions d’AWS CodePipeline.

Vous devrez ensuite saisir vos identifiants Snyk pour autoriser AWS CodePipeline à analyser votre code open source.

Configuration de l’action Snyk dans AWS CodePipeline avec une fenêtre de connexion Snyk proposant les options GitHub, Bitbucket, Google, SSO et Azure AD

Une fois Snyk connecté, vous pouvez configurer l’intégration en définissant des seuils de gravité pour le signalement des problèmes. Vous pouvez, par exemple, choisir de faire échouer les compilations uniquement en cas de vulnérabilités critiques. Vous pouvez également analyser l’ensemble du code de votre application ou vous concentrer sur ses fichiers manifestes.

Fenêtre de configuration de Snyk pour AWS CodePipeline affichant la sélection d’une organisation, les niveaux de gravité et un bouton Continuer

Analyse des résultats 

Dès qu’une analyse est lancée, Snyk examine le fichier manifeste de l’application et compare la liste de ses dépendances à la base de données de vulnérabilités de Snyk. Une fois l’analyse terminée, les résultats s’affichent immédiatement dans AWS CodePipeline. Vous pouvez ainsi voir les problèmes détectés et savoir comment les corriger directement depuis votre console.

Résultats de l’analyse du pipeline AWS indiquant la réussite de l’analyse, les détails de configuration et les résultats de la mise à jour d’une image de base Node.js
Vue d’ensemble du projet Snyk présentant 78 problèmes, dont une vulnérabilité de gravité élevée permettant l’écriture arbitraire de fichiers dans adm-zip.

Snyk fournit des rapports détaillés sur votre code open source. Accédez à Projects, puis sélectionnez View Report pour définir la fréquence à laquelle le projet est analysé à la recherche de vulnérabilités.

Dans View Report, vous pouvez également sélectionner l’onglet Dependencies pour voir quelles dépendances open source sont utilisées pour créer l’application. En analysant son fichier manifeste, Snyk génère un arbre complet des dépendances et identifie avec précision les dépendances directes et transitives (les dépendances transitives sont à l’origine de 78 % des vulnérabilités détectées par Snyk). Snyk peut ainsi montrer exactement comment une vulnérabilité a été introduite dans l’application.

Snyk recommande des correctifs qui réduisent considérablement le nombre de vulnérabilités dans votre code open source, avec un minimum de modifications. Plusieurs bibliothèques de remplacement sont souvent disponibles, mais Snyk recommande la version de dépendance la plus adaptée pour éliminer le plus grand nombre de vulnérabilités. Snyk aide également à corriger les problèmes des dépendances transitives en limitant au maximum les mises à niveau nécessaires des dépendances directes. Les développeurs peuvent ainsi accélérer considérablement le triage sans provoquer de problèmes de compatibilité.

Dans la console AWS CodePipeline, vous pouvez également consulter les données sur les vulnérabilités, organisées selon leur score de priorité, la présence d’exploits connus et d’autres caractéristiques. Vous pouvez filtrer les résultats pour n’afficher que les problèmes critiques, les vulnérabilités pour lesquelles un correctif existe, ou d’autres éléments afin de prioriser vos efforts de correction.

Le partenariat durable de Snyk avec AWS DevOps

AWS est un partenaire essentiel pour aider Snyk à accomplir sa mission : donner la priorité à la sécurité des développeurs. De nombreux acheteurs de technologies connaissent bien l’écosystème AWS et lui font confiance. La relation entre AWS et Snyk remonte à la création de notre entreprise en 2015 et se renforce chaque jour. Snyk est très fier d’être partenaire APN Advanced Tier, partenaire de lancement du programme APN Global Startup et client AWS.

Nous avons également récemment annoncé des intégrations avec la suite d’outils AWS liés à Kubernetes : Amazon Elastic Container Registry (ECR) et Amazon Elastic Kubernetes Service (EKS). Ces intégrations vous permettent d’analyser les conteneurs Kubernetes avec Snyk sans quitter la console AWS.

Au-delà de Kubernetes, Snyk propose des intégrations produit avec les solutions AWS DevOps, serverless et de conteneurs. Dans les semaines et les mois à venir, AWS et Snyk proposeront d’autres solutions intégrées et du contenu technique utile. Pour en savoir plus, consultez notre page dédiée à AWS.

AWS et Snyk ont tout mis en œuvre pour faciliter la détection et la correction des vulnérabilités dans le code open source hébergé dans AWS CodePipeline. Cette intégration simple à utiliser permet de détecter les problèmes plus tôt et d’accélérer l’ensemble de votre cycle de développement logiciel. Votre organisation peut désormais renforcer sa posture de sécurité sans entraver le travail des développeurs.

Vous souhaitez en savoir plus sur l’analyse des workflows AWS CodePipeline ? Consultez notre documentation complète pour commencer.

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis de capture du drapeau en regardant à la demande notre atelier virtuel d’initiation.