El uso de colecciones de código escritas previamente en el proyecto, denominadas bibliotecas o paquetes, es habitual. Estos módulos de código te ahorran muchísimo tiempo, lo que te permite centrarte en los nuevos aspectos creativos del trabajo en lugar de codificar componentes reutilizables de gran tamaño desde cero. Cuando se agregan al proyecto, se denominan dependencias, ya que el trabajo depende del código que contienen.
Aunque el uso de dependencias es perfectamente normal, las dependencias pueden contener vulnerabilidades de código, lo que a su vez haría que el proyecto no fuera seguro. Afortunadamente, las herramientas como Dependabot pueden encontrar vulnerabilidades de dependencia, generar solicitudes de incorporación de cambios para corregirlas e incluso evitar que se produzcan en el futuro. En este tutorial, aprenderás a habilitar y usar Dependabot y sus características para proteger las dependencias.
Configuración del repositorio de demostración
Empecemos bifurcando un proyecto de demostración con algunas vulnerabilidades de dependencia. Dado que no implementaremos el proyecto, no hay ningún riesgo de seguridad en este ejercicio.
- Vaya al repositorio de
new2code/dependabot-demo. - En la parte superior derecha de la página, haz clic en Fork.
- En la página que aparece, haz clic en Crear bifurcación.
Habilitación de las características de seguridad de dependencia
Ahora que hemos configurado el proyecto, vamos a configurar Dependabot para buscar y crear correcciones para dependencias no seguras.
- En la barra de navegación del repositorio, haz clic en Security.
- En la fila "Dependabot alerts", haz clic en Habilitar Dependabot alerts.
- En la sección "Dependabot", junto a "Dependabot alerts", haz clic en Habilitar.
- En el elemento emergente que aparece, lee la instrucción sobre cómo habilitar el gráfico de dependencias y, a continuación, haz clic en Habilitar.
- Para permitir que Dependabot abra automáticamente las solicitudes de incorporación de cambios que corrigen vulnerabilidades de dependencia, junto a "Dependabot security updates", haz clic en Habilitar.
Visualización de las dependencias no seguras
Con Dependabot configurado, vamos a averiguar cuáles de nuestras dependencias contienen vulnerabilidades.
- En la barra de navegación del repositorio, haz clic en Security.
- Para ver las Dependabot alerts de su repositorio, haga clic en Dependabot en la navegación lateral.
- Para ver información detallada sobre una alerta, haz clic en el título de la alerta. Para este ejercicio, haz clic en Inyección de comandos en analizador de fórmulas activas.
Descripción de una alerta de Dependabot
Ahora que Dependabot ha identificado algunas vulnerabilidades en nuestras dependencias, vamos a desglosar la información proporcionada en la alerta "Inyección de comandos en el analizador de fórmulas activas".
Resumen de la corrección
Debajo del título de la alerta, puedes ver un breve resumen de la corrección de esta vulnerabilidad, incluido el número de alertas que cerrará y la ubicación de la vulnerabilidad. En nuestro caso, la alerta nos indica que actualizar el paquete hot-formula-parser a la versión 3.0.1 corregirá una alerta de Dependabot identificada en nuestro archivo javascript/package-lock.json.
En esta sección también se realiza un seguimiento del progreso de Dependabot para crear un pull request y solucionar la vulnerabilidad. Una vez que una corrección esté disponible, verás un botón con la etiqueta " Revisar actualización de seguridad" vinculada a la solicitud de incorporación de cambios.

Detalles de la vulnerabilidad
Debajo de los detalles de corrección, Dependabot proporciona más información sobre la vulnerabilidad, entre las que se incluyen:
- Nombre del paquete vulnerable
- Las versiones del paquete que contienen la vulnerabilidad
- Versión del paquete que corrige la vulnerabilidad
- Detalles sobre el tipo de vulnerabilidad y cómo se puede aprovechar

En esta alerta, podemos ver que la función parse del paquete hot-formula-parser no comprueba correctamente que la entrada del usuario es segura antes de ejecutarla, lo que permite a los atacantes ejecutar comandos malintencionados.
Sugerencia
Si no comprendes completamente los detalles de la vulnerabilidad, prueba a pedir a chat de Copilot que la explique.
Escala de tiempo
Por último, puedes ver la escala de tiempo de la alerta en la parte inferior de la página. Nuestra escala de tiempo contiene actualmente la marca de tiempo cuando Dependabot abrió la alerta y se actualizará automáticamente cuando se corrija la vulnerabilidad.

Asegurar tus dependencias
Para proteger nuestro proyecto de forma rápida y sencilla, vamos a aplicar la corrección que Dependabot ha creado.
-
En el campo de alerta con el resumen de corrección, haz clic en Revisar actualización de seguridad.
-
En la página de solicitud de incorporación de cambios, haga clic en Archivos modificados para ver los cambios de Dependabot. Después de revisar los cambios, haz clic en Conversation para volver a la información general de la solicitud de incorporación de cambios.
-
Para aplicar la corrección, en la parte inferior de la página, haga clic en Combinar solicitud de incorporación de cambios y, a continuación, haga clic en Confirmar combinación.
Una vez que el pull request se fusiona, la alerta vinculada de Dependabot se cerrará de manera automática y el tiempo de corrección se agregará al cronograma.
Prevención de vulnerabilidades de dependencia futuras
Para evitar que las dependencias no seguras avancen, vamos a permitir que Dependabot abra automáticamente las solicitudes de incorporación de cambios que actualizan las dependencias a medida que se publiquen nuevas versiones.
- En la barra de navegación del repositorio, haz clic en Settings.
- En la sección "Seguridad" de la barra lateral, haz clic en Advanced Security.
- Junto a "Dependabot version updates", haz clic en Habilitar.
Pasos siguientes
Ahora que has probado Dependabot y sus características en un repositorio de demostración, habilítalas en tus propios proyectos para encontrar, corregir y evitar fácilmente vulnerabilidades de dependencia.