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.
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 AE bietet eine Reihe von Features, die dir dabei helfen, die Abhängigkeiten in deiner Umgebung und die Sicherheitsrisiken dieser Abhängigkeiten zu verstehen.
Die Lieferkettenfeatures auf GitHub AE sind:
- Abhängigkeitsdiagramm
- Abhängigkeitsüberprüfung
- Dependabot alerts
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 Empfehlungsliste ab, überprüft deine Abhängigkeiten und generiert Dependabot alerts, wenn ein potenzielles Sicherheitsrisiko erkannt wurde.
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 AE öffnest und zur Registerkarte Erkenntnisse navigierst.
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, damit du die betreffende Abhängigkeit aktualisieren kannst.
GitHub Actions wird nicht benötigt, um Dependabot alerts auf GitHub AE auszuführen.
Was sind Dependabot-Warnungen?
Dependabot alerts heben Repositorys hervor, die von einem neu entdeckten Sicherheitsrisiko betroffen sind, basierend auf dem Abhängigkeitsdiagramm sowie GitHub Advisory Database hervor. Diese Datenbank enthält Empfehlungen für bekannte Sicherheitsrisiken.
- Dependabot führt eine Überprüfung zur Erkennung von unsicheren Abhängigkeiten durch und sendet Dependabot alerts, wenn:
- Neue Empfehlungsdaten werden stündlich zwischen GitHub.com und dein Unternehmen synchronisiert. Weitere Informationen findest du unter Durchsuchen von Sicherheitsempfehlungen in der GitHub Advisory Database.
- Das Abhängigkeitsdiagramm für das Repository sich ändert
- Dependabot alerts werden im Abhängigkeitsdiagramm des Repositorys angezeigt. Die Warnung enthält Informationen zu einer Version, bei der das Problem behoben wurde.
Weitere Informationen findest du unter Informationen zu Dependabot-Warnungen.
Verfügbarkeit von Funktionen
- Abhängigkeitsdiagramm und Dependabot alerts: nicht standardmäßig aktiviert. Beide Features werden auf Unternehmensebene vom Unternehmensinhaber bzw. von der Unternehmensinhaberin konfiguriert. Weitere Informationen findest du unter Aktivieren von Dependabot für dein Unternehmen.
- Abhängigkeitsüberprüfung: Verfügbar, wenn das Abhängigkeitsdiagramm für dein Unternehmen und Advanced Security für die Organisation oder das Repository aktiviert sind. Weitere Informationen findest du unter Informationen zu GitHub Advanced Security.