À propos de la GitHub Advisory Database
Nous ajoutons des conseils à la GitHub Advisory Database à partir des sources suivantes :
- Avis de sécurité signalés sur GitHub
- Base de données nationale des vulnérabilités (NVD) américaine
- Base de données npm Security advisories
- Base de données FriendsOfPHP
- Base de données Go Vulncheck
- Base de données Python Packaging Advisory
- Base de données Ruby Advisory
- Base de données RustSec Advisory
- Contributions de la communauté. Pour plus d’informations, consultez https://github.com/github/advisory-database/pulls.
Si vous connaissez une autre base de données à partir de laquelle nous devrions importer des avis, dites-le nous en ouvrant un problème dans https://github.com/github/advisory-database.
Les avis de sécurité sont publiés sous forme de fichiers JSON au format OSV (Open Source Vulnerability). Pour plus d'informations sur le format OSV, consultez « Format Open Source Vulnerability ».
À propos des types d'avis de sécurité
Chaque avis dans la GitHub Advisory Database concerne une vulnérabilité dans les projets open source ou des logiciels open source malveillants.
Une vulnérabilité est un problème dans le code d’un projet qui pourrait être exploité pour altérer la confidentialité, l’intégrité ou la disponibilité du projet ou d’autres projets qui utilisent son code. Les vulnérabilités varient en fonction du type, de la gravité et de la méthode d’attaque. Les vulnérabilités dans le code sont généralement introduites par accident et corrigées peu après leur découverte. Vous devez mettre à jour votre code pour utiliser la version corrigée de la dépendance dès qu'elle est disponible.
En revanche, les logiciels malveillants ou les programmes malveillants sont du code qui est intentionnellement conçu pour exécuter des fonctions indésirables ou dangereuses. Les programmes malveillants peuvent cibler du matériel, des logiciels, des données confidentielles ou des utilisateurs d'une application qui les utilise. Vous devez supprimer les programmes malveillants de votre projet et trouver une alternative plus sécurisée pour la dépendance.
Avis révisés par GitHub
Les avis révisés par GitHub sont des vulnérabilités de sécurité qui ont été mappés à des packages dans les écosystèmes que nous prenons en charge. Nous examinons attentivement tous les avis pour en vérifier la validité et nous assurons qu’ils disposent d’une description complète, et contiennent des informations à la fois sur l’écosystème et les packages.
En règle générale, nous nommons nos écosystèmes pris en charge d'après le registre de packages associé du langage de programmation logicielle. Nous examinons les avis s'ils concernent une vulnérabilité dans un package provenant d'un registre pris en charge.
- Composer (registre : https://packagist.org/)
- Erlang (registre : https://hex.pm/)
- Go (registre : https://pkg.go.dev/)
- GitHub Actions (https://github.com/marketplace?type=actions/)
- Maven (registre : https://repo.maven.apache.org/maven2)
- Npm (registre : https://www.npmjs.com/)
- NuGet (registre : https://www.nuget.org/)
- Pip (registre : https://pypi.org/)
- Pub (registre : https://pub.dev/packages/registry)
- RubyGems (registre : https://rubygems.org/)
- Rust (registre : https://crates.io/)
- Swift (registre : N/A)
Si vous avez une suggestion pour un nouvel écosystème que nous devrions prendre en charge, ouvrez un problème pour en discuter.
Si vous activez Dependabot alerts pour vos référentiels, vous êtes automatiquement averti lorsqu'un nouvel avis GitHub signale une vulnérabilité pour un package dont vous dépendez. Pour plus d'informations, consultez « À propos des alertes Dependabot ».
Avis non révisés
Les avertissements non révisés sont des failles de sécurité que nous publions automatiquement dans la GitHub Advisory Database, directement à partir du flux de la National Vulnerability Database.
Dependabot ne crée pas d'Dependabot alerts pour les avis non révisés, car ce type d'avis n'est pas vérifié du point de vue de la validité ou de l'achèvement.
Avertissements sur les programmes malveillants
Les avis sur les programmes malveillants concernent les vulnérabilités causées par des programmes malveillants et sont des avis de sécurité que GitHub publie automatiquement dans GitHub Advisory Database, directement à partir d'informations fournies par l'équipe de sécurité de npm. Les avis sur les programmes malveillants sont exclusifs à l’écosystème npm. GitHub ne modifie pas et n'accepte pas les contributions de la communauté à ces avis.
Dependabot ne génère pas d'alertes lorsque des programmes malveillants sont détectés, car la plupart des vulnérabilités ne peuvent pas être résolues par les utilisateurs en aval. Vous pouvez consulter les avis sur les programmes malveillants en recherchant type:malware
dans GitHub Advisory Database.
Nos avertissements sur les programmes malveillants portent principalement sur les attaques par substitution. Dans ce type d'attaque, un attaquant publie dans le registre public un package portant le même nom qu'une dépendance d'un tiers ou d'un registre privé sur laquelle les utilisateurs comptent, dans l'espoir que la version malveillante soit consommée. Dependabot n'examine pas les configurations du projet pour déterminer si les packages proviennent d'un registre privé. Nous ne savons donc pas si vous utilisez la version malveillante ou une version non malveillante. Les utilisateurs dont les dépendances sont correctement délimitées ne devraient pas être affectés par les programmes malveillants.
À propos des informations dans les avis de sécurité
Dans cette section, vous trouverez des informations plus détaillées sur les attributs de données spécifiques de la GitHub Advisory Database.
À propos des ID GHSA
Chaque avis de sécurité, quel que soit son type, a un identificateur unique appelé ID GHSA. Un qualificateur GHSA-ID
est attribué quand un nouvel avertissement est créé sur GitHub ou ajouté à la GitHub Advisory Database à partir de l'une des sources prises en charge.
La syntaxe des ID GHSA suit ce format : GHSA-xxxx-xxxx-xxxx
, où :
x
est une lettre ou un chiffre de l'ensemble suivant :23456789cfghjmpqrvwx
.- Retirez la partie
GHSA
du nom :- Les chiffres et les lettres sont attribués de manière aléatoire.
- Toutes les lettres sont en minuscules.
Vous pouvez vérifier un ID GHSA avec une expression régulière.
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
À propos des niveaux CVSS
Chaque avis de sécurité contient des informations sur la vulnérabilité ou le programme malveillant, qui peuvent inclure la description, la gravité, le package affecté, l’écosystème de package, les versions affectées et les versions corrigées, l’impact ainsi que des informations facultatives telles que les références, les solutions de contournement et les crédits. En outre, les avis de la liste de la National Vulnerability Database contiennent un lien vers l'enregistrement CVE, où vous pouvez lire plus d'informations sur la vulnérabilité, ses scores CVSS et son niveau de gravité qualitative. Pour plus d'informations, consultez la « National Vulnerability Database » du National Institute of Standards and Technology.
Le niveau de gravité est l'un des quatre niveaux possibles définis dans la section 5 du CVSS (Common Vulnerability Scoring System).
- Faible
- Moyen/modéré
- Élevé
- Critique
La GitHub Advisory Database utilise les niveaux CVSS décrits ci-dessus. Si GitHub obtient un score CVE, la GitHub Advisory Database utilise la version CVSS affectée par le gestionnaire, c’est-à-dire la version 3.1. Si le score CVE est importé, la GitHub Advisory Database prend en charge les versions 3.1 et 3.0.de CVSS.
Vous pouvez également rejoindre GitHub Security Lab pour parcourir les rubriques liées à la sécurité et contribuer aux outils et projets de sécurité.
À propos des scores EPSS
Le système de scoring de prédiction d’exploit, ou EPSS (Exploit Prediction Scoring System), est un système conçu par le Forum mondial des équipes de réponse aux incidents et de sécurité (FIRST, Forum of Incident Response and Security Teams) pour quantifier la probabilité d’exploitation des vulnérabilités. Ce modèle attribue un score de probabilité compris entre 0 et 1 (0 et 100 %) : plus le score est élevé, plus la probabilité d’exploitation d’une vulnérabilité sera élevée. Pour plus d’informations sur FIRST, consultez https://www.first.org/.
La GitHub Advisory Database inclut les scores EPSS de FIRST pour les avis contenant des CVE avec les données EPSS correspondantes. GitHub affiche également le centile de score EPSS, qui correspond à la proportion de toutes les vulnérabilités notées avec le même score EPSS ou un score EPSS inférieur.
Par exemple, si un avertissement avait un score EPSS avec un pourcentage de 90,534 % au 95e centile, selon le modèle EPSS, cela signifie que :
- Il y a une probabilité de 90,534 % que cette vulnérabilité soit exploitée dans la nature au cours des 30 prochains jours.
- 95 % du total des vulnérabilités modélisées sont considérées comme moins susceptibles d’être exploitées au cours des 30 prochains jours que cette vulnérabilité.
Des informations étendues sur l’interprétation de ces données sont disponibles dans le Guide de l’utilisateur EPSS de FIRST. Ces informations vous aident à comprendre comment le pourcentage et le centile peuvent être utilisés pour interpréter la probabilité qu’une vulnérabilité soit exploitée dans la nature en fonction du modèle de FIRST. Pour plus d’informations, consultez le Guide de l’utilisateur EPSS de FIRST sur le site web de FIRST.
FIRST fournit également des informations supplémentaires sur la distribution de leurs données EPSS. Pour plus d’informations, consultez la Documentation sur les données et les statistiques EPSS sur le site web de FIRST.
Note
GitHub maintient les données EPSS à jour avec une action de synchronisation quotidienne. Bien que les pourcentages de score EPSS soient toujours entièrement synchronisés, les centiles de score ne sont mis à jour que lorsqu’ils sont significativement différents.
Chez GitHub nous ne créons pas ces données, mais nous les obtenons plutôt auprès de FIRST, ce qui signifie que ces données ne sont pas modifiables dans les contributions de la communauté.
Pour aller plus loin
- « À propos des alertes Dependabot »
- Définition du programme CVE de « vulnérabilité »