Skip to main content

Informationen zum Abhängigkeitsdiagramm

Du kannst das Abhängigkeitsdiagramm verwenden, um alle Abhängigkeiten deines Projekts zu identifizieren. Das Abhängigkeitsdiagramm unterstützt eine Reihe beliebter Paketökosysteme.

Wer kann dieses Feature verwenden?

Das Abhängigkeitsdiagramm ist für alle Repositorys verfügbar.

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, also die Ökosysteme und Pakete, von denen es abhängig ist.

Für jede Abhängigkeit kannst du die Version, die Manifestdatei, die diese enthielt, und die Antwort auf die Frage anzeigen, ob es bekannte Sicherheitsrisiken gibt. Für Paketökosysteme, die transitive Abhängigkeiten unterstützen, wird der Beziehungsstatus angezeigt, und du kannst auf „“ und dann auf „Show paths“ klicken, um den transitiven Pfad anzuzeigen, der die Abhängigkeit eingeführt hat.

Du kannst auch über die Suchleiste nach einer bestimmten Abhängigkeit suchen. Abhängigkeiten werden automatisch so sortiert, dass Sicherheitsrisiken oben stehen.

GitHub ruft keine Lizenzinformationen für Abhängigkeiten ab und berechnet keine Informationen über Abhängigkeiten, Repositorys und Pakete, die von einem Repository abhängen.

Wenn Sie einen Pushvorgang für ein Commit an GitHub ausführen, das eine unterstützte Manifest- oder Sperrdatei ändert oder der Standardverzweigung hinzufügt, wird das Abhängigkeitsdiagramm automatisch aktualisiert.

Weitere Informationen zu den unterstützten Ökosystemen und Manifestdateien finden Sie unter Von Abhängigkeitsdiagrammen 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 einer Pullanforderung, die Änderungen an Abhängigkeiten enthält und auf den Standardbranch abzielt, verwendet GitHub das Abhängigkeitsdiagramm, um Abhängigkeitsüberprüfungen zur Pullanforderung 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

Unternehmensbesitzende können das Abhängigkeitsdiagramm und Dependabot alerts für ein Unternehmen konfigurieren. Weitere Informationen findest du unter Aktivieren des Abhängigkeitsdiagramms für dein Unternehmen und Aktivieren von Dependabot für dein Unternehmen.

Weitere Informationen zur Konfiguration des Abhängigkeitsdiagramms finden Sie unter Konfigurieren des Abhängigkeitsdiagramms.

Abhängigkeiten enthalten

Das Abhängigkeitsdiagramm enthält alle Abhängigkeiten eines Repositorys, die im Manifest und in den Sperrdateien oder deren Entsprechungen für unterstützte Ökosysteme beschrieben werden, sowie alle Abhängigkeiten, die mittels Abhängigkeitsübermittlungs-API übermittelt werden. Dazu gehören:

  • Direkte Abhängigkeiten, die explizit in einer Manifest- oder Sperrdatei definiert sind oder mittels Abhängigkeitsübermittlungs-API übermittelt wurden
  • Indirekte Abhängigkeiten dieser direkten Abhängigkeiten, auch bekannt als transitive Abhängigkeiten oder Unterabhängigkeiten bezeichnet

Im Abhängigkeitsdiagramm werden indirekte Abhängigkeiten aus den Sperrdateien zu testen und zu debuggen. Wenn es in Ihrem Ökosystem keine Sperrdateien gibt, können Sie vordefinierte Aktionen verwenden, die transitive Abhängigkeiten für zahlreiche Ökosysteme auflösen. Weitere Informationen finden Sie unter Verwenden der Abhängigkeitsübermittlungs-API.

Weitere Informationen dazu, wie GitHub Sie beim Verstehen der Abhängigkeiten in Ihrer Umgebung unterstützt, finden Sie unter Informationen zur Lieferkettensicherheit.

Was Sie mit dem Abhängigkeitsdiagramm tun können

Du kannst das Abhängigkeitsdiagramm verwenden, um folgende Aktionen auszuführen:

Weiterführende Lektüre

  •         [Abhängigkeitsdiagramm](https://en.wikipedia.org/wiki/Dependency_graph) auf Wikipedia
    
  •         [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository)
    
  •         [AUTOTITLE](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)
    
  •         [AUTOTITLE](/code-security/dependabot/troubleshooting-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies)