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 son gratis para todos los repositorios de GitHub.com.

Acerca de Dependabot security updates

Las Dependabot security updates te facilitan el arreglar las dependencias vulnerables en tu repositorio. Si habilitas esta característica, cuando se levante una alerta del Dependabot para una dependencia vulnerable en la gráfica de dependencias de tu repositorio, Dependabot intentará arreglarla automáticamente. Para obtener más información, vea «Acerca de las alertas Dependabot» y «Configuración de actualizaciones de seguridad de Dependabot».

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 obtener más información, vea «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 obtener más información, vea «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 obtener más información, vea «Solucionar problemas de los errores del 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 obtener más información, vea «Acerca del 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 sub dependencia 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 obtener más información, vea «Solucionar problemas de los errores del 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 obtener más información, vea «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.

GitHub Actions no se requiere para que Dependabot version updates y Dependabot security updates se ejecuten en GitHub. Pero las solicitudes de incorporación de cambios que abre Dependabot pueden desencadenar flujos de trabajo que ejecutan acciones. Para 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 incorporación 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 más información sobre las solicitudes de incorporación de cambios de Dependabot, consulta "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 combine la solicitud de incorporación 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 "Acerca de la integración continua".

Acerca de las actualizaciones de seguridad agrupadas

Nota: Las actualizaciones agrupadas Dependabot se encuentran actualmente en versión beta y están sujetas a cambios.

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 "Seguridad y análisis de código" para su organización o repositorio.
  • Para un control más granular de la agrupación, como la agrupación por nombre del paquete, las dependencias de desarrollo y producción o el nivel SemVer, agregue opciones de configuración al archivo de configuración dependabot.yml del repositorio.

Nota: Si ha 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 obtener más información, vea «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 solicitud de incorporación de cambios de Dependabot, Dependabot pausa temporalmente sus actualizaciones y te informa de ello. Este comportamiento de exclusión automática reduce el ruido porque Dependabot no crea solicitudes de cambios para actualizaciones de versión y de seguridad y no fusiona mediante cambio de base las solicitudes de cambios de Dependabot para los repositorios inactivos.

La desactivación automática de las actualizaciones de Dependabot solo se aplica a los repositorios en los que Dependabot ha abierto solicitudes de incorporación de cambios, pero las solicitudes de incorporación de cambios permanecen intactas. Si Dependabot no ha abierto ninguna solicitud de incorporación de cambios, los datos de Dependabot nunca se pausarán.

Un repositorio activo es un repositorio para el que un usuario (no Dependabot) ha llevado a cabo alguna de las acciones siguientes en los últimos 90 días:

  • Combinar o cerrar una solicitud de incorporación de cambios de Dependabot en el repositorio.
  • Realizar un cambio en el archivo dependabot.yml del repositorio.
  • Desencadenar manualmente una actualización de seguridad o una actualización de versión.
  • Habilitar las Dependabot security updates para el repositorio.
  • Usar comandos @dependabot en solicitudes de incorporación de cambios.

Un repositorio inactivo es un repositorio que tiene al menos una solicitud de incorporación de cambios de Dependabot abierta durante más de 90 días, se ha habilitado durante el período completo y en el que ningún usuario ha realizado ninguna de las acciones enumeradas anteriormente.

Cuando se pausan los datos Dependabot, GitHub agrega un aviso de banner:

  • A todas las solicitudes de cambios Dependabot abiertas.
  • En la interfaz de usuario de la pestaña Configuración del repositorio (en Seguridad y análisis de código, Dependabot).
  • En la lista de datos Dependabot alerts (si Dependabot security updates se ven afectados).

En cuanto un mantenedor vuelva a interactuar con una solicitud de incorporación de cambios de Dependabot, Dependabot se reanudará automáticamente:

  • Las actualizaciones de seguridad se reanudan automáticamente para Dependabot alerts.
  • Las actualizaciones de versión se reanudan automáticamente con la programación especificada en el archivo dependabot.yml.

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 obtener más información, vea «Administrar las notificaciones en tu bandeja de entrada».