Skip to main content

Acerca de la seguridad de la cadena de suministro

GitHub Enterprise Server te ayuda a proteger la cadena de suministro, desde comprender las dependencias de tu entorno a conocer las vulnerabilidades de dichas dependencias y aplicarles revisiones.

Acerca de la seguridad de la cadena de suministro en GitHub

Con el uso acelerado del código abierto, la mayoría de los proyectos dependen de cientos de dependencias de código abierto. Esto plantea un problema de seguridad: ¿qué ocurre si las dependencias que usa son vulnerables? Podría poner a los usuarios en riesgo de un ataque de cadena de suministro. Una de las cosas más importantes que puedes hacer para proteger la cadena de suministro es revisar las dependencias vulnerables.

Las dependencias se agregan directamente a la cadena de suministro cuando se especifican en un archivo de manifiesto o en un archivo de bloqueo. Las dependencias también se pueden incluir de forma transitiva, es decir, incluso si no especifica una dependencia concreta, pero se usa en una dependencia propia, también dependerá de esa dependencia.

GitHub Enterprise Server ofrece diversas características para ayudarte a comprender las dependencias del entorno, conocer las vulnerabilidades de esas dependencias y aplicarles revisiones.

Las características de la cadena de suministro en GitHub Enterprise Server son las siguientes:

  • Gráfica de dependencias
  • Revisión de dependencias
  • Dependabot alerts - Dependabot updates
    • Dependabot security updates
    • Dependabot version updates

El gráfico de dependencias es fundamental para la seguridad de la cadena de suministro. En el gráfico de dependencias se identifican todas las dependencias ascendentes y las dependencias descendentes públicas de un repositorio o paquete. En el gráfico de dependencias del repositorio puede ver las dependencias del repositorio y algunas de sus propiedades, como la información de vulnerabilidad.

Otras características de la cadena de suministro de GitHub dependen de la información proporcionada por el gráfico de dependencias.

  • La revisión de dependencias usa el gráfico de dependencias para identificar los cambios de dependencias y ayudarle a comprender el impacto en la seguridad de estos cambios al revisar solicitudes de incorporación de cambios.
  • Dependabot realiza referencias cruzadas entre los datos de dependencia proporcionados por el gráfico de dependencias y la lista de avisos publicados en GitHub Advisory Database, examina las dependencias y genera Dependabot alerts cuando se detecta una vulnerabilidad posible .
  • Las Dependabot security updates usan el gráfico de dependencias y Dependabot alerts para ayudarte a actualizar las dependencias con vulnerabilidades conocidas en el repositorio.

Dependabot version updates no usan el gráfico de dependencias y en su lugar se basan en el control de versiones semántico de las dependencias. Dependabot version updates ayudan a mantener actualizadas las dependencias, incluso cuando no tienen ninguna vulnerabilidad.

Para obtener guías de procedimientos recomendados sobre la seguridad de la cadena de suministro de un extremo a otro, incluida la protección de cuentas personales, código y procesos de compilación, consulta "Protección de la cadena de suministro de un extremo a otro".

Introducción a las características

Qué es el gráfico de dependencias

Para generar el gráfico de dependencias, GitHub examina las dependencias explícitas de un repositorio declaradas en el manifiesto y los archivos de bloqueo. Cuando se habilita, el gráfico de dependencias analiza automáticamente todos los archivos de manifiesto de paquete conocidos del repositorio y los usa para construir un gráfico con versiones y nombres de dependencia conocidos.

  • El gráfico de dependencias incluye información sobre las dependencias directas y las transitivas.
  • El gráfico de dependencias se actualiza automáticamente al insertar una confirmación en GitHub que cambia o agrega un archivo de manifiesto o de bloqueo admitido a la rama predeterminada y cuando alguien inserta un cambio en el repositorio de una de las dependencias.
  • Para ver el gráfico de dependencias, abra la página principal del repositorio en GitHub Enterprise Server y vaya a la pestaña Conclusiones.

Para más información sobre el gráfico de dependencias, vea "Acerca del gráfico de dependencias".

Qué es la revisión de dependencias

La revisión de dependencias ayuda a los revisores y colaboradores a comprender los cambios de dependencia y su impacto en la seguridad en cada solicitud de incorporación de cambios.

  • La revisión de dependencias indica qué dependencias se han agregado, quitado o actualizado en una solicitud de incorporación de cambios. Puede usar las fechas de lanzamiento, la popularidad de las dependencias y la información de vulnerabilidad para ayudarle a decidir si quiere aceptar el cambio.
  • Puede ver la revisión de dependencias de una solicitud de incorporación de cambios si muestra la diferencia enriquecida en la pestaña Archivos cambiados.

Para más información sobre la revisión de dependencias, vea "Acerca de la revisión de dependencias".

Qué es Dependabot

Dependabot mantiene actualizadas las dependencias para lo cual te informa de cualquier vulnerabilidad de seguridad en ellas, y abre solicitudes de incorporación de cambios de forma automática para actualizar las dependencias a la siguiente versión segura disponible cuando se desencadena una alerta de Dependabot, o bien a la versión más reciente cuando se publica una versión.

El término "Dependabot" abarca las características siguientes:

  • Dependabot alerts: notificación mostrada en la pestaña Seguridad y en el gráfico de dependencias del repositorio. La alerta incluye un enlace al archivo afectado en el proyecto e información acerca de la versión arreglada.
  • Dependabot updates:
    • Dependabot security updates: actualizaciones desencadenadas para actualizar las dependencias a una versión segura cuando se desencadena una alerta.
    • Dependabot version updates: actualizaciones programadas para mantener actualizadas las dependencias con la versión más reciente.

Las Dependabot security updates y las Dependabot version updates requieren que GitHub Actions se ejecute en GitHub Enterprise Server. Las Dependabot alerts no necesitan GitHub Actions. Para obtener más información, consulte "Habilitación de Dependabot para la empresa".

Qué son las alertas de Dependabot

Dependabot alerts resalta los repositorios afectados por una vulnerabilidad recién detectada en función del gráfico de dependencias y GitHub Advisory Database, que contiene los avisos para las vulnerabilidades conocidas.

  • Dependabot realiza un examen para detectar las dependencias no seguras y envía Dependabot alerts cuando:
  • Dependabot alerts se muestran en la pestaña Seguridad del repositorio y en el gráfico de dependencias del repositorio. La alerta incluye un vínculo al archivo afectado en el proyecto e información sobre una versión fija.

Para más información, vea "Acerca de Dependabot alerts".

Qué son las actualizaciones de Dependabot

Hay dos tipos de Dependabot updates: actualizaciones de seguridad y de versión de Dependabot. En los dos casos Dependabot genera solicitudes de incorporación de cambios automáticas para actualizar las dependencias, pero hay varias diferencias.

Dependabot security updates:

  • Desencadenada por una alerta de Dependabot
  • Actualizan las dependencias a la versión mínima que resuelve una vulnerabilidad conocida
  • Compatible con ecosistemas admitidos en el gráfico de dependencias
  • No requiere un archivo de configuración, pero puedes usar uno para invalidar el comportamiento predeterminado.

Dependabot version updates:

  • Requiere un archivo de configuración
  • Se ejecutan según una programación que configure
  • Actualizan las dependencias a la versión más reciente que coincida con la configuración
  • Compatible con un grupo diferente de ecosistemas

Para más información sobre Dependabot updates, vea "Acerca de Dependabot security updates" y "Acerca de Dependabot version updates".

Disponibilidad de características

  • Gráfico de dependencias y Dependabot alerts : no están habilitados de forma predeterminada. El propietario de la empresa configura las dos características en un nivel empresarial. Para más información, vea "Habilitación del gráfico de dependencias para la empresa" y "Habilitación de Dependabot para la empresa".
  • Revisión de dependencias: disponible cuando se habilita el gráfico de dependencias para your GitHub Enterprise Server instance y se habilita Advanced Security para la organización o el repositorio. Para más información, consulte "Acerca de GitHub Advanced Security".
  • Dependabot security updates : no está habilitado de forma predeterminada. Puedes habilitar las Dependabot security updates para cualquier repositorio que utilice Dependabot alerts y la gráfica de dependencias. Para obtener información sobre cómo habilitar las actualizaciones de seguridad, vea "Configuración de Dependabot security updates".
  • Dependabot version updates : no está habilitado de forma predeterminada. Las personas con permisos de escritura en un repositorio pueden habilitar las Dependabot version updates. Para obtener información sobre cómo habilitar las actualizaciones de versiones, consulta "Configuración de Dependabot version updates".