Skip to main content

De zéro à héros de la sécurité : détectez les vulnérabilités connues dans vos projets GitHub

Écrit par
prioritize vulns

12 novembre 2020

0 minutes de lecture

Vous 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.

Getting Started with Snyk: Import and Test a GitHub Repository

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 :

Écran d’inscription proposant une création de compte gratuite avec GitHub ou Google, ainsi que des options SSO, Bitbucket, Azure AD et Docker ID.

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 :

Capture d’écran demandant où le code est hébergé, avec les options GitHub et Bitbucket Cloud pour tester les dépendances du projet.

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.

Écran d’accès aux dépôts GitHub proposant les dépôts publics et privés ou uniquement publics, les options de sécurité Snyk et un bouton Continuer.

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.

Écran de sélection des dépôts GitHub dans Snyk, affichant l’organisation simonsnyk avec goof sélectionné, ainsi que go-sample et exploit-workshop.

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.