Skip to main content

Diese Version von GitHub Enterprise Server wurde eingestellt am 2026-06-02. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise Server. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Abhängigkeitsüberprüfung

Mit der Abhängigkeitsüberprüfung können Sie unsichere Abhängigkeiten abfangen, bevor Sie sie in Ihre Umgebung einführen und Informationen zu Lizenz, Abhängigen und Alter von Abhängigkeiten bereitstellen.

Wer kann dieses Feature verwenden?

Die Abhängigkeitsüberprüfung ist für die folgenden Repositorytypen verfügbar:

Informationen zur Abhängigkeitsüberprüfung

Die Abhängigkeitsüberprüfung hilft Dir, Abhängigkeitsänderungen und die Sicherheitswirkung dieser Änderungen bei jedem Pull Request zu verstehen. Sie bietet eine leicht verständliche Visualisierung von Abhängigkeitsänderungen mit Rich-Diff auf der Registerkarte „Geänderte Dateien“ eines Pull Requests. Die Abhängigkeitsüberprüfung informiert Dich über:

  • Welche Abhängigkeiten hinzugefügt, entfernt oder aktualisiert wurden, sowie die Releasedaten
  • Wie viele Projekte diese Komponenten verwenden
  • Sicherheitsrisikodaten für diese Abhängigkeiten

Bei Pull Requests, die Änderungen an Paketmanifesten oder gesperrten Dateien enthalten, können Sie eine Abhängigkeitsüberprüfung anzeigen, um zu sehen, was sich geändert hat. Die Abhängigkeitsüberprüfung enthält Details zu Änderungen an indirekten Abhängigkeiten in Sperrdateien und sagt Dir, ob eine der hinzugefügten oder aktualisierten Abhängigkeiten bekannte Sicherheitslücken enthält.

Hinweis

Das "Abhängigkeitsüberprüfungsaktion" bezieht sich auf die spezifische Aktion, die über Unterschiede in einer Pullanforderung im GitHub Actions Kontext berichten und dem GitHub Actions Workflow Erzwingungsmechanismen hinzufügen kann. Weitere Informationen finden Sie unter The Abhängigkeitsüberprüfungsaktion weiter unten in diesem Artikel.

Manchmal möchtest du vielleicht nur die Version einer Abhängigkeit in einem Manifest aktualisieren und einen Pull Request erstellen. Wenn die aktualisierte Version dieser direkten Abhängigkeit jedoch auch aktualisierte Abhängigkeiten hat, kann dein Pull Request mehr Änderungen enthalten, als du erwartet hast. Die Überprüfung der Abhängigkeiten für jede Manifest- und Sperrdatei bietet eine einfache Möglichkeit zu sehen, was sich geändert hat und ob eine der neuen Abhängigkeitsversionen bekannte Systemanfälligkeiten enthält.

Indem du die Abhängigkeitsüberprüfungen in einem Pull Request überprüfst und alle Abhängigkeiten änderst, die als anfällig gekennzeichnet sind, kannst du verhindern, dass deinem Projekt Sicherheitsrisiken hinzugefügt werden. Weitere Informationen zur Funktionsweise der Abhängigkeitsüberprüfung finden Sie unter Überprüfen von Abhängigkeitsänderungen in einem Pull Request.

Dependabot alerts findet Schwachstellen, die bereits in Ihren Abhängigkeiten vorhanden sind, aber es ist jedoch deutlich besser, potenzielle Probleme gar nicht erst einzuführen, als sie später zu beheben. Weitere Informationen zu Dependabot alerts findest du unter Dependabot alerts.

Abhängigkeitsüberprüfung unterstützt dieselben Sprachen und Paketverwaltungsökosysteme wie das Abhängigkeitsdiagramm. Weitere Informationen findest du unter Von Abhängigkeitsdiagrammen unterstützte Paket-Ökosysteme.

Weitere Informationen zu den verfügbaren GitHubSupply Chain-Features finden Sie unter Sicherheit der Lieferkette.

Aktivieren der Abhängigkeitsüberprüfung

Das Abhängigkeitsüberprüfungsfeature wird verfügbar, wenn du das Abhängigkeitsdiagramm aktivierst. Weitere Informationen finden Sie unter Aktivieren des Abhängigkeitsdiagramms für Ihr Unternehmen.

Informationen zum Abhängigkeitsüberprüfungsaktion

„Abhängigkeitsüberprüfungsaktion“ bezieht sich auf die spezifische Aktion, die Unterschiede in einem Pull Request innerhalb des GitHub Actions-Kontext melden kann. Siehe dependency-review-action. Du kannst die Abhängigkeitsüberprüfungsaktion in deinem Repository verwenden, um Abhängigkeitsüberprüfungen bei deinen Pull Requests zu erzwingen. Die Aktion sucht nach anfälligen Versionen von Abhängigkeiten, die durch Paketversionsänderungen in Pull Requests eingeführt wurden, und warnt dich vor den damit verbundenen Sicherheitsrisiken. So erhältst du einen besseren Überblick darüber, was sich in einem Pull Request ändert, und kannst verhindern, dass deinem Repository Sicherheitsrisiken hinzugefügt werden.

Screenshot: Workflowausführung, die die Abhängigkeitsüberprüfungsaktion verwendet

Standardmäßig tritt bei der Abhängigkeitsüberprüfungsaktion-Überprüfung ein Fehler auf, wenn sie anfällige Pakete erkennt. Bei einer fehlgeschlagenen Überprüfung wird das Zusammenführen eines Pull Requests blockiert, wenn der bzw. die Repositorybesitzer*in das Bestehen der Abhängigkeitsüberprüfung verlangt. Weitere Informationen finden Sie unter Informationen zu geschützten Branches.

Die Aktion ist für alle Repositories verfügbar, für die GitHub Advanced Security aktiviert ist.

Organisationsbesitzer*innen können die Abhängigkeitsüberprüfung im großen Stil einführen, indem sie die Nutzung der Abhängigkeitsüberprüfungsaktion für Repositorys in der Organisation erzwingen. Dies umfasst die Nutzung von Repository-Regelsätzen, für die Sie die Abhängigkeitsüberprüfungsaktion als erforderlichen Workflow festlegen. Das bedeutet, dass Pull Requests nur zusammengeführt werden können, nachdem der Workflow alle erforderlichen Prüfungen bestanden hat. Weitere Informationen finden Sie unter Durchsetzen der Abhängigkeitsüberprüfung in einer Organisation.

Unternehmensbesitzer und Personen mit Administratorzugriff auf ein Repository können die Abhängigkeitsüberprüfungsaktion ihrem Unternehmen bzw. Repository hinzufügen.

Die Aktion nutzt die Abhängigkeitsüberprüfung der REST-API, um die Abhängigkeitsänderungen zwischen dem Basis-Commit und dem Head-Commit zu ermitteln. Mit der Abhängigkeitsüberprüfungs-API können Sie die Abhängigkeitsänderungen zwischen zwei beliebigen Commits eines Repositorys abrufen, einschließlich der Daten zu Sicherheitsrisiken. Weitere Informationen findest du unter REST-API-Endpunkte für die Abhängigkeitsüberprüfung. Die Aktion berücksichtigt auch Abhängigkeiten, die über die Abhängigkeitsübermittlungs-API übermittelt wurden. Weitere Informationen zum Abhängigkeitsübermittlungs-API findest du unter Verwenden der Abhängigkeitsübermittlungs-API.

Sie können Abhängigkeitsüberprüfungsaktion so konfigurieren, dass es Ihren Anforderungen besser entspricht. Sie können z. B. den Schweregrad angeben, bei dem die Aktion fehlschlägt. Weitere Informationen findest du unter Konfigurieren der Aktion zur Überprüfung von Abhängigkeiten.

Bewährte Methoden für die gemeinsame Verwendung der API für die Abhängigkeitsüberprüfung und des Abhängigkeitsübermittlungs-API

Die Abhängigkeitsüberprüfungs-API und Abhängigkeitsüberprüfungsaktion arbeiten beide, indem sie Abhängigkeitsänderungen in einem Pull Request mit dem Stand Ihrer Abhängigkeiten im Head-Commit Ihres Zielzweigs vergleichen.

Wenn Ihr Repository nur statisch definierte Abhängigkeiten in einem der von GitHub unterstützten Ökosysteme verwendet, funktionieren die API zur Abhängigkeitsüberprüfung und Abhängigkeitsüberprüfungsaktion konsistent.

Möglicherweise möchten Sie jedoch, dass Ihre Abhängigkeiten während eines Builds gescannt und dann in die Abhängigkeitsübermittlungs-APIDatei hochgeladen werden. In diesem Fall gibt es einige bewährte Methoden, die Sie befolgen sollten, um sicherzustellen, dass Sie beim Ausführen der Prozesse für die Abhängigkeitsüberprüfungs-API und die Abhängigkeitsübermittlungs-APIAPI keine Racebedingung einführen, da dies zu fehlenden Daten führen könnte.

Welche bewährten Methoden Sie befolgen sollten, hängt davon ab, ob Sie GitHub Actions verwenden, um auf Abhängigkeitsübermittlungs-API und die API für die Abhängigkeitsüberprüfung zuzugreifen, oder ob Sie direkten Zugriff auf die API verwenden.

Verwenden von GitHub Actions für den Zugriff auf Abhängigkeitsübermittlungs-API und die API zur Abhängigkeitsüberprüfung

Wenn Sie GitHub Actions verwenden, um auf Abhängigkeitsübermittlungs-API oder die API für die Abhängigkeitsüberprüfung zuzugreifen:

  • Stellen Sie sicher, dass Sie alle Aktionen zur Übermittlung von Abhängigkeiten im selben GitHub Actions Workflow wie für Ihre Abhängigkeitsüberprüfungsaktion ausführen. Dadurch können Sie die Reihenfolge der Ausführung steuern und sicherstellen, dass die Abhängigkeitsüberprüfung immer funktioniert.
  • Wenn Sie sich jedoch dafür entscheiden, Abhängigkeitsüberprüfungsaktion separat auszuführen, sollten Sie:
    • Setze retry-on-snapshot-warnings auf true.
    • retry-on-snapshot-warnings-timeout so einstellen, dass es die typische Laufzeit (in Sekunden) Ihrer am längsten laufenden Abhängigkeitsübermittlungsaktion leicht überschreitet.

Verwenden des direkten API-Zugriffs auf die Abhängigkeitsübermittlungs-API API und die Abhängigkeitsüberprüfungs-API

Wenn Sie GitHub Actions nicht verwenden und Ihr Code auf direkten Zugriff auf die Abhängigkeitsübermittlungs-API und die API zur Überprüfung von Abhängigkeiten angewiesen ist:

  • Stellen Sie sicher, dass Sie den Code ausführen, der zuerst Abhängigkeitsübermittlungs-API aufruft, und führen Sie dann den Code aus, der die Abhängigkeitsüberprüfungs-API anschließend aufruft.
  • Wenn Sie den Code für die Abhängigkeitsübermittlungs-API Und die Abhängigkeitsüberprüfungs-API parallel ausführen möchten, sollten Sie eine Wiederholungslogik implementieren und Folgendes beachten:
    • Wenn für beide Seiten des Vergleichs Snapshots fehlen, wird eine Erklärung dafür im x-github-dependency-graph-snapshot-warnings Header (als base64-codierte Zeichenfolge) angezeigt. Wenn die Kopfzeile nicht leer ist, sollten Sie daher erwägen, es erneut zu versuchen.
    • Implementieren Sie eine Wiederholungslogik mit exponentiellen Backoff-Wiederholungen.
    • Implementieren Sie eine angemessene Anzahl von Wiederholungen, um die typische Laufzeit Ihres Abhängigkeitsübermittlungscodes zu berücksichtigen.

Weiterführende Lektüre