À 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 ».
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
GitHubavis }-examinés sont mappés aux packages dans les écosystèmes que nous prenons en charge. Nous examinons soigneusement chaque avis pour la validité et nous nous assurons qu’ils contiennent une description complète et des informations 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 dépôts, vous êtes automatiquement avertis 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 avis non révisés sont publiés automatiquement dans les 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 les programmes malveillants et sont exclusifs à l’écosystème npm. Nous les publions automatiquement dans le GitHub Advisory Database, directement à l'aide des informations fournies par l’équipe de sécurité npm.
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.
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.
Identifiants 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`. - En dehors de la partie
GHSAdu 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}/
Niveaux CVSS
La GitHub Advisory Database prend en charge CVSS version 3.1 et CVSS version 4.0.
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).
- Low
- Moyen/modéré
- High
- Essentiel
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 ou la 4.0. Si la CVE est importée, GitHub Advisory Database prend en charge les versions de CVSS 4.0, 3.1 et 3.0.
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é.
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.
Remarque
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 plus d’informations sur les contributions communautaires, consultez « Modification des avis de sécurité dans la base de données d’avis de GitHub ».
Contributions communautaires
Une contribution de la communauté est une pull request envoyée au github/advisory-database dépôt qui améliore le contenu d’un avis de sécurité global. Lorsque vous apportez une contribution communautaire, vous pouvez modifier ou ajouter des détails, y compris des écosystèmes affectés supplémentaires, le niveau de gravité ou la description de qui est affecté. L’équipe de curation GitHub Security Lab examinera les contributions soumises et les publiera dans la GitHub Advisory Database si elles sont acceptées.
Si nous acceptons et publions la contribution communautaire, la personne qui a soumis la pull request de cette contribution se verra automatiquement attribuer un type de crédit « Analyste ». Pour plus d’informations, consultez Création d’un avis de sécurité de dépôt.
Lectures complémentaires
-
[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts) - Définition du programme CVE de « vulnérabilité »