Informationen zum Abhängigkeitsdiagramm
Das Abhängigkeitsdiagramm ist eine Zusammenfassung von Manifest- und gesperrten Dateien, die in einem Repository gespeichert sind, und aller mithilfe der Abhängigkeitsübermittlungs-API für das Repository übermittelten Abhängigkeiten. Für jedes Repository wird Folgendes angezeigt:
- Abhängigkeiten (die Ökosysteme und Pakete, von denen es abhängig ist)
- Abhängige Elemente (die Repositorys und Pakete, die von ihm abhängig sind)
Für jede Abhängigkeit werden die Lizenzinformationen und Sicherheitsrisikoschweregrade angezeigt. Du kannst auch über die Suchleiste nach einer bestimmten Abhängigkeit suchen. Abhängigkeiten werden automatisch nach dem Sicherheitsrisikoschweregrad sortiert.
Wenn du ein Commit an GitHub pushst, das eine unterstützte Manifest- oder Sperrdatei ändert oder dem Standardbranch hinzufügt, wird das Abhängigkeitsdiagramm automatisch aktualisiert. Darüber hinaus wird das Diagramm aktualisiert, wenn eine Person eine Änderung an das Repository einer deiner Abhängigkeiten pusht.
Weitere Informationen über die unterstützten Ökosysteme und Manifestdateien findest du unter Abhängigkeitsdiagramm unterstützte Paket-Ökosysteme.
Darüber hinaus können Sie mit der Abhängigkeitsübermittlungs-API auch dann Abhängigkeiten aus dem Paket-Manager oder Ökosystem Ihrer Wahl übermitteln, wenn das Ökosystem vom Abhängigkeitsdiagramm für die Analyse von Manifest- oder gesperrten Dateien nicht unterstützt wird. Abhängigkeiten, die mit der Abhängigkeitsübermittlungs-API an ein Projekt übermittelt wurden, zeigen an, welche Erkennung für die Übermittlung verwendet wurde und wann die Übermittlung erfolgt ist. Weitere Informationen zur Abhängigkeitsübermittlungs-API findest du unter Verwenden der Abhängigkeitsübermittlungs-API.
Beim Erstellen eines Pull Requests, der Änderungen an Abhängigkeiten enthält und auf den Standardbranch abzielt, verwendet GitHub das Abhängigkeitsdiagramm, um Abhängigkeitsüberprüfungen zum Pull Request hinzuzufügen. Diese geben an, ob die Abhängigkeiten Sicherheitsrisiken enthalten und zeigen ggf. die Version der Abhängigkeit an, in der die Sicherheitsanfälligkeit behoben wurde. Weitere Informationen finden Sie unter Informationen zur Abhängigkeitsüberprüfung.
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 finden Sie unter Exportieren einer Software-Stückliste (Software Bill of Materials, SBOM) für dein Repository.
Verfügbarkeit von Abhängigkeitsdiagrammen
Das Abhängigkeitsdiagramm wird automatisch für alle öffentlichen Repositorys generiert. Du kannst es für Forks und für private Repositorys aktivieren. Weitere Informationen findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für dein Repository.
Repositoryadministrator*innen können das Abhängigkeitsdiagramm außerdem für private Repositorys einrichten. Weitere Informationen finden Sie unter Konfigurieren des Abhängigkeitsdiagramms.
Abhängigkeiten enthalten
Das Abhängigkeitsdiagramm enthält alle Abhängigkeiten eines Repositorys, die in den Manifest- und gesperrten Dateien oder deren Entsprechung für unterstützte Ökosysteme aufgeführt werden, sowie alle Abhängigkeiten, die mit der Abhängigkeitsübermittlungs-API übermittelt werden. Dies umfasst:
- Direkte Abhängigkeiten, die explizit in einer Manifest- oder gesperrten Datei definiert sind, oder mit der Abhängigkeitsübermittlungs-API übermittelt wurden
- Indirekte Abhängigkeiten dieser direkten Abhängigkeiten, auch bekannt als transitive Abhängigkeiten oder Unterabhängigkeiten bezeichnet
Das Abhängigkeitsdiagramm enthält indirekte Abhängigkeiten nur, wenn sie in einer gesperrten Datei definiert sind oder mit der Abhängigkeitsübermittlungs-API übermittelt wurden. Für eine optimale Zuverlässigkeit des Diagramms solltest du Sperrdateien (oder deren Entsprechungen) verwenden, da sie genau definieren, welche Versionen der direkten und indirekten Abhängigkeiten derzeit verwendet werden. Wenn du Sperrdateien verwendest, stelle auch sicher, dass alle Mitwirkenden des Repositorys dieselben Versionen verwenden, wodurch es dir erleichtert wird, Code. Wenn Ihr Ökosystem keine gesperrten Dateien aufweist, können Sie vordefinierte Aktionen verwenden, die transitive Abhängigkeiten für viele Ökosysteme auflösen. Weitere Informationen finden Sie unter Verwenden der Abhängigkeitsübermittlungs-API.
Weitere Informationen dazu, wie GitHub dabei hilft, die Abhängigkeiten in deiner Umgebung zu verstehen, findest du unter Informationen zur Lieferkettensicherheit.
Abhängige Objekte enthalten
Bei öffentlichen Repositorys werden nur öffentliche Repositorys im Bericht angezeigt, die von ihnen oder den von ihnen veröffentlichten Paketen abhängig sind. Für private Repositorys werden diese Informationen nicht im Bericht angezeigt.
Verwenden des Abhängigkeitsdiagramms
Du kannst das Abhängigkeitsdiagramm verwenden, um folgende Aktionen auszuführen:
- Erkunden der Repositorys, von denen dein Code abhängig ist,, und denen, die von ihm abhängig sind. Weitere Informationen finden Sie unter Untersuchen der Abhängigkeiten eines Repositorys.
- Anzeigen und Aktualisieren von sicherheitsanfälligen Abhängigkeiten für dein Repository. Weitere Informationen finden Sie unter Informationen zu Dependabot-Warnungen.
- Informationen zu sicherheitsanfälligen Abhängigkeiten in Pull Requests. Weitere Informationen finden Sie unter Überprüfen von Abhängigkeitsänderungen in einem Pull Request.