Skip to main content

Ver y actualizar las alertas del Dependabot

Si GitHub descubre dependencias inseguras en tu proyecto, puedes ver los detalles en la pestaña de alertas del Dependabot de tu repositorio. Luego, puedes actualizar tu proyecto para resolver o descartar la alerta.

Repository administrators and organization owners can view and update dependencies, as well as users and teams with explicit access.

La pestaña de Las alertas del dependabot de tu repositorio lista todas lasLas alertas del dependabot abiertas y cerradas, así como las Actualizaciones de seguridad del dependabot correspondientes. Puedes filtrar las alertas por paquete, ecosistema o manifiesto. Puedes ordenar la lista de alertas y hacer clic en aquellas específicas para ver más detalles. También puedes descartar o volver a abrir las alertas, ya sea una por una o seleccionando alertas múltiples a la vez. Para obtener más información, consulta la sección "Acerca de las Las alertas del dependabot".

Puedes habilitar las alertas de seguridad automáticas para cualquier repositorio que utilice Las alertas del dependabot y la gráfica de dependencias. Para obtener más información, consulta la sección "Acerca de las Actualizaciones de seguridad del dependabot".

Acerca de las actualizaciones para las dependencias vulnerables en tu repositorio

GitHub genera Las alertas del dependabot cuando detectamos que tu base de còdigo està utilizando dependencias con riesgos de seguridad conocidos. Para los repositorios en donde se habilitan las Actualizaciones de seguridad del dependabot cuando GitHub detecta una dependencia vulnerable en la rama predeterminada, Dependabot crea una solicitud de cambios para arreglarla. La solicitud de extracción mejorará la dependencia a la versión segura mínima que sea posible y necesaria para evitar la vulnerabilidad.

Predeterminadamente, las Las alertas del dependabot se muestran en la pestaña de Las alertas del dependabot según su importancia, pero puedes ordenarlas por otros criterios. Puedes ordenar y filtrar las Las alertas del dependabot con los menús desplegables en la pestaña de Las alertas del dependabot o escribiendo filtros como pares de key:value en la barra de búsqueda. Los filtros disonibles son repositorio (por ejemplo, repo:my-repository), paquete (por ejemplo, package:django), ecosistema (por ejemplo, ecosystem:npm), manifiesto (por ejemplo, manifest:webwolf/pom.xml), estado (por ejemplo, is:open) y ya sea si una asesorìa tiene un parche o no (por ejemplo, has: patch). También puedes filtrar las alertas con datos de alcance de dependencias utilizando scope, por ejemplo: scope:development o scope:runtime. Con scope:development, la lista de alertas solo mostrará a las dependencias que se utilizaron durante el desarrolo y no durante la producción.

Cada alerta del Dependabot tiene un identificador numérico único y la pestaña de Las alertas del dependabot lista una alerta por cada vulnerabilidad detectada. Las Las alertas del dependabot tradicionales agrupan vulnerabilidades por dependencia y generan una sola alerta por dependencia. Si navegas a una alerta tradicional del Dependabot, se te redirigirá a una pestaña de Las alertas del dependabot filtradas para este paquete.

Ecosistemas y manifiestos compatibles para el alcance de las dependencias

The table below summarizes whether dependency scope is supported for various ecosystems and manifests, that is, whether Dependabot can identify if a dependency is used for development or production.

LenguajeEcosistemaManifest fileDependency scope supported
GoMódulos de Gogo.modNo, defaults to runtime
GoMódulos de Gogo.sumNo, se predetermina al tiempo de ejecución
JavaMavenpom.xmltest maps to development, else scope defaults to runtime
JavaScriptnpmpackage.json
JavaScriptnpmpackage-lock.json
JavaScriptyarn v1yarn.lockNo, se predetermina al tiempo de ejecución
PHPComposercomposer.json
PHPComposercomposer.lock
PythonPoetrypoetry.lock
PythonPoetrypyproject.toml
Pythonpiprequirements.txt✔ Scope is development if the filename contains test or dev, else it is runtime
Pythonpippipfile.lock
Pythonpippipfile
RubyRubyGemsGemfile
RubyRubyGemsGemfile.lockNo, se predetermina al tiempo de ejecución
RustCargoCargo.toml
RustCargoCargo.lockNo, se predetermina al tiempo de ejecución
YAMLGitHub Actions-No, se predetermina al tiempo de ejecución
.NET (C#, F#, VB, etc.)NuGet.csproj / .vbproj .vcxproj / .fsprojNo, se predetermina al tiempo de ejecución
.NETNuGetpackages.configNo, se predetermina al tiempo de ejecución
.NETNuGet.nuspec✔ When the tag != runtime

Las alertas para los paquetes que se listan como dependencias de desarrollo se marcan con la etiqueta Development en la página de Las alertas del dependabot y también están disponibles para filtrarse mediante el filtro scope. Captura de pantalla que muestra la etiqueta "Development" en la lista de alertas

La página de detalles de la alerta en los pquetes con alcance de desarrollo muestra una sección de "Etiquetas" que contiene una etiqueta de Development. Captura de pantalla que muestra la sección "Tags" en la página de detalles de la alerta

Acerca de la detección de llamadas a las funciones vulnerables

Notas:

  • The detection of calls to vulnerable functions by Dependabot is in beta and subject to change.

  • Detection of vulnerable calls is enabled on public repositories. This analysis is also available in private repositories owned by organizations that use Nube de GitHub Enterprise and have licensed GitHub Advanced Security. Para obtener más información, consulta la sección "Acerca de GitHub Advanced Security".

Cuando el Dependabot te dice que tu repositorio utiliza una dependencia vulnerable, necesitas determinar cuáles son las funciones vulnerables y verificar si las estás utilizando. Una vez que tengas esta información, podrás determinar qué tan urgentemente debes actualizarte a una versión segura de la dependencia.

Para ver los lenguajes compatibles, el Dependabot detecta automáticamente si utilzias una función vulnerable y agrega la etiqueta "Llamada vulnerable" a las alertas afectadas. Puedes utilizar esta información en la vista de Las alertas del dependabot para ordenar y priorizar el trabajo de remediación de forma más efectiva.

Nota: Durante el lanzamiento beta, esta característica está disponible únicamente para las asesorías nuevas de Python creadas después del 14 de abril de 2022 y para un subconjunto de asesorías de Python históricas. GitHub está trabajando para rellenar los datos a lo largo de las asesorías históricas adicionales de Python, las cuale se agregan continuamente. Las llamadas vulnerables se resaltan únicamente en las páginas de las Las alertas del dependabot.

Captura de pantalla que muestr auna alerta con la etiqueta "Llamada vulnerable"

Puedes filtrar la vista para que solo muestre alertas en donde el Dependabot detectó por o menos una llamada a una función vulnerable utilizando el filtro has:vulnerable-calls en el campo de búsqueda.

Para las alertas en donde se detectan llamadas vulnerables, la página de detalles de la alerta muestra información adicional:

  • Uno o más bloques de código muestran en dónde se utiliza la función.
  • Una anotación que lista la función misma, con un enlace a la línea en donde se llama a dicha función.

Captura de pantalla que muestra la página de detalles de la alerta para una alerta con la etiqueta "Vulnerable call"

Para obtener más información, consulta la sección "revisar y corregir las alertas" a continuación.

Ver las Las alertas del dependabot

  1. En GitHub.com, visita la página principal del repositorio.

  2. Debajo de tu nombre de repositorio, da clic en Seguridad. Pestaña de seguridad

  3. En la barra lateral de seguridad, da clic en Las alertas del dependabot. Si no encuentras esta opción, significa que no tienes acceso a las alertas de seguridad y necesitas que te lo otorguen. Para obtener más información, consulta la sección "Administrar los ajustes de seguridad y análisis de tu repositorio".Las alertas del dependabot tab

  4. Opcionalmente, para filtrar alertas, selecciona el menú desplegable de Repositorio, l Paquete, Ecosistema o Manifiesto y luego haz clic en el filtro que te gustaría aplicar. También puedes teclear filtros en la barra de búsqueda. Por ejemplo, ecosystem:npm, has:patch o scope:development. Para ordenar las alertas, selecciona el menú desplegable de Ordenar y luego haz clic en la opción por la cual te gustaría ordenarlas o escribe sort: en la barra de búsqueda y elige una opción de entre las sugerencias (por ejemplo, sort:newest).

    Nota: Predeterminadamente, las Las alertas del dependabot se ordenan por importancia. El ordenar por "Más importante" te permite priorizar en qué Las alertas del dependabot te enfocarás primero. Las alertas se clasifican con base en su impacto potencial, capacidad de acción y relevancia. Nuestro cálculo de priorización se está mejorando constantemente e incluye factores como la puntuación de CVSS, alcance de dependencia y si las llamadas a la función vulnerable se encuentran en la alerta.

    Captura de pantalla del menú desplegable de clasificación con una clasificación de "Más importante"

También puedes hacer clic en una etiqueta de una alerta para que solo muestre las alertas de ese tipo. Por ejemplo, el hacer clic en la etiqueta Development en la lista de alertas solo mostrará aquellas que se relacionen con las dependencias que se utilizan en desarrollo y no en producción. Para obtener más información sobre la lista de ecosistemas compatibles, consulta la sección "Ecosistemas y manifiestos compatibles para el alcance de dependencias ".

Captura de pantalla del filtro y menús de clasificación en la pestaña de las Las alertas del dependabot

  1. Haz clic en la alerta que te gustaría ver. Alert selected in list of alerts

Revisar y corregir las alertas

Es importante garantizar que todas tus dependencias estén libres de cualquier debilidad de seguridad. Cuando el Dependabot descubre vulnerabilidades o malware en tus dependencias, deberías evaluar el nivel de exposición de tu proyecto y determinar qué pasos de remediación tomar para asegurar tu aplicación.

Si una versión parchada de la dependencia está disponible, peudes generar una solicitud de cambios del Dependabot para actualizar esta dependencia directamente desde una alerta del Dependabot. Si tienes habilitadas las Actualizaciones de seguridad del dependabot, la solicitud de cambios podría estar vinculada en la alerta del Dependabot.

En los casos en donde no está disponible una versión parchada o en donde no puedes actualizar a la versión segura, el Dependabot comparte información adicional para ayudarte a determinar los siguientes pasos. Cuando haces clilc para ver una alerta del Dependabot, puedes ver todos los detalles de la asesoría de seguridad para la dependencia, incluyendo las funciones afectadas. Entonces, pudes verificar si tu código llama a dichas funciones impactadas. Esta información puede ayudarte a valorar más profundamente tu nivel de riesgo y determinar las soluciones alternas o a saber si tienes que aceptar el riesgo que representa la asesoría de seguridad.

Para los lenguajes compatibles, el Dependabot detecta llamadas a las funciones vulnerables por ti. Cuando ves una alerta etiquetada como "Llamada vulnerable", los detalles incluyen el nombre de la función y un enlace al código que lo llama. A menudo, podrás tomar decisiones con base en esta información sin hacer una exploración más profunda.

Fijar las dependencias vulnerables

  1. Ver los detalles de una alerta. Para obtener más información, consulta la sección "Ver las Las alertas del dependabot" (anteriormente).

  2. Si tienes habilitadas las Actualizaciones de seguridad del dependabot, podrìa haber un enlace a una solicitud de cambios que corrija la dependencia. Como alternativa, puedes hacer clic en Crear actualización de seguridad del Dependabot en la parte superior de la página de detalles de la alerta para crear una solicitud de cambios. Crea un botón de actualización de seguridad del Dependabot

  3. Opcionalmente, si no utilizas las Actualizaciones de seguridad del dependabot, puedes utilizar la información en la página para decidir a qué versión de la dependencia actualizar y crear una solicitud de cambios para actualizar la dependencia a una versión segura.

  4. Cuando estés listo para actualizar tu dependencia y resolver la vulnerabilidad, fusiona la solicitud de extracción.

    Cada solicitud de extracción que levante el Dependabot incluye información sobre los comandos que puedes utilizar para controlar el Dependabot. Para obtener más información, consulta la sección "Adminsitrar las solicitudes de extracción para las actualizaciones de las dependencias".

Descartar las Las alertas del dependabot

Tip: Solo puedes descartar las alertas abiertas.

Si programas mucho trabajo para actualizar una dependencias o decides que una alerta no necesita corregirse, puedes descartar la alerta. El descartar alertas que ya valoraste facilita clasificar las nuevas que aparecen.

  1. Ver los detalles de una alerta. Para obtener más información, consulta la sección "Ver las dependencias vulnerables" (anteriormente).
  2. Selecciona el menú desplegable de "Descartar" y haz clic en una razón para descartar la alerta. Las alertas descartadas sin fijar pueden volverse a abrir posteriormente. Elegir una razón para descartar la alerta a través del menú desplegable de "Descartar"

Descartar varias alertas al mismo tiempo

  1. Mira las Las alertas del dependabot abiertas. Para obtener más información, consulta la sección "Ver las Las alertas del dependabot".
  2. Opcionalmente, filtra la lista de alertas seleccionado un menú desplegable y haciendo clic en el filtro que te gustaría aplicar. También puedes teclear filtros en la barra de búsqueda.
  3. A la izquierda de cada título de alerta, selecciona aquellas que quieras descartar. Captura de pantalla de las alertas abiertas con énfasis en las casillas de verificación
  4. Opcionalmente, en la parte superior de la lista de alertas, selecciona todas en la página. Captura de pantalla de todas las alertas abiertas seleccionadas
  5. Selecciona el menú desplegable de "Descartar alertas" y haz clic en una razón para hacerlo. Captura de pantalla de la página con alertas abiertas y énfasis en el menú desplegable de "Descartar alertas"

Ver y actualziar las alertas cerradas

Tip: Solo puedes volver a abrir alertas que se hayan descartado previamente. Las alertas cerradas que ya se hayan corregido no se pueden volver a abrir.

  1. En GitHub.com, visita la página principal del repositorio.
  2. Debajo de tu nombre de repositorio, da clic en Seguridad. Pestaña de seguridad
  3. En la barra lateral de seguridad, da clic en Las alertas del dependabot. Si no encuentras esta opción, significa que no tienes acceso a las alertas de seguridad y necesitas que te lo otorguen. Para obtener más información, consulta la sección "Administrar los ajustes de seguridad y análisis de tu repositorio".Las alertas del dependabot tab
  4. Para solo ver las alertas cerradas, haz clic en Cerrada. Screenshot showing the "Closed" option
  5. Haz clic en la alerta que te gustaría ver o actualizar. Screenshot showing a highlighted dependabot alert
  6. Opcionalmente, si se descartó la alerta y quieres volver a abrirla, haz clic en Reabrir. Las alertas que ya se hayan corregido no pueden volverse a abrir. Captura de pantalla que muestra el botón "Reabrir"

Reabrir alertas múltiples al mismo tiempo

  1. Ver las Las alertas del dependabot cerradas. Para obtener más información, consulta la sección "Ver y actualizar las alertas cerradas" (anteriormente).
  2. A la izquierda de cada título de alerta, selecciona aquellas que quieras reabrir. Captura de pantalla de las alertas cerradas con énfasis en las casillas de verificación
  3. Opcionalmente, en la parte superior de la lista de alertas, selecciona todas las alertas cerradas en la página. Captura de pantalla de las alertas cerradas con todas las alertas seleccionadas
  4. Haz clic en Reabrir para reabrir las alertas. Las alertas que ya se hayan corregido no pueden volverse a abrir. Captura de pantalla de las alertas cerradas con énfasis en el botón "Reabrir"