Skip to main content

À propos des mises à jour de sécurité Dependabot

Dependabot peut corriger automatiquement les dépendances vulnérables en formulant des demandes de tirage avec des mises à jour de sécurité.

Qui peut utiliser cette fonctionnalité ?

Les Dependabot security updates gratuites à l’utilisation pour tous les référentiels sur GitHub.com.

À propos des Dependabot security updates

Les Dependabot security updates facilitent la résolution des dépendances vulnérables dans votre dépôt. Si vous activez cette fonctionnalité, quand une alerte Dependabot est déclenchée pour une dépendance vulnérable dans le graphe de dépendances de votre dépôt, Dependabot tente automatiquement de la corriger. Pour plus d’informations, consultez « À propos des alertes Dependabot » et « Configuration des mises à jour de sécurité Dependabot ».

Remarque : lorsque Dependabot security updates sont activés pour un référentiel, Dependabot tente automatiquement d’ouvrir des demandes de tirage pour résoudre chaque alerte ouverte Dependabot qui a un correctif disponible. Si vous préférez personnaliser les alertes pour lesquelles Dependabot ouvre les demandes de tirage, vous devez laisser Dependabot security updates désactivées et créer une règle de triage automatique. Pour plus d’informations, consultez « Personnalisation des règles de triage automatique pour classer les alertes Dependabot par ordre de priorité ».

GitHub peut envoyer des Dependabot alerts aux dépôts affectés par une vulnérabilité divulguée par un avis de sécurité GitHub publié récemment. Pour plus d’informations, consultez « Exploration des avis de sécurité dans la base de données GitHub Advisory ».

Dependabot vérifie s’il est possible de mettre à niveau la dépendance vulnérable vers une version corrigée sans interrompre le graphe de dépendances pour le dépôt. Ensuite, Dependabot déclenche une demande de tirage (pull request) pour mettre à jour la dépendance vers la version minimale qui inclut le correctif et lie la demande de tirage à l’alerte Dependabot ou signale une erreur sur l’alerte. Pour plus d’informations, consultez « Résolution des erreurs Dependabot ».

La fonctionnalité des Dependabot security updates est disponible pour les dépôts où vous avez activé le graphe de dépendances et les Dependabot alerts. Vous voyez une alerte Dependabot pour chaque dépendance vulnérable identifiée dans votre graphe de dépendances complet. Toutefois, les mises à jour de sécurité sont déclenchées uniquement pour les dépendances spécifiées dans un manifeste ou un fichier de verrouillage. Pour plus d’informations, consultez « À propos du graphe de dépendances ».

Remarque : pour npm, Dependabot déclenche une demande de tirage pour mettre à jour une dépendance explicitement définie vers une version sécurisée, même si cela implique la mise à jour de la ou des dépendances parentes, ou même la suppression d’une sous-dépendance dont le parent n’a plus besoin. Pour d’autres écosystèmes, Dependabot ne peut pas mettre à jour une dépendance indirecte ou transitive si cela nécessite également une mise à jour de la dépendance parente. Pour plus d’informations, consultez « Résolution des erreurs Dependabot ».

Vous pouvez activer une fonctionnalité associée, les Dependabot version updates, afin que Dependabot déclenche des demandes de tirage pour mettre à jour le manifeste vers la dernière version de la dépendance, chaque fois qu’il détecte une dépendance obsolète. Pour plus d’informations, consultez « À propos des mises à jour de version Dependabot ».

Quand Dependabot déclenche des demandes de tirage, celles-ci peuvent concerner des mises à jour de sécurité ou de version :

  • Les Dependabot security updates sont des demandes de tirage automatisées qui vous aident à mettre à jour les dépendances qui ont des vulnérabilités connues.
  • Les Dependabot version updates sont des demandes de tirage automatisées qui tiennent à jour les dépendances, même si elles ne présentent aucune vulnérabilité. Pour vérifier l’état des mises à jour de version, accédez à l’onglet Insights de votre dépôt, puis sélectionnez Dependency Graph et Dependabot.

GitHub Actions n’est pas indispensable à l’exécution des Dependabot version updates et des Dependabot security updates sur GitHub Enterprise Cloud. Toutefois, les demandes de tirage ouvertes par Dependabot peuvent déclencher des workflows qui exécutent des actions. Pour plus d’informations, consultez « Automatisation de Dependabot avec GitHub Actions ».

Les Dependabot security updates peuvent corriger les dépendances vulnérables dans GitHub Actions. Lorsque les mises à jour de sécurité sont activées, Dependabot déclenche automatiquement une demande de tirage pour mettre à jour les GitHub Actions vulnérables utilisées dans vos workflows vers la version corrigée minimale.

À propos des demandes de tirage pour les mises à jour de sécurité

Chaque demande de tirage contient tout ce dont vous avez besoin pour examiner un correctif proposé et le fusionner dans votre projet rapidement et de manière sécurisée. Cela inclut des informations sur la vulnérabilité, telles que les notes de publication, les entrées du journal des modifications et les détails de commit. Les détails de la vulnérabilité qui est résolue par une demande de tirage sont masqués pour toute personne qui n’a pas accès aux Dependabot alerts pour le dépôt.

Quand vous fusionnez une demande de tirage contenant une mise à jour de sécurité, l’alerte Dependabot correspondante est marquée comme résolue pour votre dépôt. Pour plus d’informations sur les demandes de tirage Dependabot, consultez « Gestion des demandes de tirage (pull request) pour les mises à jour des dépendances ».

Remarque : Une bonne pratique consiste à mettre en place des tests automatisés et des processus d’acceptation afin que les vérifications soient effectuées avant la fusion de la demande de tirage. Cette pratique est d’autant plus importante si la version suggérée vers laquelle effectuer la mise à niveau contient des fonctionnalités supplémentaires ou un changement qui casse le code de votre projet. Pour plus d’informations sur l’intégration continue, consultez « À propos de l’intégration continue ».

À propos des correctifs de sécurité groupés

Pour réduire davantage le nombre de demandes de tirage que vous pouvez voir, vous pouvez activer les correctifs de sécurité groupés afin de regrouper des ensembles de dépendances (par écosystème de packages). Dependabot déclenche ensuite une demande de tirage unique pour mettre à jour le plus de dépendances vulnérables possible dans le groupe vers des versions sécurisées en même temps.

Pour les correctifs de sécurité, Dependabot regroupe uniquement les dépendances provenant de différents annuaires par écosystème sous certaines conditions et dans certaines configurations. Dependabot ne regroupe pas les dépendances de différents écosystèmes de packages, et ne regroupe pas les correctifs de sécurité avec les mises à jour de version.

Vous pouvez activer les demandes de tirage (pull requests) groupées pour Dependabot security updates d’une ou des deux manières suivantes.

  • Pour regrouper autant de correctifs de sécurité disponibles que possible, entre les annuaires et par écosystème, activez le regroupement dans les paramètres « Sécurité et analyse du code » pour votre organisation ou référentiel.
  • Pour un contrôle plus précis du regroupement, tel que le regroupement par nom de package, par dépendance de développement/production ou par niveau SemVer, ajoutez des options de configuration au fichier de configuration dependabot.yml dans votre référentiel.

Remarque : si vous avez configuré des règles de groupe pour Dependabot security updates dans un fichier dependabot.yml, toutes les mises à jour disponibles sont regroupées en fonction des règles que vous avez spécifiées. Dependabot regroupe uniquement les annuaires non configurés dans votre dependabot.yml si le paramètre des correctifs de sécurité groupés au niveau de l’organisation ou du référentiel est également activé.

Pour plus d’informations, consultez « Configuration des mises à jour de sécurité Dependabot ».

À propos des scores de compatibilité

Les Dependabot security updates peuvent inclure des scores de compatibilité pour vous permettre de savoir si la mise à jour d’une dépendance peut entraîner des changements cassants dans votre projet. Ces scores sont calculés à partir des tests CI dans d’autres dépôts publics où la même mise à jour de sécurité a été générée. Le score de compatibilité d’une mise à jour est le pourcentage d’exécutions d’intégrations continues qui ont réussi lors de la mise à jour entre des versions spécifiques de la dépendance.

À propos de la désactivation automatique des Dependabot updates

Lorsque les mainteneurs d’un dépôt cessent d’interagir avec les demandes de tirage Dependabot, Dependabot suspend temporairement ses mises à jour et vous en informe. Ce comportement de désactivation automatique réduit les actions inutiles parce que Dependabot ne crée pas de demandes de tirage pour les mises à jour de version et de sécurité, ni ne rebase les demandes de tirage Dependabot pour les dépôts inactifs.

La désactivation automatique des mises à jour de Dependabot s’applique uniquement aux dépôts où Dependabot a ouvert des demandes de tirage mais celles-ci restent inchangées. Si Dependabot n’a pas ouvert de demandes de tirage, Dependabot ne sera jamais suspendu.

Un dépôt actif est un dépôt pour lequel un utilisateur (et non Dependabot) a effectué l’une des actions ci-dessous au cours des 90 derniers jours :

  • Fusionnez ou fermez une demande de tirage Dependabot sur le dépôt.
  • Apportez une modification au fichier dependabot.yml pour le dépôt.
  • Déclenchez manuellement une mise à jour de sécurité ou une mise à jour de version.
  • Activez les Dependabot security updates pour le dépôt.
  • Utilisez les commandes @dependabot sur les demandes de tirage.

Un dépôt inactif est un dépôt qui a au moins une demande de tirage Dependabot ouverte pendant plus de 90 jours, qui a été activée pendant toute la période et où aucune des actions listées ci-dessus n’a été effectuée par un utilisateur.

Lorsque Dependabot est suspendu, GitHub ajoute une bannière :

  • Dans toutes les demandes de tirage Dependabot ouvertes.
  • Dans l’interface utilisateur de l’onglet Paramètres du dépôt (sous Sécurité et analyse du code, puis Dependabot).
  • Dans la liste des Dependabot alerts (si Dependabot security updates sont affectées).

De plus, vous pourrez voir si des Dependabot sont suspendues au niveau de l’organisation dans la vue d’ensemble de la sécurité. L’état paused sera également visible via l’API. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les référentiels ».

Dès qu’un mainteneur interagit à nouveau avec une demande de tirage Dependabot, Dependabot sort de sa suspension :

  • Les mises à jour de sécurité sont automatiquement reprises pour les Dependabot alerts.
  • Les mises à jour de version sont automatiquement reprises avec la planification spécifiée dans le fichier dependabot.yml.

À propos des notifications pour les mises à jour de sécurité Dependabot

Vous pouvez filtrer vos notifications sur GitHub pour afficher les mises à jour de sécurité Dependabot. Pour plus d’informations, consultez « Gestion des notifications à partir de votre boîte de réception ».