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 Veröffentlichungsdaten.
- Wie viele Projekte diese Komponenten verwenden.
- Sicherheitsrisikodaten für diese Abhängigkeiten.
Weitere Informationen findest du unter Informationen zur Abhängigkeitsüberprüfung und unter Überprüfen von Abhängigkeitsänderungen in einem Pull Request.
Informationen zur Abhängigkeitsüberprüfung
Die Abhängigkeitsüberprüfung ist in allen öffentlichen Repositorys in allen Produkten verfügbar und kann nicht deaktiviert werden. Die Abhängigkeitsüberprüfung ist in privaten Repositorys verfügbar, die Organisationen gehören, die GitHub Enterprise Cloud verwenden und über eine Lizenz für GitHub Advanced Security verfügen. Weitere Informationen findest du unter Dokumentation zu GitHub Enterprise Cloud.
Konfigurieren des Abhängigkeitsüberprüfungsaktion
Abhängigkeitsüberprüfungsaktion überprüft deine Pull Requests auf Abhängigkeitsänderungen und löst einen Fehler aus, wenn neue Abhängigkeiten bekannte Sicherheitsrisiken aufweisen. Die Aktion wird von einem API-Endpunkt unterstützt, der die Abhängigkeiten zwischen zwei Revisionen vergleicht und etwaige Unterschiede meldet.
Weitere Informationen zur Aktion und zum API-Endpunkt
findest du in der dependency-review-action-Dokumentation und unter Abhängigkeitsüberprüfung in der API-Dokumentation.
Die folgenden Konfigurationsoptionen stehen zur Verfügung.
| Option | Erforderlich | Verbrauch |
|---|---|---|
fail-on-severity | Definiert den Schwellenwert für den Schweregrad (low, moderate, high, critical).Die Aktion schlägt bei allen Pull Requests fehl, die Sicherheitsrisiken des angegebenen oder eines höheren Schweregrads einführen. | |
allow-licenses | Enthält eine Liste der zulässigen Lizenzen. Du findest die möglichen Werte für diesen Parameter auf der Seite Lizenzen der API-Dokumentation. Die Aktion ist bei Pull Requests, die Abhängigkeiten mit Lizenzen einführen, die nicht der Liste entsprechen, nicht erfolgreich. | |
deny-licenses | Enthält eine Liste der verbotenen Lizenzen. Du findest die möglichen Werte für diesen Parameter auf der Seite Lizenzen der API-Dokumentation. Die Aktion ist bei Pull Requests, die Abhängigkeiten von Lizenzen einführen, die der Liste entsprechen, nicht erfolgreich. | |
allow-ghsas | Enthält eine Liste von GitHub Advisory Database-IDs, die bei der Erkennung übersprungen werden können. Die möglichen Werte für diesen Parameter findest du in der GitHub Advisory Database. | |
config-file | Gibt einen Pfad zu einer Konfigurationsdatei an. Die Konfigurationsdatei kann sich lokal im Repository befinden oder eine Datei in einem externen Repository sein. |
Tipp: Die Optionen allow-licenses und deny-licenses schließen sich gegenseitig aus.
Konfigurieren des Abhängigkeitsüberprüfungsaktion
Es gibt zwei Methoden zum Konfigurieren des Abhängigkeitsüberprüfungsaktion:
- Inlinekonfiguration der Konfigurationsoptionen in deiner Workflowdatei
- Verweis auf eine Konfigurationsdatei in deiner Workflowdatei
Beachte, dass in allen Beispielen anstelle der SemVer-Versionsnummer (z. B. v3.0.8) eine kurze Versionsnummer für die Aktion verwendet wird (v3). Dadurch wird sichergestellt, dass du die neueste Nebenversion der Aktion verwendest.
Einrichten des Abhängigkeitsüberprüfungsaktion mithilfe der Inlinekonfiguration
-
Füge deinem Ordner
.github/workflowseinen neuen YAML-Workflow hinzu.YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v3name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v3 -
Lege die Einstellungen fest.
Diese Beispieldatei für den Abhängigkeitsüberprüfungsaktion veranschaulicht, wie du die verfügbaren Konfigurationsoptionen verwenden kannst.
YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v3 with: # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # You can only include one of these two options: `allow-licenses` and `deny-licenses` # ([String]). Only allow these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses allow-licenses: GPL-3.0, BSD-3-Clause, MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses deny-licenses: LGPL-2.0, BSD-2-Clause # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: GHSA-abcd-1234-5679, GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: development, runtimename: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v3 with: # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # You can only include one of these two options: `allow-licenses` and `deny-licenses` # ([String]). Only allow these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses allow-licenses: GPL-3.0, BSD-3-Clause, MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses deny-licenses: LGPL-2.0, BSD-2-Clause # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: GHSA-abcd-1234-5679, GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: development, runtime
Einrichten des Abhängigkeitsüberprüfungsaktion mithilfe einer Konfigurationsdatei
-
Füge deinem Ordner
.github/workflowseinen neuen YAML-Workflow hinzu, und gib mithilfe vonconfig-filean, dass du eine Konfigurationsdatei verwendest.YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v3 with: # ([String]). Representing a path to a configuration file local to the repository or in an external repository. # Possible values: An absolute path to a local file or an external file. config-file: './.github/dependency-review-config.yml' # Syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH config-file: 'github/octorepo/dependency-review-config.yml@main' # ([Token]) Use if your configuration file resides in a private external repository. # Possible values: Any GitHub token with read access to the private external repository. external-repo-token: 'ghp_123456789abcde'name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v3 with: # ([String]). Representing a path to a configuration file local to the repository or in an external repository. # Possible values: An absolute path to a local file or an external file. config-file: './.github/dependency-review-config.yml' # Syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH config-file: 'github/octorepo/dependency-review-config.yml@main' # ([Token]) Use if your configuration file resides in a private external repository. # Possible values: Any GitHub token with read access to the private external repository. external-repo-token: 'ghp_123456789abcde' -
Erstelle die Konfigurationsdatei in dem von dir angegebenen Pfad.
Diese YAML-Beispieldatei veranschaulicht, wie du die verfügbaren Konfigurationsoptionen verwenden kannst.
YAML # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # You can only include one of these two options: `allow-licenses` and `deny-licenses` # ([String]). Only allow these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses allow-licenses: - GPL-3.0 - BSD-3-Clause - MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses deny-licenses: - LGPL-2.0 - BSD-2-Clause # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: - GHSA-abcd-1234-5679 - GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: - development - runtime# Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # You can only include one of these two options: `allow-licenses` and `deny-licenses` # ([String]). Only allow these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses allow-licenses: - GPL-3.0 - BSD-3-Clause - MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses deny-licenses: - LGPL-2.0 - BSD-2-Clause # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: - GHSA-abcd-1234-5679 - GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: - development - runtime
Weitere Details zu den Konfigurationsoptionen findest du unter dependency-review-action.