Informationen zum Abhängigkeitsdiagramm
Das Abhängigkeitsdiagramm ist eine Zusammenfassung von Manifest- und Sperrdateien, die in einem Repository gespeichert sind, und aller mithilfe der Abhängigkeitsübermittlungs-API (Beta) 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.
GitHub Enterprise Server berechnet weder Informationen zu abhängigen Elementen noch zu den Repositorys und Paketen, die von einem Repository abhängig sind.
Wenn du ein Commit mit Push an GitHub Enterprise Server überträgst, das eine unterstützte Manifest- oder Sperrdatei ändert oder dem Standardbranch hinzufügt, wird das Abhängigkeitsdiagramm automatisch aktualisiert. Informationen zu den unterstützten Ökosystemen und Manifestdateien findest du unter Unterstützte Paketökosysteme weiter unten.
Darüber hinaus kannst du die Abhängigkeitsübermittlungs-API (Beta) verwenden, um Abhängigkeiten vom Paket-Manager oder Ökosystem deiner Wahl zu übermitteln, auch wenn das Ökosystem vom Abhängigkeitsdiagramm für die Manifest- oder Sperrdateianalyse nicht unterstützt wird. Das Abhängigkeitsdiagramm zeigt die übermittelten Abhängigkeiten gruppiert nach Ökosystem an, jedoch getrennt von den Abhängigkeiten, die aus Manifest- oder Sperrdateien geparst wurden. Weitere Informationen zur Abhängigkeitsübermittlungs-API findest du unter Verwenden der Abhängigkeitsübermittlungs-API.
Beim Erstellen eines Pull Requests, der Änderungen an Abhängigkeiten enthält und auf den Standardbranch abzielt, verwendet GitHub das Abhängigkeitsdiagramm, um Abhängigkeitsüberprüfungen zum Pull Request 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 findest du unter Informationen zur Abhängigkeitsüberprüfung.
Verfügbarkeit von Abhängigkeitsdiagrammen
GitHub Enterprise-Besitzer 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 unter Aktivieren von Dependabot für dein Unternehmen.
Weitere Informationen zur Konfiguration des Abhängigkeitsdiagramms findest du 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 Entsprechung für unterstützte Ökosysteme beschreiben werden, sowie alle Abhängigkeiten, die mit der Abhängigkeitsübermittlungs-API (Beta) übermittelt werden. Dies schließt Folgendes ein:
- Direkte Abhängigkeiten, die explizit in einer Manifest- oder Sperrdatei definiert sind, oder mithilfe der Abhängigkeitsübermittlungs-API (Beta) übermittelt wurden
- Indirekte Abhängigkeiten dieser direkten Abhängigkeiten, auch bekannt als transitive Abhängigkeiten oder Unterabhängigkeiten bezeichnet
Das Abhängigkeitsdiagramm identifiziert indirekte Abhängigkeiten aus den Sperrdateien zu testen und zu debuggen.
Weitere Informationen dazu, wie GitHub Enterprise Server dabei hilft, die Abhängigkeiten in deiner Umgebung zu verstehen, findest du unter Informationen zur Lieferkettensicherheit.
Verwenden des Abhängigkeitsdiagramms
Du kannst das Abhängigkeitsdiagramm verwenden, um folgende Aktionen auszuführen:
- Erkunden der Repositorys, von denen dein Code abhängig ist,. Weitere Informationen findest du unter Untersuchen der Abhängigkeiten eines Repositorys.
- Anzeigen und Aktualisieren von sicherheitsanfälligen Abhängigkeiten für dein Repository. Weitere Informationen findest du unter Informationen zu Dependabot-Warnungen.
- Informationen zu sicherheitsanfälligen Abhängigkeiten in Pull Requests. Weitere Informationen findest du unter Überprüfen von Abhängigkeitsänderungen in einem Pull Request.
Unterstützte Paket-Ökosysteme
Die empfohlenen Formate definieren explizit, welche Versionen für alle direkten und indirekten Abhängigkeiten verwendet werden. Wenn du diese Formate verwendest, ist dein Abhängigkeitsdiagramm genauer. Außerdem wird der aktuelle Build eingerichtet und ermöglicht es dem Abhängigkeitsdiagramm, Sicherheitsrisiken sowohl in direkten als auch indirekten Abhängigkeiten zu melden.
| Paket-Manager | Languages | Empfohlene Formate | Alle unterstützten Formate |
| --- | --- | --- | ---| | Cargo | Rust | Cargo.lock
| Cargo.toml
, Cargo.lock
| | Composer | PHP | composer.lock
| composer.json
, composer.lock
| | NuGet | .NET languages (C#, F#, VB), C++ | .csproj
, .vbproj
, .nuspec
, .vcxproj
, .fsproj
| .csproj
, .vbproj
, .nuspec
, .vcxproj
, .fsproj
, packages.config
| | GitHub Actions workflows | YAML | .yml
, .yaml
| .yml
, .yaml
| | Go modules | Go | go.mod
| go.mod
, go.sum
| | Maven | Java, Scala | pom.xml
| pom.xml
| | npm | JavaScript | package-lock.json
| package-lock.json
, package.json
| | pip | Python | requirements.txt
, pipfile.lock
| requirements.txt
, pipfile
, pipfile.lock
, setup.py
| | Python Poetry | Python | poetry.lock
| poetry.lock
, pyproject.toml
| | RubyGems | Ruby | Gemfile.lock
| Gemfile.lock
, Gemfile
, *.gemspec
| | Yarn | JavaScript | yarn.lock
| package.json
, yarn.lock
|
Hinweise:
-
Wenn du deine Python-Abhängigkeiten in einer
setup.py
-Datei auflistest, können möglicherweise nicht alle Abhängigkeiten in deinem Projekt analysiert und aufgelistet werden. -
GitHub Actions-Workflows müssen sich im
.github/workflows/
-Verzeichnis eines Repositorys befinden, um als Manifeste erkannt zu werden. Alle Aktionen oder Workflows, auf die mithilfe der Syntaxjobs[*].steps[*].uses
oderjobs.<job_id>.uses
verwiesen wird, werden als Abhängigkeiten analysiert. Weitere Informationen findest du unter Workflowsyntax für GitHub Actions. -
GitHub Actions-Workflowabhängigkeiten werden zu Informationszwecken im Abhängigkeitsdiagramm angezeigt. Dependabot-Warnungen werden für GitHub Actions-Workflows derzeit nicht unterstützt.
Du kannst die Abhängigkeitsübermittlungs-API (Beta) verwenden, um Abhängigkeiten aus dem Paket-Manager oder dem Ökosystem deiner Wahl zum Abhängigkeitsdiagramm hinzuzufügen, selbst dann, wenn sich das Ökosystem nicht in der Liste der unterstützen Ökosysteme (oben) befindet. Das Abhängigkeitsdiagramm zeigt die übermittelten Abhängigkeiten nach Ökosystemen gruppiert an, jedoch getrennt von den aus Manifest- oder Sperrdateien geparsten Abhängigkeiten.
Du erhältst Dependabot alerts nur für Abhängigkeiten, die von einem der unterstützten Ökosysteme von GitHub Advisory Database stammen. Weitere Informationen zur Abhängigkeitsübermittlungs-API findest du unter Verwenden der Abhängigkeitsübermittlungs-API.