Skip to main content

Cette version de GitHub Enterprise Server ne sera plus disponible le 2026-04-09. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

À propos de la sécurité de la chaîne d’approvisionnement

          GitHub vous aide à sécuriser votre chaîne d’approvisionnement, de comprendre les dépendances dans votre environnement, à connaître les vulnérabilités de ces dépendances et à les corriger.

À propos de la sécurité de la chaîne d’approvisionnement chez GitHub

Lors du développement d’un projet logiciel, vous utilisez probablement d’autres logiciels pour générer et exécuter votre application, comme des bibliothèques open source, des frameworks ou d’autres outils. Ces ressources sont collectivement appelées « dépendances », car votre projet dépend d’elles pour fonctionner correctement. Votre projet peut s’appuyer sur des centaines de ces dépendances, formant ce qu’on appelle votre « chaîne d’approvisionnement ».

Votre chaîne d’approvisionnement peut poser un problème de sécurité. Si l’une de vos dépendances présente une faiblesse de sécurité connue ou un bogue, des acteurs malveillants peuvent exploiter cette vulnérabilité pour, par exemple, insérer du code malveillant (« programme malveillant »), voler des données sensibles ou provoquer d’autres types de perturbation dans votre projet. Ce type de menace est appelé « attaque de la chaîne d’approvisionnement ». Le fait d’avoir des dépendances vulnérables dans votre chaîne d’approvisionnement compromet également la sécurité de votre propre projet et expose vos utilisateurs à des risques.

L’une des actions les plus importantes que vous pouvez faire pour protéger votre chaîne d’approvisionnement consiste à corriger vos dépendances vulnérables et à remplacer tout programme malveillant.

Vous ajoutez les dépendances directement à votre chaîne d’approvisionnement quand vous les spécifiez dans un fichier manifeste ou un fichier de verrouillage. Les dépendances peuvent également être incluses transitivement ; même si vous ne spécifiez pas une dépendance particulière, mais qu’une de vos dépendances l’utilise, vous êtes également dépendant de cette dépendance.

          GitHub offre une gamme de fonctionnalités pour vous aider à comprendre les dépendances dans votre environnement, à connaître les vulnérabilités de ces dépendances et à les corriger.

Les fonctionnalités de la chaîne d’approvisionnement sont les GitHub suivantes : * Graphe des dépendances * Révision des dépendances

  • Dependabot alerts
  • Dependabot updates
    • Dependabot security updates
    • Dependabot version updates

Le graphe de dépendances joue un rôle essentiel pour la sécurité de la chaîne d’approvisionnement. Le graphe de dépendances identifie toutes les dépendances en amont et les éléments dépendants en aval publics d’un dépôt ou d’un package. Le graphe des dépendances suit et affiche les dépendances de votre dépôt ainsi que certaines de leurs propriétés, telles que les informations sur les vulnérabilités.

Les fonctionnalités de la chaîne d’approvisionnement suivantes reposent GitHub sur les informations fournies par le graphique de dépendances.

  • La révision des dépendances utilise le graphe de dépendances pour identifier les modifications de dépendance et vous aider à comprendre l’impact de ces modifications sur la sécurité quand vous passez en revue les demandes de tirage (pull request).
  •         Dependabot Met en correspondance les données de dépendance fournies par le graphe de dépendances avec la liste des avis publiés dans le GitHub Advisory Database, analyse vos dépendances et génère Dependabot alerts lorsqu'une vulnérabilité potentielle est détectée.
    
  •         Dependabot security updates utilisez le graphique des dépendances et Dependabot alerts pour vous aider à mettre à jour les dépendances avec des vulnérabilités connues dans votre référentiel.
    
            Dependabot version updates n’utilisez pas le graphique de dépendances et reposez plutôt sur le contrôle de version sémantique des dépendances. 
            Dependabot version updates vous aide à maintenir vos dépendances à jour, même lorsqu’elles ne présentent pas de vulnérabilités.
    

Pour obtenir des guides de meilleures pratiques sur la sécurité de la chaîne d’approvisionnement de bout en bout, y compris la protection des comptes personnels, du code et des processus de build, consultez Sécurisation de votre chaîne d’approvisionnement de bout en bout.

Vue d’ensemble des fonctionnalités

À quoi ressemble le graphique de dépendance ?

Pour générer le graphique de dépendances, GitHub examine les dépendances explicites d’un référentiel déclarées dans le manifeste et les fichiers de verrouillage. Quand il est activé, le graphe de dépendances analyse automatiquement tous les fichiers manifestes de package connus dans le dépôt, puis, à partir des informations recueillies, construit un graphe avec les noms et les versions de dépendances connues.

  • Le graphe de dépendances inclut des informations sur vos dépendances directes et vos dépendances transitives.
  • Le graphique de dépendances est automatiquement mis à jour lorsque vous poussez un commit vers GitHub qui modifie ou ajoute un manifeste ou un fichier de verrou pris en charge à la branche principale par défaut, et lorsque quelqu'un envoie une modification dans le référentiel d'une de vos dépendances.
  • Le graphe de dépendances peut également inclure des informations que vous fournissez pendant la génération de votre projet à l'aide de GitHub Actions. Certains écosystèmes de packages récupèrent la plupart de leurs dépendances transitives au moment de la génération, de sorte que la soumission des informations de dépendance pendant la génération permet d’avoir une vue plus complète de la chaîne d’approvisionnement.
  • Vous pouvez voir le graphique des dépendances en ouvrant la page GitHubprincipale du référentiel et en accédant à l’onglet Insights .
  • 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 ».

Vous pouvez utiliser le API de soumission de dépendances pour envoyer des dépendances à partir du gestionnaire de package ou de l’écosystème de votre choix, même si l’écosystème n’est pas pris en charge par le graphique de dépendances pour l’analyse du manifeste ou du verrouillage des fichiers. Les dépendances soumises à un projet à l’aide de API de soumission de dépendances indiqueront quel détecteur a été utilisé pour leur soumission et quand elles ont été soumises. Pour plus d'informations sur l'API API de soumission de dépendances, consultez Utilisation de l’API de soumission de dépendances.

Pour plus d’informations sur le graphe des dépendances, consultez À propos du graphe de dépendances.

Qu’est-ce que la révision des dépendances ?

La révision des dépendances aide les réviseurs et les contributeurs à comprendre les modifications de dépendance et leur impact sur la sécurité dans chaque demande de tirage.

  • La révision des dépendances vous indique quelles dépendances ont été ajoutées, supprimées ou mises à jour, dans une demande de tirage. Vous pouvez utiliser les dates de publication, la popularité des dépendances et les informations de vulnérabilité pour vous aider à décider s’il faut accepter la modification.
  • Vous pouvez voir la révision des dépendances pour une demande de tirage en affichant la différence enrichie sous l’onglet Fichiers modifiés.

Pour plus d’informations sur la révision de dépendances, consultez À propos de la vérification des dépendances.

Qu’est-ce que Dependabot ?

          Dependabot maintient vos dépendances à jour en vous signalant les vulnérabilités de sécurité et en ouvrant automatiquement des requêtes de tirage pour les mettre à niveau. 
          Dependabot Les requêtes d'extraction cibleront la prochaine version sécurisée disponible lorsqu’une Dependabot alerte est déclenchée, ou à la dernière version lorsqu’une nouvelle version est publiée.

Le terme «Dependabot » englobe les fonctionnalités suivantes : * Dependabot alerts: notification affichée sous l’onglet Security du référentiel et dans le graphique de dépendances du référentiel. L’alerte contient un lien vers le fichier affecté dans le projet et des informations sur une version corrigée. * Dependabot updates : * Dependabot security updates: mises à jour déclenchées pour mettre à niveau vos dépendances vers une version sécurisée lorsqu’une alerte est déclenchée. * Dependabot version updates: mises à jour planifiées pour maintenir vos dépendances à jour avec la dernière version.

          Dependabot security updates et Dependabot version updates requièrent GitHub Actions pour fonctionner sur GitHub Enterprise Server. 
          Dependabot alerts ne nécessite pas GitHub Actions. Pour plus d’informations, consultez « [AUTOTITLE](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise) ».



          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. Pour plus d’informations, consultez [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates).

Qu’est-ce que les alertes Dependabot ?

          Dependabot alerts mettez en surbrillance les référentiels affectés par une vulnérabilité nouvellement découverte basée sur le graphique de dépendances et le GitHub Advisory Database, qui contient des avis sur les vulnérabilités connues.

* Dependabot effectue une analyse pour détecter les dépendances non sécurisées et envoie Dependabot alerts lorsqu’ :

  • De nouvelles données de conseil sont synchronisées avec votre instance toutes les heures à partir de GitHub.com. Pour plus d’informations, consultez « Exploration des avis de sécurité dans la base de données GitHub Advisory ».
  • Le graphique des dépendances pour le référentiel change
  •         Dependabot alerts sont affichés sous l’onglet **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security** du référentiel et dans le graphique de dépendances du référentiel. L’alerte contient un lien vers le fichier affecté dans le projet et des informations sur une version corrigée.
    

Pour plus d’informations, consultez « À propos des alertes Dependabot ».

Qu’est-ce que les mises à jour Dependabot ?

Il existe deux types de Dependabot updates: Dependabot mises à jour de sécurité et mises à jour de version. Dependabot génère des pull requests automatiques pour mettre à jour vos dépendances dans les deux cas, mais il existe plusieurs différences.

          Dependabot security updates :
  • Déclenché par une Dependabot alerte

  • Mettent à jour les dépendances vers la version minimale qui résout une vulnérabilité connue

  • Prises en charge pour les écosystèmes pris en charge par le graphe de dépendances

  • Ne nécessite pas de fichier de configuration, mais vous pouvez en utiliser un pour remplacer le comportement par défaut

            Dependabot version updates :
    
  • Requiert un fichier de configuration

  • Exécutées selon une planification que vous configurez

  • Mettent à jour les dépendances vers la dernière version qui correspond à la configuration

  • Prises en charge pour un autre groupe d’écosystèmes

Pour plus d’informations sur Dependabot updates, consultez À propos des mises à jour de sécurité Dependabot et À propos des mises à jour de version Dependabot.

Qu’est-ce que les versions immuables ?

Les référentiels peuvent activer les versions immuables pour empêcher les ressources et la balise Git associée d’une version d’être modifiée après la publication. Cela réduit le risque d’attaques de chaîne d’approvisionnement en empêchant les attaquants d’injecter des vulnérabilités dans les versions que vous consommez. Cela signifie également que les projets qui s’appuient sur des versions spécifiques sont moins susceptibles de s’interrompre.

La création d’une version immuable génère automatiquement une attestation pour la version. Vous pouvez utiliser cette attestation pour vous assurer que la version et ses artefacts correspondent aux informations publiées.

Qu’est-ce que les attestations d’artefact ?

Les fournisseurs de logiciels peuvent générer des attestations pour les logiciels créés avec GitHub Actions. Les attestations sont des déclarations cryptographiquement signées qui établissent la provenance de la version (le code source et le workflow utilisé pour la générer) ou la liste des composants logiciels associée (SBOM).

Vous pouvez augmenter la sécurité de la chaîne logistique en vérifiant les attestations de vos dépendances. Bien que les attestations ne garantissent pas la sécurité, elles vous fournissent des informations sur l’emplacement et la façon dont les logiciels ont été créés, afin que vous ayez davantage confiance que vos dépendances n’ont pas été compromises. Vous pouvez gérer les déploiements à l’aide d’un outil comme le contrôleur d’admission Kubernetes pour empêcher le déploiement de builds non testées.

Lorsque vous utilisez GitHub Actions pour générer des attestations pour les propres builds de votre organisation, les artefacts générés sont automatiquement chargés vers le linked artifacts page. Cette plateforme vous permet d’afficher les enregistrements de stockage et de déploiement de tous les artefacts liés. Vous pouvez donc trouver le code source et l’exécution du flux de travail utilisés pour générer un artefact ou filtrer des alertes de sécurité en fonction du contexte de déploiement.

Disponibilité des fonctionnalités

  •         **Graphique des dépendances et Dependabot alerts:** non activé par défaut. Les deux fonctionnalités sont configurées au niveau de l’entreprise par le propriétaire de l’entreprise. Pour plus d’informations, consultez « [AUTOTITLE](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise) » et « [AUTOTITLE](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise) ».
    
  •         **Révision des dépendances :** Disponible lorsque le graphique de dépendance est activé pour votre instance et GitHub Advanced Security est activé pour l’organisation ou le référentiel. Pour plus d’informations, consultez « [AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security) ».
    
  •         **
            Dependabot security updates:** non activé par défaut. Vous pouvez activer Dependabot security updates pour n’importe quel référentiel logiciel qui utilise Dependabot alerts et le graphe des dépendances. Pour plus d’informations sur l’activation des mises à jour de sécurité, consultez [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates).
    
  •         **
            Dependabot version updates:** non activé par défaut. Les personnes disposant d’autorisations d’écriture dans un référentiel peuvent activer Dependabot version updates. Pour plus d’informations sur l’activation des mises à jour de versions, consultez [AUTOTITLE](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates).