L’utilisation de collections de code pré-écrites dans votre projet, appelées bibliothèques ou packages, est une pratique courante. Ces modules de code vous font gagner un temps considérable, vous permettant ainsi de vous concentrer sur les aspects nouveaux et créatifs de votre travail plutôt que de coder de gros composants réutilisables depuis zéro. Lorsqu’ils sont ajoutés à votre projet, ils sont appelés dépendances, car votre travail dépend du code qu’ils contiennent.
Même si l’utilisation de dépendances est parfaitement normale, ces dernières peuvent contenir des vulnérabilités de code, qui pourraient à leur tour compromettre la sécurité de votre projet. Heureusement, des outils tels que Dependabot peuvent détecter les vulnérabilités des dépendances, générer des demandes de tirage pour les corriger et même empêcher qu’elles ne se reproduisent à l’avenir. Dans ce tutoriel, vous allez apprendre à activer et utiliser Dependabot et ses fonctionnalités pour sécuriser vos dépendances.
Configuration du référentiel de démonstration
Commençons par dupliquer (fork) un projet de démonstration présentant certaines vulnérabilités de dépendances. Comme nous ne déploierons pas le projet, cet exercice ne présente aucun risque pour la sécurité.
- Naviguez jusqu’au référentiel
new2code/dependabot-demo
. - En haut à droite de la page, cliquez sur Fork.
- Sur la page qui s’affiche, cliquez sur Créer une duplication (fork).
Activation des fonctionnalités de sécurité des dépendances
Maintenant que nous avons configuré le projet, configurons Dependabot afin de trouver et de créer des correctifs pour les dépendances non sécurisées.
- Dans la barre de navigation de votre référentiel, cliquez sur Sécurité.
- Dans la ligne « Dependabot alerts », cliquez sur Activer Dependabot alerts.
- Dans la section « Dependabot », à côté de « Dependabot alerts », cliquez sur Activer.
- Dans la fenêtre contextuelle qui s’affiche, lisez l’instruction concernant l’activation du graphe des dépendances, puis cliquez sur Activer.
- Pour autoriser Dependabot à ouvrir automatiquement des demandes de tirage afin de corriger les vulnérabilités de dépendance, à côté de « Dependabot security updates », cliquez sur Activer.
Affichage de vos dépendances non sécurisées
Une fois Dependabot configuré, identifions les dépendances qui contiennent des vulnérabilités.
- Dans la barre de navigation de votre référentiel, cliquez sur Sécurité.
- Pour afficher les Dependabot alerts pour votre référentiel, dans le menu latéral, cliquez sur Dependabot.
- Pour afficher des informations détaillées sur une alerte, cliquez sur le titre de l’alerte. Pour cet exercice, cliquez sur Injection de commande dans hot-formula-parser.
Comprendre une alerte Dependabot
Maintenant que Dependabot a identifié certaines vulnérabilités dans nos dépendances, analysons les informations fournies dans l’alerte « Injection de commande dans hot-formula-parser ».
Résumé des correctifs
Sous le titre de l’alerte, vous trouverez un bref résumé du correctif apporté à cette vulnérabilité, y compris le nombre d’alertes qu’il va fermer et l’emplacement de la vulnérabilité. Dans notre cas, l’alerte nous indique que la mise à niveau du package hot-formula-parser
vers la version 3.0.1 corrigera une alerte Dependabot identifiée dans notre fichier javascript/package-lock.json
.
Cette section suit également la progression de Dependabot dans la création d’une demande de tirage pour corriger la vulnérabilité. Une fois qu’un correctif est disponible, vous verrez un bouton intitulé « Vérifier le correctif de sécurité » renvoyant vers la demande de tirage.
Détails de la vulnérabilité
Sous les détails du correctif, Dependabot fournit plus d’informations sur la vulnérabilité, notamment :
- Le nom du package vulnérable
- Les versions du package qui contiennent la vulnérabilité
- La version du package qui corrige la vulnérabilité
- Les détails sur le type de vulnérabilité et comment elle peut être exploitée
Dans cette alerte, nous pouvons voir que la fonction parse
du package hot-formula-parser
ne vérifie pas correctement que les entrées utilisateur sont sécurisées avant de les exécuter, ce qui permet aux attaquants d’exécuter des commandes malveillantes.
Conseil
Si vous ne comprenez pas parfaitement les détails de la vulnérabilité, essayez de demander à Copilot Chat de vous les expliquer.
Durée
Enfin, vous pouvez voir la chronologie de l’alerte en bas de la page. Notre chronologie contient actuellement l’horodatage du moment où Dependabot a ouvert l’alerte, et sera mise à jour automatiquement lorsque nous corrigerons la vulnérabilité.
Sécurisation de vos dépendances
Pour sécuriser rapidement et facilement notre projet, appliquons le correctif Dependabot créé.
-
Dans le champ d’alerte contenant le résumé du correctif, cliquez sur Passer en revue le correctif de sécurité.
-
Sur la page de demande de tirage, cliquez sur Fichiers modifiés pour voir les modifications apportées par Dependabot. Après avoir passé en revue les modifications, cliquez sur Conversation pour revenir à la vue d’ensemble de la demande de tirage.
-
Pour appliquer le correctif, en bas de la page, cliquez sur Fusionner la demande de tirage, puis sur Confirmer la fusion.
Une fois la demande de tirage fusionnée, l’alerte Dependabot associée se fermera automatiquement et l’heure du correctif sera ajoutée à la chronologie.
Prévenir les vulnérabilités futures dans les dépendances
Pour éviter que des dépendances non sécurisées ne se développent, autorisons Dependabot à ouvrir automatiquement des demandes de tirage afin de mettre à jour vos dépendances dès que de nouvelles versions sont publiées.
- Dans la barre de navigation de votre référentiel, cliquez sur Paramètres.
- Dans la section « Sécurité » de la barre latérale, cliquez sur Advanced Security.
- À côté de « Dependabot version updates », cliquez sur Activer.
Étapes suivantes
Maintenant que vous avez essayé Dependabot et ses fonctionnalités sur un référentiel de démonstration, activez-les sur vos propres projets pour trouver, corriger et prévenir facilement les vulnérabilités liées aux dépendances.