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 los repositorios (propiedad del usuario y propiedad de la organización) en GitHub Enterprise Server, siempre que los administradores de la empresa habiliten la característica para tu empresa.

Nota: Para poder utilizar esta característica, el administrador del sitio debe configurar Dependabot updates para tu instancia de GitHub Enterprise Server. Para obtener más información, vea «Habilitación de Dependabot para la empresa».

Es posible que no puedas habilitar o deshabilitar Dependabot updates si un propietario de empresa ha establecido una directiva en el nivel empresarial. Para más información, consulta "Aplicación de directivas de seguridad y análisis de código de la empresa".

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».

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, consulte "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 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.

Antes de habilitar Dependabot updates, debes configurar tu instancia de GitHub Enterprise Server para que use GitHub Actions con ejecutores autohospedados. GitHub Actions es necesario para que Dependabot version updates y Dependabot security updates se ejecuten en GitHub Enterprise Server. Para más información, consulta "Habilitación de Dependabot para la empresa".

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 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).

Además, podrá ver si los datos Dependabot se pausan en el nivel de organización en la información general de seguridad. El estado paused también será visible a través de la API. Para más información, consulta "Puntos de conexión de la API de REST para repositorios".

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».