Skip to main content

Sobre las actualizaciones de seguridad de Dependabot

Dependabot puede arreglar tus dependencias vulnerables levantando solicitudes de extracción con actualizaciones de seguridad.

¿Quién puede utilizar esta característica?

Dependabot security updates está disponible para los repositorios siguientes:

  • Todos los repositorios de GitHub

Acerca de Dependabot security updates

Las Dependabot security updates te facilitan el arreglar las dependencias vulnerables en tu repositorio.

Si habilitas Dependabot security updates, cuando se genera una alerta Dependabot para una dependencia vulnerable en la gráfica de dependencias de tu repositorio, Dependabot intentará arreglarla automáticamente. Para más información, consulta Acerca de las alertas Dependabot y Configuración de actualizaciones de seguridad de Dependabot.

Puede agregar un archivo de configuración dependabot.yml a su repositorio para personalizar el comportamiento de Dependabot, incluidos los horarios de actualización, la configuración de la solicitud de incorporación de cambios y las dependencias que se van a monitorizar. Para más información, consulta Acerca del archivo dependabot.yml. A continuación, configure las opciones de este archivo para indicar a Dependabot cómo proteger las dependencias en las que se basa el repositorio.

Para más información sobre los ecosistemas compatibles con los repositorios privados, consulta Ecosistemas y repositorios admitidos por Dependabot.

Nota:

No hay ninguna interacción entre la configuración especificada en el archivo dependabot.yml y las alertas de seguridad Dependabot, aparte del hecho de que las alertas se cerrarán cuando se combinen las solicitudes de incorporación de cambios relacionadas generadas por Dependabot para las actualizaciones de seguridad.

Dependabot firma sus propias confirmaciones de manera predeterminada, incluso si la firma de confirmación no es un requisito para el repositorio. Para obtener más información sobre las confirmaciones de verificación, consulta Acerca de la verificación de firma de confirmación.

Nota:

Cuando Dependabot security updates están habilitados para un repositorio, Dependabot intentará abrir automáticamente solicitudes de incorporación de cambios para resolver cada alerta abierta de Dependabot que tenga una revisión disponible. Si prefieres personalizar para qué alertas Dependabot abre solicitudes de incorporación de cambios, deberás dejar deshabilitado y crear una regla de autoevaluación de prioridades. Para más información, consulta Personalización de reglas de evaluación de prioridades automática para priorizar las alertas de Dependabot.

GitHub podría enviar Dependabot alerts a los repositorios que se vieron afectados por la vulnerabilidad que se divulgó en una asesoría de seguridad de GitHub publicada recientemente. Para más información, consulta Exploración de los avisos de seguridad en GitHub Advisory Database.

Dependabot verifica si es posible actualizar la dependencia vulnerable a una versión arreglada sin irrumpir en la gráfica de dependencias para el repositorio. Posteriormente, el Dependabot levanta una solicitud de cambios para actualizar la dependencia a la versión mínima que incluye el parche y los enlaces a la solicitud de cambios para la alerta del Dependabot, o reporta un error en la alerta. Para más información, consulta Errores de Dependabot.

La característica de Dependabot security updates se encuentra disponible para los repositorios en donde hayas habilitado la gráfica de dependencias y las Dependabot alerts. Verás una alerta del Dependabot por cada dependencia vulnerable que se haya identificado en toda tu gráfica de dependencias. Sin embargo, las actualizaciones de seguridad se activan únicamente para las dependencias que se especifican en un archivo de manifiesto o de bloqueo. Para más información, consulta Sobre el gráfico de dependencias.

Nota:

En el caso de npm, Dependabot generará una solicitud de incorporación de cambios para actualizar una dependencia definida explícitamente a una versión segura, incluso si implica actualizar la dependencia primaria o las dependencias, o incluso quitar una subdependencia que ya no sea necesaria por el elemento primario. Para otros ecosistemas, Dependabot no puede actualizar una dependencia indirecta o transitiva si también requiriera una actualización de la dependencia primaria. Para más información, consulta Errores de Dependabot.

Puedes habilitar una característica relacionada, Dependabot version updates, para que el Dependabot levante solicitudes de cambio para actualizar el manifiesto a la última versión de la dependencia cuando detecte una que esté desactualizada. Para más información, consulta Acerca de las actualizaciones a la versión del Dependabot.

Cuando Dependabot genera solicitudes de incorporación de cambios, pueden ser para actualizaciones de seguridad o de versión:

  • Dependabot security updates son solicitudes de incorporación de cambios automatizadas que ayudan a actualizar las dependencias con vulnerabilidades conocidas.
  • Dependabot version updates son solicitudes de incorporación de cambios automatizadas que mantienen actualizadas las dependencias, incluso cuando no tienen ninguna vulnerabilidad. Para verificar el estado de las actualizaciones de versión, navega a la pestaña de perspectivas de tu repositorio, luego a la gráfica de dependencias, y luego al Dependabot.

Si habilitas Dependabot security updates, las partes de la configuración también pueden afectar a las solicitudes de incorporación de cambios creadas para Dependabot version updates. Esto se debe a que algunas opciones de configuración son comunes a ambos tipos de actualizaciones. Para más información, consulta Personalización de solicitudes de incorporación de cambios para actualizaciones de seguridad de Dependabot.

Las solicitudes de incorporación de cambios que abre Dependabot pueden desencadenar flujos de trabajo que ejecutan acciones. Para obtener más información, consulta Automatizar al Dependabot con las GitHub Actions.

Dependabot security updates puede corregir dependencias vulnerables en GitHub Actions. Cuando se habilitan las actualizaciones de seguridad, Dependabot generará automáticamente una solicitud de cambios para actualizar los datos vulnerables GitHub Actions usados en los flujos de trabajo a la versión con revisión mínima.

Acerca de las solicitudes de cambios para las actualizaciones de seguridad

Cada solicitud de cambios contiene todo lo que necesitas para revisar y fusionar de forma rápida y segura un arreglo propuesto en tu proyecto. Esto incluye la información acerca de la vulnerabilidad, como las notas de lanzamiento, las entradas de bitácora de cambios, y los detalles de confirmación. Los detalles de qué vulnerabilidad resuelve una solicitud de cambios se encuentran ocultos para cualquiera que no tenga acceso a las Dependabot alerts del repositorio en cuestión.

Cuando fusionas una solicitud de cambios que contiene una actualización de seguridad, la alerta correspondiente del Dependabot se marca como resuelta en el repositorio. Para obtener más información sobre las solicitudes de incorporación de cambios de Dependabot, consulte Administrar las solicitudes de extracción para las actualizaciones de dependencia.

Nota:

Un procedimiento recomendado consiste en establecer pruebas automatizadas y procesos de aceptación para que las comprobaciones se realicen antes de que se fusione mediante combinación la solicitud de cambios. Esto es particularmente importante si la versión que se sugiere mejorar contiene funcionalidades adicionales o un cambio que infrinja el código de tu proyecto. Para más información sobre la integración continua, consulta Integración continua.

Acerca de las actualizaciones de seguridad agrupadas

Para reducir aún más el número de solicitudes de cambios que puede estar viendo, puede activar las actualizaciones de seguridad agrupadas para agrupar conjuntos de dependencias (por ecosistema de paquetes). Dependabot entonces genera una única solicitud de cambios para actualizar tantas dependencias vulnerables como sea posible en el grupo a versiones seguras al mismo tiempo.

En el caso de las actualizaciones de seguridad, Dependabot solo agrupará las dependencias de directorios diferentes por ecosistema en determinadas condiciones y configuraciones. Dependabot no agrupará las dependencias de diferentes ecosistemas de paquetes y no agrupará las actualizaciones de seguridad con las actualizaciones de versión.

Puede habilitar solicitudes de incorporación de cambios agrupadas para Dependabot security updates de una o ambas de las siguientes maneras.

  • Para agrupar tantas actualizaciones de seguridad disponibles como sea posible, en directorios y por ecosistema, habilite la agrupación en la configuración de "Advanced Security" para el repositorio, o en "Configuración global" en Advanced Security para su organización.
  • Para un control más granular de la agrupación, como la agrupación por nombre del paquete, dependencias de desarrollo y producción, nivel SemVer o entre varios directorios por ecosistema, agrega opciones de configuración al archivo de configuración dependabot.yml del repositorio.

Nota:

Si has configurado reglas de grupo para Dependabot security updates en un archivo dependabot.yml, todas las actualizaciones disponibles se agruparán según las reglas especificadas. Dependabot solo se agruparán entre esos directorios no configurados en dependabot.yml si también está habilitada la configuración de actualizaciones de seguridad agrupadas en el nivel de organización o repositorio.

Para más información, consulta Configuración de actualizaciones de seguridad de Dependabot.

Acerca de las puntuaciones de compatibilidad

Las Dependabot security updates podrían incluir puntuaciones de compatibilidad para hacerte saber si el actualizar una dependencia podría causar cambios sustanciales en tu proyecto. Estos se calculan de las pruebas de IC en otros repositorios públicos en donde se ha generado la misma actualización de seguridad. La puntuación de compatibilidad de una actualización es el porcentaje de ejecuciones de IC que pasaron cuando se hicieron actualizaciones en versiones específicas de la dependencia.

Acerca de la desactivación automática de Dependabot updates

Cuando los mantenedores de un repositorio dejan de interactuar con las solicitudes de cambios de Dependabot, Dependabot pausa temporalmente sus actualizaciones y te informa de ello; consulta Ya no se generan actualizaciones de solicitudes de incorporación de cambios de actualización de Dependabot.

Acerca de las notificaciones para las actualizaciones de seguridad del Dependabot

Puedes filtrar tus notificaciones en GitHub para mostrar las actualizaciones de seguridad del Dependabot. Para más información, consulta Administrar las notificaciones en tu bandeja de entrada.