Acerca de la revisión de dependencias
La revisión de dependencias te permite entender los cambios a las dependencias y el impacto de seguridad de estos cambios en cada solicitud de cambios. Proporciona una visualización fácil de entender para los cambios de dependencia con un diferencial importante en la pestaña "Archivos cambiados" de una solicitud de incorporación de cambios. La revisión de dependencias te informa sobre:
- Qué dependencias se agregaron, eliminaron o actualizaron junto con las fechas de lanzamiento.
- Cuántos proyectos utilizan estos componentes.
- Datos de las vulnerabilidades para estas dependencias.
Para obtener más información, vea «Acerca de la revisión de dependencias» y «Revisar los cambios de las dependencias en una solicitud de cambios».
Acerca de la configuración de la revisión de dependencias
La revisión de dependencias está disponible en todos los repositorios públicos de todos los productos y no puede deshabilitarse. La revisión de dependencias está disponible en repositorios privados propiedad de las organizaciones que usan GitHub Enterprise Cloud y que tienen una licencia para GitHub Advanced Security. Para más información, vea la documentación de GitHub Enterprise Cloud.
Acerca de la configuración de la Acción de revisión de dependencias
Acción de revisión de dependencias examina las solicitudes de incorporación de cambios en busca de cambios de dependencia y genera un error si alguna dependencia nueva tiene vulnerabilidades conocidas. La acción es compatible con un punto de conexión de API que compara las dependencias entre dos revisiones y notifica las diferencias.
Para más información sobre la acción y el punto de conexión de API, consulta la documentación de dependency-review-action
y "Revisión de dependencias" en la documentación de la API.
Están disponibles las siguientes opciones de configuración.
Opción | Obligatorio | Uso |
---|---|---|
fail-on-severity | Define el umbral del nivel de gravedad (low , moderate , high y critical ).La acción generará un error en las solicitudes de incorporación de cambios que introduzcan vulnerabilidades del nivel de gravedad especificado o superior. | |
allow-licenses | Contiene una lista de licencias permitidas. Encontrarás los valores posibles para este parámetro en la página Licencias de la documentación de la API. La acción producirá un error en las solicitudes de incorporación de cambios que introducen dependencias con licencias que no coinciden con la lista. | |
deny-licenses | Contiene una lista de licencias prohibidas. Encontrarás los valores posibles para este parámetro en la página Licencias de la documentación de la API. La acción producirá un error en las solicitudes de incorporación de cambios que introducen dependencias con licencias que coinciden con la lista. | |
allow-ghsas | Contiene una lista de id. de GitHub Advisory Database que se pueden omitir durante la detección. Puedes encontrar los valores posibles para este parámetro en los GitHub Advisory Database. | |
config-file | Especifica una ruta de acceso a un archivo de configuración. El archivo de configuración puede ser local en el repositorio o en un archivo ubicado en un repositorio externo. |
Sugerencia: Las opciones allow-licenses
y deny-licenses
se excluyen mutuamente.
Configuración de la Acción de revisión de dependencias
Hay dos métodos para configurar la Acción de revisión de dependencias:
- Insertar las opciones de configuración en el archivo de flujo de trabajo.
- Hacer referencia a un archivo de configuración en el archivo de flujo de trabajo.
Observa que en todos los ejemplos se usa un número de versión corto para la acción (v3
) en lugar de un número de versión SemVer (por ejemplo, v3.0.8
). Esto garantiza que uses la versión secundaria más reciente de la acción.
Uso de la configuración insertada para configurar la Acción de revisión de dependencias
-
Agrega un nuevo flujo de trabajo YAML a la carpeta
.github/workflows
.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
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
-
Especifique su configuración.
En este archivo de ejemplo de la Acción de revisión de dependencias se muestra cómo se pueden usar las opciones de configuración disponibles.
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, 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@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
Uso de un archivo de configuración para configurar la Acción de revisión de dependencias
-
Agrega un nuevo flujo de trabajo YAML a la carpeta
.github/workflows
y usaconfig-file
para especificar que usas un archivo de configuración.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'
-
Crea el archivo de configuración en la ruta de acceso especificada.
En este archivo de ejemplo YAML se ilustra cómo puedes usar las opciones de configuración disponibles.
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
Para obtener más información sobre las opciones de configuración, consulta dependency-review-action
.