De zéro à héros de la sécurité : détectez les vulnérabilités connues dans vos projets GitHub
12 novembre 2020
0 minutes de lectureVous utilisez GitHub pour vos projets ? Parfait ! Mais comment vous assurer que vos dépendances open source ne présentent aucune vulnérabilité ?
Dans cet article, nous vous expliquons comment créer un compte Snyk gratuit, importer votre premier projet GitHub dans Snyk et tester vos dépendances open source pour détecter les vulnérabilités connues. Si vous le souhaitez, vous pouvez suivre les étapes avec nous : nous partagerons les mêmes dépôts et la même application.
Si vous préférez regarder une vidéo, voici une version de 90 secondes de cet article. Je vous y présente les mêmes étapes pour créer un compte Snyk, importer un projet depuis GitHub et le tester pour la première fois.

Commençons par le début !
Je dois créer un nouveau compte. Je vais donc me connecter au site Snyk.io en cliquant sur l’option Se connecter dans le menu, en haut à droite de cette page, puis utiliser mon compte GitHub pour me connecter via l’une des options proposées, comme illustré ci-dessous :

Lors de la création du compte, je dois autoriser Snyk à consulter l’adresse e-mail associée à mon compte GitHub. Snyk m’enverra à cette adresse des informations pertinentes, comme des notifications de sécurité et des rapports concernant les projets que j’ai importés.
Une liste des méthodes les plus courantes pour importer des projets dans Snyk afin de les tester à la recherche de vulnérabilités va s’afficher, comme illustré ci-dessous :

Choisissez la source la mieux adaptée à votre environnement : le processus est très similaire.
Dans mon cas, le projet que je veux tester se trouve sur GitHub. Je vais donc sélectionner cette option. Je veux que Snyk analyse régulièrement mes projets et crée automatiquement des pull requests de correction dans mon dépôt, afin que les problèmes de sécurité puissent être résolus automatiquement. Pour cela, je dois accorder des autorisations supplémentaires depuis mon compte GitHub. Je vais le faire en acceptant les options par défaut, comme le montre la capture d’écran suivante. Vous pouvez bien sûr les désactiver si vous le préférez. Cependant, vous ne pourrez alors pas utiliser les fonctionnalités plus avancées et utiles de Snyk pour créer des pull requests de correction.

Je dois ensuite sélectionner le projet goof dans la liste de mes dépôts GitHub et l’ajouter à mon compte Snyk. Si vous souhaitez suivre les étapes, vous devez forker le projet goof de Snyk. Une fois que c’est fait, sélectionnez ce projet dans votre propre liste de dépôts pour les étapes suivantes. Dans l’image ci-dessous, vous pouvez voir que j’ai sélectionné le projet goof dans la liste des dépôts trouvés par Snyk sous mon compte GitHub. Je vais cliquer sur Ajouter les dépôts sélectionnés, en haut à droite de l’écran, pour l’importer dans Snyk.

Snyk va lire le fichier manifeste package.json du projet goof, car il s’agit d’un projet Node.js, puis créer un graphe de dépendances. Celui-ci inclut les dépendances directes du projet goof, ainsi que les dépendances transitives dont ces dépendances directes dépendent.
L’analyse se poursuit aussi loin que nécessaire pour construire le graphe de dépendances complet. Snyk teste ces dépendances à l’aide de la Snyk Vulnerability Database et nous fournit un rapport complet. Le tableau de bord indique à lui seul que 60 problèmes de sécurité ont été détectés au total, dont 31 vulnérabilités critiques.
Impressionnant, non ? Essayez dès aujourd’hui !
La prochaine fois, nous examinerons cette liste de vulnérabilités plus en détail et vous montrerons comment les corriger en créant automatiquement des pull requests de correction.
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
