Skip to main content

À propos du graphe de dépendances

Vous pouvez utiliser le graphe des dépendances pour identifier toutes les dépendances de votre projet. Le graphe des dépendances prend en charge une gamme d’écosystèmes de packages populaires.

Qui peut utiliser cette fonctionnalité ?

Le graphe des dépendances est disponible pour les types de référentiels suivants :

  • Référentiels publics (activés par défaut)
  • Référentiels privés
  • Fourches

À propos du graphe de dépendances

Le graphe des dépendances est un résumé des fichiers manifest et des fichiers de verrouillage dans un dépôt. Il contient également toutes les dépendances soumises pour le dépôt à l'aide de l'interface API de soumission de dépendances. Pour chaque dépôt, il affiche :

  • Dépendances, les écosystèmes et les packages dont il dépend
  • Les dépendants : les dépôts et packages qui en dépendent

Pour chaque dépendance, vous pouvez voir les informations de licence et la gravité de la vulnérabilité. Vous pouvez également rechercher une dépendance spécifique à partir de la barre de recherche. Les dépendances sont triées automatiquement par gravité de vulnérabilité.

Quand vous poussez (push) vers GitHub un commit qui change un manifeste ou un fichier de verrouillage pris en charge ou l’ajoute à la branche par défaut, le graphe de dépendances est automatiquement mis à jour. En outre, le graphe est mis à jour quand une personne pousse une modification vers le dépôt de l’une de vos dépendances.

Pour plus d’informations sur les écosystèmes et fichiers manifest pris en charge, consultez « Écosystèmes de packages pris en charge pour le graphe des dépendances ».

De plus, vous pouvez utiliser le API de soumission de dépendances pour soumettre des dépendances à partir du gestionnaire de packages ou de l'écosystème de votre choix, même si l'écosystème n'est pas pris en charge par le graphe des dépendances pour l'analyse des manifestes ou des fichiers de verrouillage. Les dépendances soumises à un projet en utilisant API de soumission de dépendances afficheront le détecteur qui a été utilisé pour leur soumission et la date à laquelle elles ont été soumises. Pour plus d'informations sur les API de soumission de dépendances, consultez « Utilisation de l’API de soumission de dépendances. »

Quand vous créez une demande de tirage (pull request) contenant des modifications apportées aux dépendances qui cible la branche par défaut, GitHub utilise le graphe de dépendances pour ajouter des révisions de dépendance à la demande de tirage. Celles-ci indiquent si les dépendances contiennent des vulnérabilités et, si c’est le cas, la version de la dépendance dans laquelle la vulnérabilité a été corrigée. Pour plus d’informations, consultez « À propos de la vérification des dépendances ».

Si vous disposez au moins d’un accès en lecture au dépôt, vous pouvez exporter les graphe des dépendances pour le dépôt en tant que nomenclature logicielle compatible SPDX (SBOM), via l’interface utilisateur de GitHub ou l’API REST GitHub. Pour plus d’informations, consultez « Exportation d’une nomenclature logicielle pour votre dépôt ».

Disponibilité du graphe de dépendances

Le graphe des dépendances est généré automatiquement pour tous les dépôts publics. Vous pouvez choisir de l’activer pour les duplications (forks) et pour les dépôts privés. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d’analyse pour votre dépôt ».

Les administrateurs de dépôts peuvent également configurer le graphe de dépendances pour les référentiels privés. Pour plus d’informations, consultez « Configuration du graphe de dépendances ».

Dépendances incluses

Le graphe des dépendances comprend toutes les dépendances d’un dépôt qui sont détaillées dans les fichiers manifestes et les fichiers de verrouillage (ou leur équivalent) pour les écosystèmes pris en charge, ainsi que toutes les dépendances soumises à l’aide de API de soumission de dépendances. notamment :

  • Les dépendances directes explicitement définies dans un fichier manifeste ou un fichier de verrouillage, ou soumises à l’aide de API de soumission de dépendances
  • Les dépendances indirectes de ces dépendances directes, également appelées dépendances transitives ou sous-dépendances

Le graphe des dépendances identifie les dépendances indirectes uniquement si elles sont définies dans un fichier de verrouillage ou ont été soumises à l’aide de API de soumission de dépendances. Pour que le graphe soit le plus fiable possible, vous devez utiliser des fichiers de verrouillage (ou leur équivalent), car ils définissent exactement les versions des dépendances directes et indirectes que vous êtes en train d’utiliser. Si vous utilisez des fichiers de verrouillage, vous vous assurez également que tous les contributeurs au dépôt utilisent les mêmes versions, ce qui facilite le test et le débogage du code. Si votre écosystème ne comporte pas de fichiers de verrouillage, vous pouvez utiliser des actions prédéfinies qui résolvent les dépendances transitives pour de nombreux écosystèmes. Pour plus d’informations, consultez « Utilisation de l’API de soumission de dépendances ».

Pour plus d’informations sur la façon dont GitHub vous aide à comprendre les dépendances au sein de votre environnement, consultez « À propos de la sécurité de la chaîne d’approvisionnement ».

Éléments dépendants inclus

Dans le cas d’un dépôt public, seuls sont signalés les dépôts publics qui en dépendent ou qui dépendent des packages qu’il publie. Ces informations ne sont pas signalées pour les dépôts privés.

Utilisation du graphe de dépendances

Vous pouvez utiliser le graphe de dépendances pour :

Pour aller plus loin