Skip to main content

Настройка действия проверки зависимостей

Вы можете использовать Действие проверки зависимостей их, чтобы выявить уязвимости до того, как они появятся в вашем проекте.

Кто может использовать эту функцию?

Владельцы репозитория, владелец организации, руководители безопасности и пользователи с ролью администратора

«Действие проверки зависимостей» относится к конкретному действию, которое может сообщать о различиях в pull request-запросе в данном GitHub Actions контексте. Он также может добавить механизмы контроля в GitHub Actions рабочий процесс. Дополнительные сведения см. в разделе Анализ зависимостей.

Для списка распространённых опций конфигурации см. Обзор зависимостейGitHub Marketplaceна .

Настройка Действие проверки зависимостей

Существует два способа настройки:Действие проверки зависимостей

  • Встраивание параметров конфигурации в файл рабочего процесса.
  • Ссылка на файл конфигурации в файле рабочего процесса.

Обратите внимание, что все примеры используют короткий номер версии для действия (v3) вместо номера выпуска semver (например, v3.0.8). Это гарантирует использование последней дополнительной версии действия.

Использование встроенной конфигурации для настройки Действие проверки зависимостей

  1. Добавьте в папку новый рабочий процесс .github/workflows YAML.

    YAML
    name: 'Dependency Review'
    on: [pull_request]
    
    permissions:
      contents: read
    
    jobs:
      dependency-review:
        runs-on: ubuntu-latest
        steps:
         - name: 'Checkout Repository'
           uses: actions/checkout@v6
         - name: Dependency Review
           uses: actions/dependency-review-action@v4
    
  2. Укажите параметры.

    Этот Действие проверки зависимостей пример файла иллюстрирует, как можно использовать доступные настройки.

    YAML
    name: 'Dependency Review'
    on: [pull_request]
    
    permissions:
      contents: read
    
    jobs:
      dependency-review:
        runs-on: ubuntu-latest
        steps:
        - name: 'Checkout Repository'
          uses: actions/checkout@v6
        - 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
    

Использование конфигурационного файла для настройки Действие проверки зависимостей

  1. Добавьте новый рабочий процесс YAML в .github/workflows папку и укажите config-file , что используется файл конфигурации.

    YAML
    name: 'Dependency Review'
    on: [pull_request]
    
    permissions:
     contents: read
    
    jobs:
      dependency-review:
        runs-on: ubuntu-latest
        steps:
        - name: 'Checkout Repository'
          uses: actions/checkout@v6
        - 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'
    
  2. Создайте файл конфигурации в указанном пути.

    В этом примере файла YAML показано, как использовать доступные параметры конфигурации.

    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
    

Дополнительные сведения о параметрах конфигурации см. в разделе dependency-review-action.

Дополнительные материалы