Skip to main content

Von Dependabot unterstützte Ökosysteme und Repositorys

Dependabot unterstützt eine Vielzahl von Ökosystemen und Repositorys.

Informationen zu Dependabot

Dependabot hilft Ihnen, ihre Abhängigkeitsökosysteme im Überblick zu behalten. Mit Dependabot können Sie die Abhängigkeiten, die Sie verwenden, auf dem neuesten Stand halten, um potenzielle Sicherheitsprobleme in Ihrer Lieferkette zu beheben.

Dependabot besteht aus drei verschiedenen Features, mit denen du Abhängigkeiten verwalten kannst:

  • Dependabot alerts informiert dich über Sicherheitsrisiken in den Abhängigkeiten, die du in deinem Repository verwendest.
  • Dependabot security updates löst automatisch Pull Requests aus, um von dir verwendete Abhängigkeiten zu aktualisieren, die bekannte Sicherheitsrisiken aufweisen.
  • Dependabot version updates löst automatisch Pull Requests aus, um deine Abhängigkeiten auf dem neuesten Stand zu halten.

Weitere Informationen zu Dependabot findest du unter Schnellstartanleitung für Dependabot.

In diesem Artikel können Sie sehen, welche Ökosysteme und Repositorys unterstützt werden.

Unterstützte Repositorys und Ökosysteme

Sie können Updates für Repositorys konfigurieren, die ein Abhängigkeitsmanifest oder eine Sperrdatei für einen der unterstützten Paketmanager enthalten. Für einige Paketmanager kannst du auch Vendoring für Abhängigkeiten konfigurieren. Weitere Informationen finden Sie unter vendor. Dependabot unterstützt auch Abhängigkeiten in privaten Registrierungen. Weitere Informationen finden Sie unter registries.

Note

Um sicherzustellen, dass GitHub Enterprise Server Dependabot updates für die neuesten unterstützten Ökosystemversionen unterstützt, muss Ihre Unternehmensbesitzerin die neueste Version der Dependabot-Aktion herunterladen. Weitere Informationen zur Aktion und Anweisungen zum Herunterladen der aktuellen Version findest du unter Verwenden der neuesten Version der offiziellen gebündelten Aktionen.

Note

  • Bei der Durchführung von Sicherheits- oder Versionsupdates müssen einige Ökosysteme in der Lage sein, alle Abhängigkeiten von der jeweiligen Quelle aufzulösen, um zu überprüfen, ob die Updates erfolgreich waren. Wenn deine Manifest- oder Sperrdateien private Abhängigkeiten enthalten, muss Dependabot auf den Speicherort zugreifen können, an dem diese Abhängigkeiten gehostet werden. Organisationsbesitzer können Dependabot Zugriff auf private Repositorys gewähren, die Abhängigkeiten für ein Projekt innerhalb derselben Organisation enthalten. Weitere Informationen findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation. Du kannst den Zugriff auf private Registrierungen in der Konfigurationsdatei dependabot.yml eines Repositorys konfigurieren. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
  • Dependabot unterstützt keine privaten GitHub-Abhängigkeiten für alle Paketmanager. Weitere Informationen findest du in der folgenden Tabelle.

Wenn dein Repository bereits eine Integration für die Abhängigkeitsverwaltung verwendet, musst du dies deaktivieren, bevor du Dependabot aktivierst.

Paket-ManagerYAML-WertUnterstützte VersionenVersionsupdatesSicherheitsupdatesPrivate RepositorysPrivate RegistrierungenVendoring
Bundlerbundlerv1, v2
Cargocargov1 (Git only)
Composercomposerv1, v2
Dockerdockerv1Nicht verfügbar
Hexmixv1
elm-packageelmv0.19
Git-SubmodulgitsubmoduleNicht verfügbarNicht verfügbar
GitHub Actionsgithub-actionsNicht verfügbarNicht verfügbar
Go-Modulegomodv1
GradlegradleNicht verfügbar
MavenmavenNicht verfügbar
npmnpmv6, v7, v8, v9
NuGetnuget<= 4.8
pippipv21.1.2
pipenvpip<= 2021-05-29
pip-compilepip6.1.0
pnpmnpmv7, v8, v9 (v7 and v8 only)
Poetrypipv1
pubpubV2
Swiftswiftv5 (Nur Git)
Terraformterraform>= 0.13, <= 1.8.xNicht zutreffend
yarnnpmv1, v2, v3

Tipp: Für Paket-Manager wie pipenv und poetry müssen Sie den YAML-Wert pip verwenden. Wenn Sie Ihre Python-Abhängigkeiten z. B. mit poetry verwalten und Ihre Abhängigkeitsmanifestdatei mit Dependabot für neue Versionen überwachen möchten, nutzen Sie package-ecosystem: "pip" in Ihrer dependabot.yml-Datei.

Weitere Informationen zur Ökosystemunterstützung für Dependabot security updates finden Sie auch unter „Abhängigkeitsdiagramm unterstützte Paket-Ökosysteme“.

Cargo

Die Unterstützung für die private Registrierung gilt für Git-Registrierungen, sie gilt nicht für Cargo-Registrierungen.

Docker

Dependabot kann Pull Requests für Versionsupdates Metadaten aus Docker-Images hinzufügen. Die Metadaten enthalten Versionshinweise, Änderungsprotokolle und den Commitverlauf. Repositoryadministratoren können die Metadaten verwenden, um das Stabilitätsrisiko des Abhängigkeitsupdates schnell auszuwerten.

Damit Dependabot Docker-Metadaten abrufen kann, müssen Verwalter von Docker-Images die org.opencontainers.image.source-Bezeichnung ihrer Dockerfile-Datei hinzufügen und die URL des Quellrepositorys einschließen. Darüber hinaus müssen Verwalter das Repository mit den gleichen Tags versehen wie die veröffentlichten Docker-Images. Ein Beispiel dafür finden Sie im dependabot-fixtures/docker-with-source-Repository. Weitere Informationen zu Docker-Bezeichnungen finden Sie unter Erweiterungsimagebezeichnungen und BUILDX_GIT_LABELS in der Docker-Dokumentation.

Dependabot kann Docker-Imagetags in Kubernetes-Manifesten aktualisieren. Fügen Sie dem Docker-Element package-ecosystem Ihrer Datei vom Typ dependabot.yml für jedes Verzeichnis, das ein Kubernetes-Manifest enthält, das auf Docker-Imagetags verweist, einen Eintrag hinzu. Kubernetes-Manifeste können YAML-Dateien oder Helm-Diagramme für die Kubernetes-Bereitstellung sein. Informationen zum Konfigurieren Ihrer dependabot.yml-Datei für docker finden Sie unter package-ecosystem in „Konfigurationsoptionen für die Datei dependabot.yml.“

Dependabot unterstützt sowohl öffentliche als auch private Docker-Registrierungen. Eine Liste der unterstützten Registrierungen finden Sie unter docker-registry in „Konfigurationsoptionen für die Datei dependabot.yml“.

Dependabot untersucht Docker-Imagetags auf die semantische Versionierung (SemVer). Wenn Dependabot ein Tag mit einer Vorabversion erkennt, schlägt es nur ein Update auf die aktuelle Version mit einer übereinstimmenden Vorabversion vor und keine neuere Version mit einer anderen Vorabversion. Weitere Informationen finden Sie in der dependabot-docker-README.md-Datei im dependabot/dependabot-core-Repository.

GitHub Actions

Dependabot unterstützt Versionsupdates für GitHub Actions mit den folgenden Einschränkungen.

  • Dependabot unterstützt nur Updates für GitHub Actions über die GitHub-Repository-Syntax, z. B. actions/checkout@v4. Dependabot ignoriert Aktionen oder wiederverwendbare Workflows, auf die lokal verwiesen wird (z. B. ./.github/actions/foo.yml. ).
  • Docker Hub und GitHub Packages Container registry-URLs werden derzeit nicht unterstützt. Beispielsweise werden Verweise auf Docker-Containeraktionen mit docker://-Syntax nicht unterstützt.
  • Dependabot unterstützt sowohl öffentliche als auch private Repositorys für GitHub Actions. Informationen zu Konfigurationsoptionen für private Registrierungen findest Du unter "git" in "Konfigurationsoptionen für die Datei dependabot.yml".

Weitere Informationen zur Verwendung von Dependabot version updates mit GitHub Actions finden Sie unter „Verwenden der Sicherheitsfeatures von GitHub zum Sichern Ihrer Verwendung von GitHub-Aktionen“.

Gradle

Dependabot führt Gradle nicht aus, unterstützt jedoch Updates folgender Dateien:

  • build.gradle, build.gradle.kts (für Kotlin-Projekte)
  • gradle/libs.versions.toml (für Projekte, die einen Gradle-Standardversionskatalog verwenden)
  • Dateien, die über die apply-Deklaration eingefügt wurden, die dependencies im Dateinamen enthalten. Beachten Sie, dass apply weder apply to, Rekursion noch erweiterte Syntax – z. B. apply mit mapOf bei Kotlin oder durch Eigenschaften definierte Dateinamen – unterstützt.

Dependabot verwendet Informationen aus der pom.xml-Datei von Abhängigkeiten, um Verknüpfungen zu Releaseinformationen in Update-Pull-Requests hinzuzufügen. Wenn die Informationen aus der pom.xml-Datei weggelassen werden, kann sie nicht in Dependabot-Pull Requests eingeschlossen werden. Weitere Informationen dazu unter Optimieren von Java-Paketen für Dependabot-Updates.

Für Dependabot security updates ist Gradle-Unterstützung auf manuelle Uploads der Abhängigkeitsdiagrammdaten mit der Abhängigkeitsübermittlungs-API beschränkt. Weitere Informationen zu Abhängigkeitsübermittlungs-API finden Sie unter „Verwenden der Abhängigkeitsübermittlungs-API.“

Hinweise:

  • Wenn Sie Gradle-Abhängigkeiten mithilfe der Abhängigkeitsübermittlungs-API in das Abhängigkeitsdiagramm hochladen, werden alle Projektabhängigkeiten hochgeladen, auch transitive Abhängigkeiten, die in keiner Abhängigkeitsdatei explizit erwähnt werden. Wenn eine Warnung in einer transitiven Abhängigkeit erkannt wird, können Dependabot die anfällige Abhängigkeit im Repository nicht finden und daher kein Sicherheitsupdate für diese Warnung erstellen.
  • Dependabot version updates erstellt jedoch Pull Requests, wenn die übergeordnete Abhängigkeit in der Manifestdatei des Projekts explizit als direkte Abhängigkeit deklariert ist.

Maven

Dependabot führt Maven nicht aus, unterstützt jedoch Updates von pom.xml-Dateien.

Dependabot verwendet Informationen aus der pom.xml-Datei von Abhängigkeiten, um Verknüpfungen zu Releaseinformationen in Update-Pull-Requests hinzuzufügen. Wenn die Informationen aus der pom.xml-Datei weggelassen werden, kann sie nicht in Dependabot-Pull Requests eingeschlossen werden. Weitere Informationen dazu unter Optimieren von Java-Paketen für Dependabot-Updates.

NuGet CLI

Dependabot führt die NuGet-CLI nicht aus, unterstützt aber die meisten Features bis Version 4.8.

pip und pip-compile

Zusätzlich zur Unterstützung von Updates von requirements.txt-Dateien unterstützt Dependabot Updates von pyproject.toml-Dateien, wenn sie dem PEP 621-Standard entsprechen.

pnpm

pnpm is supported for Dependabot version updates (on v7, v8, and v9) and Dependabot security updates (on v7 and v8 only).

pub

Dependabot führt kein Update für pub aus, wenn die Version, für die ein Update durchgeführt werden soll, ignoriert wird. Dies gilt auch dann, wenn eine frühere Version verfügbar ist.

Swift

Die Unterstützung für private Registrierungen gilt nur für Git-Registrierungen. Swift-Registrierungen werden nicht unterstützt. Nicht deklarative Manifeste werden nicht unterstützt. Weitere Informationen zu nicht deklarativen Manifesten finden Sie in der Swift Evolution-Dokumentation unter Bearbeiten nicht deklarativer Manifeste.

Terraform

Terraform-Unterstützung umfasst:

  • Module, die auf Terraform Registry oder einem öffentlich zugänglichen Git-Repository gehostet werden.
  • Terraform-Anbieter
  • Privates Terraform-Registry Sie können den Zugriff für private Git-Repositorys konfigurieren, indem Sie eine Git-Registrierung in Ihrer dependabot.yml-Datei voraussetzen. Weitere Informationen finden Sie unter git.

yarn

Dependabot unterstützt Anbieterabhängigkeiten ab Version 2.