Skip to main content

Informationen zur Lieferkettensicherheit

Mit GitHub Enterprise Cloud kannst du deine Lieferkette absichern, indem du Informationen über die Abhängigkeiten in deiner Umgebung bis zu den Sicherheitsrisiken dieser Abhängigkeiten erhältst und diese patchen kannst{.

Informationen zur Lieferkettensicherheit auf GitHub

Aufgrund der zunehmenden Verwendung von Open-Source-Lösungen hängen die meisten Projekte von Hunderten von Open-Source-Abhängigkeiten ab. Dies stellt ein Sicherheitsproblem dar: Was ist, wenn die von Ihnen verwendeten Abhängigkeiten Sicherheitsrisiken aufweisen? Du könntest deine Benutzer*innen dem Risiko eines Lieferkettenangriffs aussetzen. Eine der wichtigsten Maßnahmen zum Schutz deiner Lieferkette besteht darin, deine anfälligen Abhängigkeiten zu patchen und jegliche Schadsoftware zu ersetzen.

Du fügst Abhängigkeiten direkt deiner Lieferkette hinzu, wenn du sie in einer Manifest- oder Sperrdatei angibst. Abhängigkeiten können aber auch transitiv eingeschlossen werden. Dies bedeutet, dass, auch wenn du eine bestimmte Abhängigkeit nicht angibst, eine deiner Abhängigkeiten diese jedoch verwendet, du ebenfalls von dieser Abhängigkeit abhängig bist.

GitHub Enterprise Cloud bietet eine Reihe von Funktionen, die Ihnen helfen, die Abhängigkeiten in Ihrer Umgebung zu verstehen, über Schwachstellen in diesen Abhängigkeiten Bescheid zu wissen und diese zu beheben.

Die Lieferkettenfeatures auf GitHub Enterprise Cloud sind:

  • Abhängigkeitsdiagramm
  • Abhängigkeitsüberprüfung
  • Dependabot alerts
  • Dependabot updates
    • Dependabot security updates
    • Dependabot version updates

Das Abhängigkeitsdiagramm ist von zentraler Bedeutung für die Lieferkettensicherheit. Es zeigt alle Upstreamabhängigkeiten eines Repositorys oder Pakets sowie alle öffentlichen Downstreamelemente, die von diesem Repository bzw. Paket abhängig sind. Im Abhängigkeitsdiagramm für das Repository kannst du die Abhängigkeiten deines Repositorys sowie einige der Eigenschaften dieser Abhängigkeiten sehen, z. B. Informationen zu Sicherheitsrisiken.

Andere Lieferkettenfeatures auf GitHub nutzen die Informationen aus dem Abhängigkeitsdiagramm.

  • Die Abhängigkeitsüberprüfung verwendet das Abhängigkeitsdiagramm, um Änderungen bei Abhängigkeiten zu erkennen und Ihnen dabei zu helfen, beim Überprüfen von Pull Requests die Auswirkungen dieser Änderungen auf die Sicherheit zu verstehen.
  • Dependabot gleicht die vom Abhängigkeitsdiagramm bereitgestellten Abhängigkeitsdaten mit der in GitHub Advisory Database veröffentlichten Liste bekannter Sicherheitsrisiken ab, überprüft deine Abhängigkeiten und generiert Dependabot alerts, wenn ein potenzielles Sicherheitsrisiko erkannt wurde.
  • Dependabot security updates verwenden das Abhängigkeitsdiagramm und Dependabot alerts, um dich beim Aktualisieren von Abhängigkeiten mit bekannten Sicherheitsrisiken in deinem Repository zu unterstützen.

Dependabot version updates verwenden nicht das Abhängigkeitsdiagramm, sondern die semantische Versionierung von Abhängigkeiten. Dependabot version updates hilft dir dabei, deine Abhängigkeiten auf dem jeweils aktuellen Stand zu halten, auch wenn keine Sicherheitsrisiken vorliegen.

Leitfäden mit bewährten Methoden zur Sicherheit der gesamten Lieferkette, einschließlich des Schutzes von persönlichen Konten, Code und Prozessen, findest du unter Sichern einer End-to-End-Lieferkette.

Funktionsübersicht

Was ist das Abhängigkeitsdiagramm?

Zum Generieren des Abhängigkeitsdiagramms überprüft GitHub die expliziten, im Manifest und in Sperrdateien deklarierten Abhängigkeiten eines Repositorys. Wenn das Abhängigkeitsdiagramm aktiviert ist, parst es automatisch alle bekannten Paketmanifestdateien im Repository und verwendet diese, um ein Diagramm mit den Namen und Versionen bekannter Abhängigkeiten zu erstellen.

  • Das Abhängigkeitsdiagramm enthält Informationen zu deinen direkten und transitiven Abhängigkeiten.
  • Das Abhängigkeitsdiagramm wird automatisch aktualisiert, wenn du einen Commit an GitHub pushst, der eine unterstützte Manifest- oder Sperrdatei für den Standardbranch ändert oder hinzufügt, und wenn jemand eine Änderung an das Repository einer deiner Abhängigkeiten pusht.
  • Du kannst das Abhängigkeitsdiagramm anzeigen, indem du die Hauptseite des Repositorys auf GitHub Enterprise Cloud öffnest und zur Registerkarte Erkenntnisse navigierst.
  • Wenn du mindestens Lesezugriff auf das Repository hast, kannst du das Abhängigkeitsdiagramm für das Repository als SPDX-kompatible Softwarestückliste (Bill of Materials, SBOM) über die GitHub-Benutzeroberfläche oder die GitHub-REST-API exportieren. Weitere Informationen findest du unter Exportieren einer Software-Stückliste (Software Bill of Materials, SBOM) für dein Repository.

Darüber hinaus können Sie die Abhängigkeitsübermittlungs-API (Beta) verwenden, um Abhängigkeiten vom Paket-Manager oder Ökosystem Ihrer Wahl zu übermitteln, auch wenn das Ökosystem vom Abhängigkeitsdiagramm für die Manifest- oder Sperrdateianalyse nicht unterstützt wird. Abhängigkeiten, die mithilfe der Abhängigkeitsübermittlungs-API (Beta) an ein Projekt übermittelt wurden, zeigen an, welcher Detektor für die Übermittlung verwendet wurde und wann sie übermittelt wurden. Weitere Informationen zur Abhängigkeitsübermittlungs-API finden Sie unter „Verwenden der Abhängigkeitsübermittlungs-API.“

Weitere Informationen zum Abhängigkeitsdiagramm findest du unter Informationen zum Abhängigkeitsdiagramm.

Was ist die Abhängigkeitsüberprüfung?

Die Abhängigkeitsüberprüfung hilft Reviewer*innen und Mitwirkenden dabei, Änderungen bei Abhängigkeiten und deren Auswirkungen auf die Sicherheit in allen Pull Requests zu verstehen.

  • Die Abhängigkeitsüberprüfung teilt Ihnen mit, welche Abhängigkeiten in einem Pull Request hinzugefügt, entfernt oder aktualisiert wurden. Du kannst das Veröffentlichungsdatum, die Beliebtheit von Abhängigkeiten und Informationen zu Sicherheitsrisiken verwenden, um zu entscheiden, ob du die Änderung annehmen möchtest.
  • Du kannst die Abhängigkeitsüberprüfung für einen Pull Request einsehen, indem du auf der Registerkarte Geänderte Dateien das Rich-Diff anzeigst.

Weitere Informationen zur Abhängigkeitsüberprüfung findest du unter Informationen zur Abhängigkeitsüberprüfung.

Was ist Dependabot?

Dependabot hält deine Abhängigkeiten auf dem jeweils aktuellen Stand, indem du über Sicherheitsrisiken bei deinen Abhängigkeiten informiert wirst und automatisch Pull Requests zum Upgraden deiner Abhängigkeiten auf die nächste verfügbare sichere Version geöffnet werden, wenn eine Dependabot-Warnung ausgelöst wird, oder zum Upgraden auf die aktuelle Version, wenn ein Release veröffentlicht wird.

Der Begriff „Dependabot“ beschreibt die folgenden Features:

  • Dependabot alerts: Hierbei handelt es sich um eine Benachrichtigung, die auf der Registerkarte Sicherheit für das Repository sowie im Abhängigkeitsdiagramm des Repositorys angezeigt wird. Die Warnung enthält einen Link zur betroffenen Datei im Projekt sowie Informationen zu einer Version, bei der das Problem behoben wurde.
  • Dependabot updates:
    • Dependabot security updates: Hierbei handelt es sich um Updates, die ausgelöst werden, damit deine Abhängigkeiten auf eine sichere Version upgegradet werden, sobald eine Warnung ausgelöst wird.
    • Dependabot version updates: Hierbei handelt es sich um geplante Updates, mit denen deine Abhängigkeiten auf dem neuesten Stand (aktuelle Version) gehalten werden.

Dependabot alerts, Dependabot security updates und Dependabot version updates nutzen GitHub Actions nicht, wenn sie auf GitHub Enterprise Cloud ausgeführt werden. Allerdings können Pull Requests, die von Dependabot geöffnet werden, Workflows zum Ausführen von Aktionen auslösen. Weitere Informationen findest du unter Automatisieren von Dependabot mit GitHub Actions.

Dependabot security updates kann anfällige Abhängigkeiten in GitHub Actions beheben. Wenn Sicherheitsupdates aktiviert sind, löst Dependabot automatisch einen Pull Request aus, um anfällige GitHub Actions, die in deinen Workflows verwendet werden, auf die gepatchte Mindestversion zu aktualisieren. Weitere Informationen findest du unter Informationen zu Dependabot-Sicherheitsupdates.

Was sind Dependabot-Warnungen?

Dependabot alerts hebt Repositories hervor, die von einer neu entdeckten Sicherheitslücke betroffen sind, basierend auf dem Abhängigkeitsdiagramm und der GitHub Advisory Database, die Hinweise auf bekannte Sicherheitsrisiken enthält.

  • Dependabot führt eine Überprüfung zur Erkennung von unsicheren Abhängigkeiten durch und sendet Dependabot alerts, wenn:
    • Ein neues Sicherheitsrisiko wird GitHub Advisory Database hinzugefügt.
    • Das Abhängigkeitsdiagramm für das Repository sich ändert
  • Dependabot alerts werden auf der Registerkarte Sicherheit für das Repository sowie im Abhängigkeitsdiagramm des Repositorys angezeigt. Die Warnung enthält einen Link zur betroffenen Datei im Projekt sowie Informationen zu einer Version, bei der das Problem behoben wurde.

Weitere Informationen findest du unter Informationen zu Dependabot-Warnungen.

Was sind Dependabot-Updates?

Es gibt zwei Arten von Dependabot updates: Dependabot-Sicherheitsupdates und -Versionsupdates. Dependabot generiert zwar in beiden Fällen automatische Pull Requests zum Aktualisieren deiner Abhängigkeiten, es gibt jedoch einige Unterschiede.

Dependabot security updates:

  • Werden durch eine Dependabot-Warnung ausgelöst
  • Aktualisieren Abhängigkeiten auf die niedrigste Version, in der ein bekanntes Sicherheitsrisiko beseitigt wurde
  • Werden für die Ökosysteme unterstützt, die das Abhängigkeitsdiagramm unterstützt
  • Erfordert keine Konfigurationsdatei. Du kannst jedoch eine verwenden, um das Standardverhalten außer Kraft zu setzen.

Dependabot version updates:

  • Erfordert eine Konfigurationsdatei
  • Werden basierend auf einem von Ihnen konfigurierten Zeitplan ausgeführt
  • Aktualisieren Abhängigkeiten auf die aktuellste Version für die Konfiguration
  • Werden für eine andere Gruppe von Ökosystemen unterstützt

Weitere Informationen zu Dependabot updates findest du unter Informationen zu Dependabot-Sicherheitsupdates und Informationen zu Updates von Dependabot-Versionen.

Verfügbarkeit von Funktionen

Öffentliche Repositorys:

  • Abhängigkeitsdiagramm: standardmäßig aktiviert und kann nicht deaktiviert werden
  • Abhängigkeitsüberprüfung: standardmäßig aktiviert und kann nicht deaktiviert werden
  • Dependabot alerts: nicht standardmäßig aktiviert. GitHub erkennt unsichere Abhängigkeiten und zeigt Informationen im Abhängigkeitsdiagramm an, generiert aber nicht standardmäßig Dependabot alerts. Repositorybesitzer*innen oder Personen mit Administratorzugriff können Dependabot alerts aktivieren. Zudem kannst du Dependabot-Warnungen für alle Repositorys aktivieren oder deaktivieren, die deinem Benutzerkonto oder deiner Organisation gehören. Weitere Informationen findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für dein persönliches Konto oder Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation.

Private Repositorys:

Alle Repositorytypen:

  • Dependabot security updates: nicht standardmäßig aktiviert. Du kannst Dependabot security updates für jedes Repository aktivieren, das Dependabot alerts und das Abhängigkeitsdiagramm verwendet. Weitere Informationen zum Aktivieren von Sicherheitsupdates findest du unter Konfigurieren von Dependabot-Sicherheitsupdates.
  • Dependabot version updates: nicht standardmäßig aktiviert. Personen mit Schreibberechtigungen für ein Repository können Dependabot version updates aktivieren. Weitere Informationen zum Aktivieren von Versionsupdates findest du unter Konfigurieren von Versionsupdates von Dependabot.