Informationen zu GitHub Advisory Database
Wir fügen der GitHub Advisory Database Hinweise aus den folgenden Quellen hinzu:
- Auf GitHub gemeldete Sicherheitshinweise
- Die National Vulnerability-Datenbank
- Die npm-Datenbank für Sicherheitsempfehlungen
- Die FriendsOfPHP-Datenbank
- Die Go Vulncheck-Datenbank
- Die Python Packaging Advisory-Datenbank
- Die Ruby Advisory-Datenbank
- Die RustSec Advisory-Datenbank
- Communitybeiträge. Weitere Informationen findest du unter https://github.com/github/advisory-database/pulls.
Wenn du eine andere Datenbank kennst, aus der wir Empfehlungen importieren sollten, informiere uns darüber, indem du ein Problem in https://github.com/github/advisory-database öffnest.
Sicherheitsempfehlungen werden als JSON-Dateien im OSV-Format (Open Source Vulnerability) veröffentlicht. Weitere Informationen zum OSV-Format findest du unter Format von Open-Source-Sicherheitsrisiken.
Arten von Sicherheitsempfehlungen
Jeder Hinweis in der GitHub Advisory Database bezieht sich auf ein Sicherheitsrisiko in Open Source-Projekten oder auf böswillige Open Source-Software.
Eine Sicherheitslücke ist ein Problem im Code eines Projekts, das ausgenutzt werden könnte, um die Vertraulichkeit, Integrität oder Verfügbarkeit des Projekts oder anderer Projekte, die seinen Code verwenden, zu beeinträchtigen. Sicherheitsrisiken variieren im Hinblick auf Typ, Schweregrad und Angriffsmethode. Sicherheitsrisiken im Code entstehen in der Regel versehentlich und werden bald nach ihrer Entdeckung beseitigt. Du solltest deinen Code aktualisieren, um die korrigierte Version der Abhängigkeit zu verwenden, sobald sie verfügbar ist.
Im Gegensatz dazu ist Schadsoftware oder Malware Code, der absichtlich für unerwünschte oder schädliche Funktionen konzipiert wird. Die Schadsoftware kann auf Hardware, Software, vertrauliche Daten oder Benutzer einer beliebigen Anwendung abzielen, die die Schadsoftware verwendet. Du musst die Schadsoftware aus deinem Projekt entfernen und einen alternativen, sichereren Ersatz für die Abhängigkeit finden.
Von GitHub überprüfte Empfehlungen
Im Allgemeinen benennen wir unsere unterstützten Ökosysteme nach der Paketregistrierung, die der Softwareprogrammiersprache zugeordnet ist. Wir überprüfen Empfehlungen, wenn sie sich auf ein Sicherheitsrisiko in einem Paket beziehen, das von einer unterstützten Registrierung stammt.
- Composer (Registrierung: https://packagist.org/)
- Erlang (Registrierung: https://hex.pm/)
- Go (Registrierung: https://pkg.go.dev/)
- GitHub-Aktionen (https://github.com/marketplace?type=actions/)
- Maven (Registrierung: https://repo.maven.apache.org/maven2)
- npm (Registrierung: https://www.npmjs.com/)
- NuGet (Registrierung: https://www.nuget.org/)
- pip (Registrierung: https://pypi.org/)
- pub (Registrierung: https://pub.dev/packages/registry)
- RubyGems (Registrierung: https://rubygems.org/)
- Rust (Registrierung: https://crates.io/)
- Swift (Registrierung: n/v)
Wenn du einen Vorschlag für ein neues Ökosystem hast, das wir unterstützen sollten, öffne bitte ein Issue für die Diskussion.
Wenn Sie Dependabot alerts für Ihre Repositories aktivieren, werden Sie automatisch benachrichtigt, wenn ein neues GitHub-geprüftes Advisory eine Sicherheitslücke für ein Paket meldet, von dem Sie abhängig sind. Weitere Informationen finden Sie unter Informationen zu Dependabot-Warnungen.
Nicht überprüfte Empfehlungen
Ungeprüfte Empfehlungen werden automatisch in den GitHub Advisory Database veröffentlicht, direkt aus dem Feed der National Vulnerability Database.
Dependabot erstellt keine Dependabot alerts für nicht überprüfte Empfehlungen, da diese nicht auf Gültigkeit oder Vollständigkeit überprüft werden.
Schadsoftware-Hinweise
Malware-Empfehlungen beziehen sich auf Sicherheitsrisiken, die durch Schadsoftware verursacht werden, und sind exklusiv für das npm-Ökosystem . Wir veröffentlichen sie automatisch in der GitHub Advisory Database, basierend auf Informationen, die direkt vom npm-Sicherheitsteam bereitgestellt werden.
Dependabot generiert keine Warnungen, wenn Schadsoftware erkannt wird, da die meisten Sicherheitsrisiken von nachgeschalteten Benutzern nicht behoben werden können. Sie können Schadsoftware-Hinweise anzeigen, indem Sie in den GitHub Advisory Database nach type:malware suchen.
Unsere Schadsoftware-Hinweise sind hauptsächlich über Ersetzungsangriffe. Während dieser Art von Angriff veröffentlicht ein Angreifer ein Paket in der öffentlichen Registrierung mit demselben Namen wie eine Abhängigkeit, auf die sich Benutzer von einer Drittanbieter- oder privaten Registrierung verlassen, mit der Hoffnung, dass die bösartige Version genutzt wird. Dependabot untersucht keine Projektkonfigurationen, um festzustellen, ob die Pakete aus einer privaten Registrierung stammen, daher sind wir nicht sicher, ob Sie die schädliche Version oder eine nicht schädliche Version verwenden. Benutzer, die ihre Abhängigkeiten entsprechend abgesichert haben, sollten nicht von Schadsoftware betroffen sein.
Informationen in Sicherheitsempfehlungen
In diesem Abschnitt finden Sie ausführlichere Informationen zu bestimmten Datenattributen von GitHub Advisory Database.
GHSA-IDs
Jede Sicherheitsempfehlung weist unabhängig vom Typ einen eindeutigen Bezeichner auf, der als GHSA-ID bezeichnet wird. Ein GHSA-ID-Qualifizierer wird zugewiesen, wenn eine neue Empfehlung für GitHub erstellt oder aus einer der unterstützten Quellen zu GitHub Advisory Database hinzugefügt wird.
Die Syntax der GHSA-IDs folgt dem Format GHSA-xxxx-xxxx-xxxx, wobei Folgendes gilt:
-
`x` ist ein Buchstabe oder eine Zahl aus der folgenden Gruppe: `23456789cfghjmpqrvwx`. - Außerhalb des
GHSA-Anteils des Namens:- Die Zahlen und Buchstaben werden nach dem Zufallsprinzip zugewiesen.
- Alle Buchstaben werden in Kleinbuchstaben geschrieben.
Du kannst eine GHSA-ID mithilfe eines regulären Ausdrucks überprüfen.
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
CVSS-Ebenen
Die GitHub Advisory Database unterstützt sowohl CVSS Version 3.1 als auch CVSS Version 4.0.
Jede Sicherheitsempfehlung enthält Informationen zum jeweiligen Sicherheitsrisiko oder zur jeweiligen Schadsoftware, z. B. Beschreibung, Schweregrad, betroffenes Paket, Paketökosystem, betroffenen Versionen und Patchversionen, Auswirkungen sowie optionale Informationen wie Verweise, Problemumgehungen und Quellen. Zudem enthalten die Empfehlungen aus der Liste der National Vulnerability Database einen Link zum CVE-Eintrag mit weiteren Details zum Sicherheitsrisiko, der CVSS-Bewertung und dem qualitativen Schweregrad. Weitere Informationen findest du unter National Vulnerability Database des National Institute of Standards and Technology (NIST).
Der Schweregrad ist eine von vier möglichen Ebenen, die in Abschnitt 5 des Common Vulnerability Score System (CVSS) (Allgemeines Bewertungssystem für Schwachstellen) definiert sind.
- Low
- Mittel/Moderat
- High
- Kritisch
GitHub Advisory Database verwendet die oben beschriebenen CVSS-Ebenen. Wenn GitHub ein CVE erhalten, verwendet GitHub Advisory Database die CVSS-Version, die vom Betreuer zugewiesen wurde. Dies kann Version 3.1 oder 4.0 sein. Wird der CVE-Eintrag importiert, unterstützt GitHub Advisory Database die CVSS-Versionen 4.0, 3.1 und 3.0.
Du kannst auch GitHub Security Lab beitreten, um sicherheitsbezogene Themen zu durchsuchen und zu Sicherheitstools und Projekten beizutragen.
EPSS-Werte
Das Exploit Prediction Scoring System, kurz EPSS, ist ein System, das vom globalen Forum of Incident Response and Security Teams (FIRST) entwickelt wurde, um die Wahrscheinlichkeit, dass ein Sicherheitsrisiko ausgenutzt wird, zu quanitifizieren. Das Modell erzeugt eine Wahrscheinlichkeitsbewertung zwischen 0 und 1 (0 und 100 %). Je höher der Wert ist, desto größer ist die Wahrscheinlichkeit, dass ein Sicherheitsrisiko ausgenutzt wird. Weitere Informationen zu FIRST finden Sie unter https://www.first.org/.
Die GitHub Advisory Database enthält EPSS-Bewertungen aus FIRST für Empfehlungen, die CVEs mit entsprechenden EPSS-Daten enthalten. GitHub zeigt auch das EPSS-Bewertungsperzentil an, das den Anteil aller bewerteten Sicherheitsrisiken mit demselben oder einem niedrigeren EPSS-Wert darstellt.
Wenn beispielsweise eine Empfehlung eine EPSS-Bewertung mit einem Prozentsatz von 90,534 % im 95. Perzentil hat, bedeutet dies laut dem EPSS-Modell:
- Es besteht eine 90%ige Wahrscheinlichkeit, dass diese Schwachstelle in den nächsten 30 Tagen in freier Wildbahn ausgenutzt wird.
- Bei 95 % der insgesamt modellierten Schwachstellen ist es weniger wahrscheinlich, dass sie in den nächsten 30 Tagen ausgenutzt werden als diese Schwachstelle.
Zustäzliche Informationen zur Interpretation dieser Daten finden Sie im EPSS-Handbuch von FIRST. Diese Informationen helfen Ihnen zu verstehen, wie Prozentsatz und Quantil verwendet werden können, um die Wahrscheinlichkeit zu interpretieren, dass ein Sicherheitsrisiko gemäß dem Modell von FIRST in der Praxis ausgenutzt werden könnte. Weitere Informationen finden Sie im EPSS-Handbuch von FIRST auf der FIRST-Website.
FIRST liefert außerdem zusätzliche Informationen zur Verteilung ihrer EPSS-Daten. Weitere Informationen finden Sie in der EPSS-Daten- und Statistikdokumentation auf der FIRST-Website.
Hinweis
GitHub hält EPSS-Daten über eine tägliche Synchronisierungsaktion auf dem neuesten Stand. Während EPSS-Bewertungsprozentsätze immer vollständig synchronisiert werden, werden Bewertungsquantile nur aktualisiert, wenn sie sich erheblich unterscheiden.
Bei GitHub erstellen wir diese Daten nicht, sondern binden die Daten von FIRST ein, was bedeutet, dass diese Daten in Community-Beiträgen nicht bearbeitet werden können. Weitere Informationen zu Communitybeiträgen findest du unter Bearbeiten von Sicherheitshinweisen in GitHub Advisory Database.
Beiträge der Gemeinschaft
Ein Communitybeitrag ist eine Pullanforderung, die an das github/advisory-database-Repository übermittelt wird und den Inhalt einer globalen Sicherheitsempfehlung verbessert. Wenn Sie einen Community-Beitrag leisten, können Sie alle Details bearbeiten oder hinzufügen, einschließlich zusätzlicher betroffener Ökosysteme, der Schweregrad oder der Beschreibung, wer betroffen ist. Das GitHub Security Lab-Kuratorenteam überprüft die eingereichten Beiträge und veröffentlicht sie in GitHub Advisory Database, falls sie akzeptiert werden.
Wenn wir die Community-Beiträge akzeptieren und veröffentlichen, wird der Person, die den Community-Beitrag Pull Request übermittelt hat, automatisch der Anerkennungstyp „Analyst“ zugewiesen. Weitere Informationen findest du unter Erstellen einer Sicherheitsempfehlung für ein Repository.
Weiterführende Lektüre
-
[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts) - Die Definition für „Sicherheitsanfälligkeit“ des CVE-Programms