Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Konfigurieren der Abhängigkeitsüberprüfung

Du kannst die Abhängigkeitsüberprüfung verwenden, um Sicherheitsrisiken abzufangen, bevor sie deinem Projekt hinzugefügt werden.

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ängigkeitsprüfung oder Überprüfen von Abhängigkeitsänderungen in einem Pull Request.

Informationen zur Abhängigkeitsüberprüfung

Abhängigkeitsüberprüfungen sind in GitHub Enterprise Cloud für öffentliche Repositorys enthalten. Damit Abhängigkeitsüberprüfungen in privaten Repositorys verwendet werden können, die Organisationen gehören, wird eine Lizenz für GitHub Advanced Security benötigt, und das Abhängigkeitsdiagramm muss aktiviert sein.

Repositoryadministrator*innen können das Abhängigkeitsdiagramm für private Repositorys aktivieren oder deaktivieren.

Zudem kannst du das Abhängigkeitsdiagramm für alle Repositorys aktivieren oder deaktivieren, die ihrem Benutzerkonto oder deiner Organisation gehören. Weitere Informationen findest du unter Konfigurieren des Abhängigkeitsdiagramms.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys. 1. Klicke unter dem Repositorynamen auf Einstellungen. Schaltfläche „Repositoryeinstellungen“

  2. Klicke im Abschnitt „Sicherheit“ auf der Randleiste auf Codesicherheit und -analyse.

  3. Lies den Hinweis zum Erteilen des schreibgeschützten Zugriffs auf die Repositorydaten an GitHub Enterprise Cloud , um das Abhängigkeitsdiagramm zu aktivieren, und klicke neben „Abhängigkeitsdiagramm“ auf Aktivieren. Schaltfläche „Aktivieren“ für das Abhängigkeitsdiagramm Du kannst das Abhängigkeitsdiagramm jederzeit deaktivieren, indem du auf der Einstellungsseite für „Codesicherheit und -analyse“

  4. Wenn GitHub Advanced Security nicht aktiviert ist, klicke neben dem Feature auf Aktivieren. Screenshot: GitHub-Feature „Erweiterte Sicherheit“ mit hervorgehobener Schaltfläche „Aktivieren“

Konfigurieren des dependency review action

Die dependency review action 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 findest du in der Dokumentation zu dependency-review-action und unter Abhängigkeitsüberprüfung in der API-Dokumentation.

Die folgenden Konfigurationsoptionen stehen zur Verfügung.

OptionErforderlichVerbrauch
fail-on-severityOptionalDefiniert 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.

Tipp: Die Optionen allow-licenses und deny-licenses schließen sich gegenseitig aus.

Konfigurieren des dependency review action

Es gibt zwei Methoden zum Konfigurieren des dependency review action:

  • 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 dependency review action mithilfe der Inlinekonfiguration

  1. 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@v3
           - name: Dependency Review
             uses: actions/dependency-review-action@v3
  2. Lege die Einstellungen fest.

    Diese Beispieldatei für den dependency review action 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@v3
          - 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 dependency review action mithilfe einer Konfigurationsdatei

  1. Füge deinem Ordner .github/workflows einen neuen YAML-Workflow hinzu, und gib mithilfe von config-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@v3
          - 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'
  2. 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
    

    Weitere Details zu den Konfigurationsoptionen findest du unter dependency-review-action.