Skip to main content

Recherchez et corrigez votre première vulnérabilité de dépendance

Découvrez comment sécuriser vos dépendances en activant Dependabot et ses fonctionnalités dans un référentiel de démonstration.

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

  1. Naviguez jusqu’au référentiel new2code/dependabot-demo.
  2. En haut à droite de la page, cliquez sur Fork.
  3. 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.

  1. Dans la barre de navigation de votre référentiel, cliquez sur Sécurité.
  2. Dans la ligne « Dependabot alerts », cliquez sur Activer Dependabot alerts.
  3. Dans la section « Dependabot », à côté de « Dependabot alerts », cliquez sur Activer.
  4. Dans la fenêtre contextuelle qui s’affiche, lisez l’instruction concernant l’activation du graphe des dépendances, puis cliquez sur Activer.
  5. 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.

  1. Dans la barre de navigation de votre référentiel, cliquez sur Sécurité.
  2. Pour consulter les Dependabot alerts de votre référentiel, dans le menu latéral, cliquez sur Dependabot.
  3. 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é du correctif

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 les progrès de Dependabot dans la création d’un pull request pour corriger la vulnérabilité. Une fois qu’un correctif est disponible, vous verrez un bouton intitulé «  Vérifier le correctif de sécurité » qui mène à la pull request.

Capture d’écran de la section récapitulative des correctifs d’une alerte Dependabot.

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

Capture d’écran de la section détaillant la vulnérabilité d’une alerte Dependabot.

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 à Tchat Copilot 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é.

Capture d’écran de la chronologie d’une alerte Dependabot.

Sécurisation de vos dépendances

Pour sécuriser rapidement et facilement notre projet, appliquons le correctif Dependabot créé.

  1. Dans le champ d’alerte contenant le résumé du correctif, cliquez sur Passer en revue le correctif de sécurité.

  2. Sur la page de la pull request, 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 à l'aperçu de la pull request.

  3. Pour appliquer la mise à jour, en bas de la page, cliquez sur Fusionner la pull request, puis cliquez sur Confirmer la fusion.

    Une fois la pull request fusionnée, l’alerte Dependabot associée se fermera automatiquement et l'heure du correctif sera ajoutée à l'historique.

Prévenir les futures vulnérabilités dans les dépendances

Pour éviter que des dépendances non sécurisées ne soient utilisées à l'avenir, autorisons Dependabot à ouvrir automatiquement des pull requests pour mettre à jour vos dépendances dès la publication de nouvelles versions.

  1. Dans la barre de navigation de votre référentiel, cliquez sur Paramètres.
  2. Dans la section « Sécurité » de la barre latérale, cliquez sur Advanced Security.
  3. À 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.