Skip to main content

Informationen zu Dependabot-Sicherheitsupdates

Dependabot kann anfällige Abhängigkeiten für dich beheben, indem Pull Requests mit Sicherheitsupdates ausgelöst werden.

Wer kann dieses Feature verwenden?

Dependabot security updates sind kostenlos für alle Repositorys auf GitHub.com.

Informationen zu Dependabot security updates

Mit Dependabot security updates kannst du anfällige Abhängigkeiten in deinem Repository leichter beheben. Wenn du dieses Feature aktivierst und eine Dependabot-Warnung für eine anfällige Abhängigkeit im Abhängigkeitsdiagramm deines Repositorys ausgelöst wird, versucht Dependabot automatisch, diese zu beheben. Weitere Informationen findest du unter Informationen zu Dependabot-Warnungen und unter Konfigurieren von Dependabot-Sicherheitsupdates.

Hinweis: Wenn Dependabot security updates für ein Repository aktiviert sind, versucht Dependabot automatisch, Pull Requests zu öffnen, um alle offenen Dependabot-Warnung mit einem verfügbaren Patch aufzulösen. Wenn Sie lieber anpassen möchten, für welche Warnungen Dependabot Pull Requests öffnen soll, sollten Sie Dependabot security updates deaktiviert lassen und eine Auto-Triage-Regel erstellen. Weitere Informationen findest du unter Anpassen von Auto-Triage-Regeln zum Priorisieren von Dependabot-Warnungen.

GitHub können Dependabot alerts an Repositorys senden, die von einem Sicherheitsrisiko betroffen sind, das durch eine kürzlich veröffentlichte GitHub-Sicherheitsempfehlung aufgedeckt wurde. Weitere Informationen findest du unter Durchsuchen von Sicherheitsempfehlungen in der GitHub Advisory Database.

Dependabot überprüft, ob es möglich ist, ein Upgrade der anfälligen Abhängigkeit auf eine feste Version durchzuführen, ohne das Abhängigkeitsdiagramm für das Repository zu beeinträchtigen. Anschließend löst Dependabot einen Pull Request aus, um die Abhängigkeit auf die Mindestversion mit dem Patch zu aktualisieren, und verknüpft den Pull Request mit der Dependabot-Warnung oder meldet einen Fehler für die Warnung. Weitere Informationen findest du unter Problembehandlung bei Dependabot-Fehlern.

Das Feature Dependabot security updates ist für Repositorys verfügbar, in denen du das Abhängigkeitsdiagramm und Dependabot alerts aktiviert hast. Es wird eine Dependabot-Warnung für jede anfällige Abhängigkeit angezeigt, die in deinem vollständigen Abhängigkeitsdiagramm identifiziert wird. Sicherheitsupdates werden jedoch nur für Abhängigkeiten ausgelöst, die in einer Manifest- oder Sperrdatei angegeben sind. Weitere Informationen findest du unter Informationen zum Abhängigkeitsdiagramm.

Hinweis: Für npm löst Dependabot einen Pull Request aus, um eine explizit definierte Abhängigkeit auf eine sichere Version zu aktualisieren, auch wenn dies bedeutet, dass die übergeordnete Abhängigkeit aktualisiert wird bzw. Abhängigkeiten aktualisiert werden müssen, oder sogar eine Unterabhängigkeit entfernt wird, die von der übergeordneten Abhängigkeit nicht mehr benötigt wird.. Bei anderen Ökosystemen kann Dependabot keine indirekte oder transitive Abhängigkeit aktualisieren, wenn dazu auch eine Aktualisierung der übergeordneten Abhängigkeit erforderlich wäre. Weitere Informationen findest du unter Problembehandlung bei Dependabot-Fehlern.

Du kannst ein zugehöriges Feature aktivieren, Dependabot version updates, sodass Dependabot Pull Requests auslöst, um das Manifest auf die neueste Version der Abhängigkeit zu aktualisieren, wenn eine veraltete Abhängigkeit erkannt wird. Weitere Informationen findest du unter Informationen zu Updates von Dependabot-Versionen.

Wenn Dependabot Pull Requests auslöst, können diese Pull Requests für Sicherheits- oder Versionsupdates gelten:

  • Dependabot security updates sind automatisierte Pull Requests, mit denen Du Abhängigkeiten mit bekannten Sicherheitsrisiken aktualisieren kannst.
  • Dependabot version updates sind automatisierte Pull Requests, mit denen Deine Abhängigkeiten auf dem aktuellen Stand gehalten werden, auch wenn sie keine Sicherheitsrisiken aufweisen. Um den Status von Versionsupdates zu überprüfen, navigiere zur Registerkarte „Erkenntnisse“ Deines Repositorys, dann zum Abhängigkeitsdiagramm und Dependabot.

GitHub Actions ist nicht erforderlich, um Dependabot version updates und Dependabot security updates in GitHub auszuführen. Durch Dependabot geöffnete Pull Requests können jedoch Workflows auslösen, die Aktionen ausführen. 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.

Informationen zu Pull Requests für Sicherheitsupdates

Jeder Pull Request enthält alles, was du brauchst, um einen vorgeschlagenen Fix schnell und sicher zu überprüfen und mit deinem Projekt zu mergen. Dazu gehören Informationen zum Sicherheitsrisiko wie Versionshinweise, Änderungsprotokolleinträge und Commitdetails. Details dazu, welches Sicherheitsrisiko durch einen Pull Request behoben wird, sind für alle Benutzer ausgeblendet, die nicht über Zugriff auf Dependabot alerts-Warnungen für das Repository verfügen.

Wenn du einen Pull Request mergst, der ein Sicherheitsupdate enthält, wird die entsprechende Dependabot-Warnung für dein Repository als aufgelöst markiert. Weitere Informationen zu Dependabot-Pull Requests findest du unter Verwalten von Pull Requests für Abhängigkeitsupdates.

Hinweis: Es empfiehlt sich, automatisierte Tests und Abnahmeprozesse einzurichten, damit Überprüfungen durchgeführt werden, bevor der Pull Request gemergt wird. Das ist besonders wichtig, wenn die vorgeschlagene Version, auf die du ein Upgrade durchführen möchtest, zusätzliche Funktionalität oder Breaking Changes enthält. Weitere Informationen zu Continuous Integration (CI) findest du unter Informationen zur fortlaufenden Integration.

Informationen zu gruppierten Sicherheitsupdates

Um die Anzahl von Pull Requests weiter zu verringern, können Sie gruppierte Sicherheitsupdates so aktivieren, dass sie Abhängigkeiten (pro Paketökosystem) in Gruppen zusammenfassen. Dependabot löst dann einen einzigen Pull Request aus, um möglichst viele ungeschützte Abhängigkeiten in der Gruppe gleichzeitig auf die sicheren Versionen zu aktualisieren.

Für Sicherheitsupdates werden von Dependabot nur Abhängigkeiten aus verschiedenen Verzeichnissen pro Ökosystem unter bestimmten Bedingungen und Konfigurationen gruppiert. Dependabot werden keine Abhängigkeiten aus verschiedenen Paketökosystemen zusammen gruppieren, und es werden keine Sicherheitsupdates mit Versionsupdates gruppiert.

Sie können gruppierte Pull Requests für Dependabot security updates auf eine oder beide der folgenden Arten aktivieren.

  • Wenn Sie so viele verfügbare Sicherheitsupdates wie möglich gruppieren möchten, verzeichnis- und ökosystemübergreifend, aktivieren Sie die Gruppierung in den Einstellungen „Codesicherheit und -analyse“ für Ihre Organisation oder Ihr Repository.
  • Um die Gruppierung genauer zu steuern, z. B. das Gruppieren nach Paketname, Entwicklungs-/Produktionsabhängigkeiten oder SemVer-Ebene, fügen Sie der dependabot.yml-Konfigurationsdatei in Ihrem Repository Konfigurationsoptionen hinzu.

Hinweis: Wenn Sie Gruppenregeln für Dependabot security updates in einer dependabot.yml-Datei konfiguriert haben, werden alle verfügbaren Updates nach den von Ihnen angegebenen Regeln gruppiert. Dependabot werden nur über jene Verzeichnisse hinweg gruppiert, die nicht in Ihrem dependabot.yml konfiguriert sind, wenn die Einstellung für gruppierte Sicherheitsupdates auf Organisations- oder Repositoryebene ebenfalls aktiviert ist.

Weitere Informationen findest du unter Konfigurieren von Dependabot-Sicherheitsupdates.

Informationen zu Kompatibilitätsbewertungen

Dependabot security updates können Kompatibilitätsbewertungen enthalten, die dich darüber informieren, ob das Aktualisieren einer Abhängigkeit zu Breaking Changes in deinem Projekt führen kann. Diese werden anhand von CI-Tests in anderen öffentlichen Repositorys berechnet, in denen dasselbe Sicherheitsupdate generiert wurde. Die Kompatibilitätsbewertung des Updates ist der Prozentwert der CI-Ausführungen, die beim Aktualisieren zwischen bestimmten Versionen der Abhängigkeit erfolgt sind.

Informationen zur automatischen Deaktivierung von Dependabot updates

Wenn die Maintainer*innen eines Repositorys nicht mehr mit Pull Requests von Dependabot interagieren, hält Dependabot die Updates vorübergehend an und informiert dich. Durch diese automatische Deaktivierung werden unerwünschte Aktivitäten reduziert, da Dependabot keine Pull Requests für Versions- und Sicherheitsupdates erstellt und kein Rebase für Pull Requests von Dependabot für inaktive Repositorys ausführt.

Die automatische Deaktivierung von Dependabot-Updates gilt nur für Repositorys, in denen Dependabot Pull Requests geöffnet hat, mit denen keine Interaktion verzeichnet wurde. Wenn Dependabot keine Pull Requests geöffnet hat, wird Dependabot auch nicht angehalten.

Ein Repository gilt als aktiv, wenn eine Benutzerin (nicht Dependabot) innerhalb der letzten 90 Tage eine der folgenden Aktionen in diesem ausgeführt hat:

  • Mergen oder Schließen eines Pull Requests von Dependabot im Repository
  • Bearbeiten der Datei dependabot.yml des Repositorys
  • Manuelles Auslösen eines Sicherheitsupdates oder Versionsupdates
  • Aktivieren von Dependabot security updates für das Repository
  • Verwenden des @dependabot-Befehls in Pull Requests

Ein Repository gilt als inaktiv, wenn mindestens ein Pull Request von Dependabot für mindestens 90 Tage geöffnet ist, die ganze Zeit lang aktiv war und keine der oben aufgeführten Benutzeraktionen erfolgt ist.

Wenn Dependabot angehalten werden, fügt GitHub einen Bannerhinweis hinzu:

  • An alle offenen Dependabot-Pull Requests
  • Zur Benutzeroberfläche des Tabs Einstellungen des Repositorys (unter Codesicherheit und Analyse, dann Dependabot).
  • Zur Liste der Dependabot alerts (if Dependabot security updates sind betroffen).

Sobald eine Maintainerin erneut mit einem Pull Request von Dependabot interagiert, wird Dependabot von selbst fortgesetzt:

  • Sicherheitsupdates werden für Dependabot alerts automatisch fortgesetzt.
  • Versionsupdates werden automatisch nach dem Zeitplan fortgesetzt, der in der Datei dependabot.yml angegeben ist.

Informationen zum Konfigurieren von Dependabot-Sicherheitsupdates

Du kannst deine Benachrichtigungen nach GitHub filtern, um Dependabot-Sicherheitsupdates anzuzeigen. Weitere Informationen findest du unter Benachrichtigungen über deinen Posteingang verwalten.