Informationen zu Dependabot security updates
Mit Dependabot security updates kannst du anfällige Abhängigkeiten in deinem Repository leichter beheben. Sie fügen Ihrem Repository in der Regel eine dependabot.yml
-Datei hinzu, um Dependabot security updates zu aktivieren. Anschließend konfigurieren Sie Optionen in dieser Datei, um Dependabot mitzuteilen, wie Sie Ihr Repository verwalten.
Weitere Informationen über die unterstützten Repositorys und Ökosysteme finden Sie unter „Von Dependabot unterstützte Ökosysteme und Repositorys“.
Wenn Sie Dependabot security updates aktivieren 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 finden Sie unter Informationen zu Dependabot-Warnungen und unter Konfigurieren von Dependabot-Sicherheitsupdates.
Note
Es gibt keine Interaktion zwischen den in der dependabot.yml
-Datei und Dependabot-Sicherheitswarnungen angegebenen Einstellungen, außer der Tatsache, dass Warnungen geschlossen werden, wenn verwandte Pull Requests, die von Dependabot für Sicherheitsupdates generiert werden, zusammengeführt werden.
Dependabot signiert standardmäßig seine eigenen Commits, auch wenn die Commit-Signierung keine Voraussetzung für das Repository ist. Weitere Informationen zu bestätigten Commits findest du unter „Informationen zur Verifizierung einer Commit-Signatur“.
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.
Wenn Sie Dependabot security updates aktivieren, wirken sich Teile der Konfiguration möglicherweise auch auf Pull Requests aus, die für Dependabot version updates erstellt wurden. Dies liegt daran, dass einige Konfigurationseinstellungen für beide Arten von Updates gelten. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Pull Requests, die von Dependabot geöffnet werden, können Workflows zum Ausführen von Aktionen auslösen. Weitere Informationen finden Sie unter „Automatisieren von Dependabot mit GitHub Actions“.
Wenn Sie Dependabot für ein neues Repository aktivieren und GitHub Actions aktiviert ist, werden Dependabot standardmäßig auf GitHub Actions ausgeführt.
Wenn Sie Dependabot für ein neues Repository aktivieren und GitHub Actions deaktiviert ist, wird Dependabot über die ältere Anwendung in GitHub Enterprise Cloud ausgeführt, um Dependabot updates auszuführen. Dies bietet nicht so gute Leistung, Sichtbarkeit oder Kontrolle von Dependabot updates Jobs wie GitHub Actions. Wenn Sie Dependabot mit GitHub Actions verwenden möchten, müssen Sie sicherstellen, dass Ihr Repository GitHub Actions aktiviert, und dann "Dependabot für Actions-Runner" auf der Einstellungsseite des Repositorys "Codesicherheit und Analyse" aktivieren. Weitere Informationen finden Sie unter „Informationen zu Dependabot über GitHub Actions-Runner“.
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 in Workflows 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 Info zu Continuous Integration mit GitHub Actions.
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.
- Um möglichst viele verfügbare Sicherheitsupdates für Verzeichnisse und pro Ökosystem zu gruppieren, aktivieren Sie die Gruppierung in den Einstellungen „Codesicherheit und Analyse“ für Ihr Repository oder in „Globale Einstellungen“ unter „Codesicherheit“ für Ihre Organisation.
- Um die Gruppierung genauer zu steuern, z. B. Gruppieren nach Paketname, Entwicklungs-/Produktionsabhängigkeiten, oder SemVer-Ebene) hinaus, 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).
Darüber hinaus können Sie sehen, ob Dependabot auf Organisationsebene in der Sicherheitsübersicht angehalten werden. Der paused
-Status kann auch über die API eingesehen werden. Weitere Informationen finden Sie unter REST-API-Endpunkte für Repositorys.
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.