Informationen zum Abhängigkeitsüberprüfungsaktion
Der „Abhängigkeitsüberprüfungsaktion“ bezieht sich auf die spezifische Aktion, mit der Unterschiede in einem Pull Request im GitHub Actions-Kontext berichtet werden kann, und fügt dem GitHub Actions-Workflow Erzwingungsmechanismen hinzu.
Die Abhängigkeitsüberprüfungsaktion prüft deine Pull Requests auf Änderungen bei Abhängigkeiten und gibt 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 finden Sie in der Dokumentation dependency-review-action
und unter „REST-API-Endpunkte für die Abhängigkeitsüberprüfung“.
Organisationsbesitzer*innen können die Abhängigkeitsüberprüfung im großen Stil einführen, indem sie die Nutzung der Abhängigkeitsüberprüfungsaktion für Repositorys in der Organisation erzwingen. Dies umfasst die Nutzung von Repository-Regelsätzen, für die Sie die Abhängigkeitsüberprüfungsaktion als erforderlichen Workflow festlegen. Das bedeutet, dass Pull Requests nur zusammengeführt werden können, nachdem der Workflow alle erforderlichen Prüfungen bestanden hat. Weitere Informationen findest du unter Erzwingen der Abhängigkeitsüberprüfung in einer Organisation.
Hier finden Sie eine Liste der gängigen Konfigurationsoptionen. Weitere Informationen und eine vollständige Liste der Optionen finden Sie unter Überprüfung der Abhängigkeit von GitHub Marketplace.
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 schlägt bei Pull Requests fehl, die Abhängigkeiten mit Lizenzen einführen, die nicht der Liste entsprechen. | |
deny-licenses | Enthält eine Liste verbotener Lizenzen. Du findest die möglichen Werte für diesen Parameter auf der Seite Lizenzen der API-Dokumentation. Die Aktion schlägt bei Pull Requests fehl, die Abhängigkeiten mit Lizenzen einführen, die der Liste entsprechen. | |
fail-on-scopes | Enthält eine Liste von Zeichenfolgen, die die Buildumgebungen darstellen, die Sie unterstützen möchten (development , runtime , unknown ). Die Aktion schlägt bei Pullanforderungen fehl, die Sicherheitsrisiken in den Bereichen einführen, die der Liste entsprechen. | |
comment-summary-in-pr | Aktivieren oder deaktivieren Sie die Berichterstellung der Rezensionszusammenfassung als Kommentar in der Pull Request. Wenn diese Option aktiviert ist, müssen Sie dem Workflow oder Auftrag die pull-requests: write -Berechtigung erteilen. | |
allow-ghsas | Enthält eine Liste von GitHub Advisory Database-IDs, die während 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 lokal im Repository oder in einem externen Repository gespeichert sein. | |
external-repo-token | Gibt ein Token zum Abrufen der Konfigurationsdatei an, wenn sich die Datei in einem privaten externen Repository befindet. Das Token benötigt Lesezugriff auf das Repository. |
Tip
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/workflows
einen 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@v4
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@v4
-
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@v4 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-compliant license identifiers or expressions from https://spdx.org/licenses/ allow-licenses: GPL-3.0, BSD-3-Clause, MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any SPDX-compliant license identifiers or expressions from https://spdx.org/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
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@v4 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-compliant license identifiers or expressions from https://spdx.org/licenses/ allow-licenses: GPL-3.0, BSD-3-Clause, MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any SPDX-compliant license identifiers or expressions from https://spdx.org/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/workflows
einen neuen YAML-Workflow hinzu, und gib mithilfe vonconfig-file
an, 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@v4 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' # Optional alternative syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH (uncomment if preferred) # 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@v4 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' # Optional alternative syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH (uncomment if preferred) # 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-compliant license identifiers or expressions from https://spdx.org/licenses/ allow-licenses: - GPL-3.0 - BSD-3-Clause - MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any SPDX-compliant license identifiers or expressions from https://spdx.org/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-compliant license identifiers or expressions from https://spdx.org/licenses/ allow-licenses: - GPL-3.0 - BSD-3-Clause - MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any SPDX-compliant license identifiers or expressions from https://spdx.org/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
.