À propos de la sécurité de la chaîne d’approvisionnement chez GitHub
Avec l’utilisation accélérée de l’open source, la plupart des projets dépendent de centaines de dépendances open source. Cela pose un problème de sécurité : que se passe-t-il si les dépendances que vous utilisez sont vulnérables ? Vous pourriez faire courir à vos utilisateurs le risque d’une attaque de chaîne d’approvisionnement. L’une des choses les plus importantes que vous puissiez faire pour protéger votre chaîne d’approvisionnement est de corriger vos dépendances vulnérables.
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 AE offre une gamme de fonctionnalités pour vous aider à comprendre les dépendances dans votre environnement et à connaître les vulnérabilités dans ces dépendances.
Les fonctionnalités de la chaîne d’approvisionnement sur GitHub AE sont les suivantes :
- Graphe de dépendances
- Vérification des dépendances
- Dependabot alerts
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. Vous pouvez voir les dépendances de votre dépôt et certaines de leurs propriétés, telles que les informations sur les vulnérabilités, sur le graphe de dépendances du dépôt.
D’autres fonctionnalités de chaîne d’approvisionnement sur GitHub reposent sur les informations fournies par le graphe 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 croise les données de dépendance fournies par le graphe de dépendances avec la liste des vulnérabilités connues publiées dans la GitHub Advisory Database, analyse vos dépendances et génère des Dependabot alerts lors de la détection d’une vulnérabilité potentielle.
Présentation des fonctionnalités
Qu’est-ce que le graphe de dépendances ?
Pour générer le graphe de dépendances, GitHub examine les dépendances explicites d’un dépôt 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 graphe de dépendances est automatiquement mis à jour quand vous poussez (push) un commit vers GitHub qui change ou ajoute un manifeste ou un fichier de verrouillage pris en charge à la branche par défaut et quand toute personne pousse une modification vers le dépôt de l’une de vos dépendances.
- Vous pouvez voir le graphe de dépendances en ouvrant la page principale du dépôt sur GitHub AE, puis en accédant à l’onglet Insights.
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 informant des vulnérabilités de sécurité dans vos dépendances afin que vous puissiez mettre à jour cette dépendance.
GitHub Actions n’est pas nécessaire pour que les Dependabot alerts s’exécutent sur GitHub AE.
Qu’est-ce que les alertes Dependabot ?
Les Dependabot alerts mettent en évidence les dépôts affectés par une vulnérabilité nouvellement découverte en fonction du graphe de dépendances et de la GitHub Advisory Database, qui contient les versions sur les listes de vulnérabilités.
- Dependabot effectue une analyse pour détecter les dépendances non sécurisées et émet des Dependabot alerts quand :
- Les nouvelles données d’avis sont synchronisées sur votre entreprise 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 graphe de dépendances d’un dépôt change.
- Les Dependabot alerts sont affichées dans le graphe de dépendances du dépôt. L’alerte inclut des informations sur une version corrigée.
Pour plus d’informations, consultez « À propos des alertes Dependabot ».
Disponibilité des fonctionnalités
- Graphe de dépendances et Dependabot alerts : non activés 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 « Activation de Dependabot pour votre entreprise ».
- Révision des dépendances : disponible quand le graphe de dépendances est activé pour votre entreprise et qu’Advanced Security est activé pour l’organisation ou le dépôt. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».