Skip to main content

Visualización y actualización de alertas de Dependabot

Si GitHub descubre dependencias no seguras en tu proyecto, podrás ver los detalles en la pestaña de alertas del Dependabot de tu repositorio. Después, podrás actualizar tu proyecto para resolver o descartar la alerta.

Quién puede usar esta característica

Repository administrators, organization owners, and people with write or maintain access to a repository can view and update dependencies, as well as users and teams with explicit access.

En la pestaña Dependabot alerts del repositorio se muestran todas las Dependabot alerts abiertas y cerradas y las correspondientes Dependabot security updates. Puedes filtrar las alertas por paquete, ecosistema o manifiesto. Puedes ordenar la lista de alertas y hacer clic en ellas para obtener más detalles. También puedes descartar o volver a abrir alertas, una a una o seleccionando varias alertas a la vez. Para obtener más información, consulta "Acerca de las alertas Dependabot".

Puedes habilitar las actualizaciones automáticas de seguridad para cualquier repositorio que use Dependabot alerts y el gráfico de dependencias. Para obtener más información, vea «Sobre las actualizaciones de seguridad de Dependabot».

Acerca de las actualizaciones para las dependencias vulnerables en tu repositorio

GitHub genera Dependabot alerts cuando detectamos que la rama de valor predeterminado de su código base está utilizando dependencias con riesgos de seguridad conocidos. Para los repositorios en donde se habilitan las Dependabot security updates 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.

Cada alerta del Dependabot tiene un identificador numérico único y la pestaña de Dependabot alerts lista una alerta por cada vulnerabilidad detectada. Las Dependabot alerts 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 Dependabot alerts filtradas para este paquete.

Puedes filtrar y ordenar las Dependabot alerts con diversos filtros y opciones de ordenación disponibles en la interfaz de usuario. Para obtener más información, consulta "Establecimiento de prioridades de las Dependabot alerts" a continuación.

También puedes auditar las acciones realizadas en respuesta a las alertas de Dependabot. Para obtener más información, vea «Auditoría de alertas de seguridad».

Establecimiento de prioridades de Dependabot alerts

GitHub te permite priorizar la corrección de las Dependabot alerts. De manera predeterminada, las Dependabot alerts están ordenadas por importancia. El criterio de ordenación "Más importante" permite priorizar en qué Dependabot alerts centrarse primero. Las alertas se clasifican en función de su posible impacto, posibilidad de acción y relevancia. Nuestro cálculo de priorización está en constante mejora, y contempla factores como la puntuación de CVSS, el ámbito de dependencia y si existen llamadas de función vulnerables relativas a la alerta.

También puedes utilizar reglas de alerta para priorizar Dependabot alerts. Para más información, consulta "About Dependabot alert rules".

Puedes ordenar y filtrar Dependabot alerts escribiendo filtros como pares de key:value en la barra de búsqueda.

OpciónDescripciónEjemplo
ecosystemSe muestran alertas para el ecosistema seleccionadoUsa ecosystem:npm para mostrar Dependabot alerts para npm
hasSe muestran alertas que cumplen los criterios de filtro seleccionadosUsa has:patch para mostrar alertas relacionadas con avisos que tienen una revisión
Usa has:vulnerable-calls para mostrar alertas relacionadas con llamadas a funciones vulnerables
isSe muestran alertas en función de su estadoUsa is:open para mostrar alertas abiertas
manifestSe muestran alertas para el manifiesto seleccionadoUsa manifest:webwolf/pom.xml para mostrar alertas en el archivo pom.xml de la aplicación WebWolf
packageSe muestran alertas para el paquete seleccionadoUsa package:django para mostrar alertas para Django
resolutionSe muestran alertas del estado de resolución seleccionadoUsa resolution:no-bandwidth para mostrar alertas previamente estacionadas debido a la falta de recursos o de tiempo para corregirlas
repoSe muestran alertas basadas en el repositorio al que hacen referencia
Ten en cuenta que este filtro solo está disponible en la información general de seguridad. Para más información, consulta "Información general sobre seguridad".
Usa repo:octocat-repo para mostrar alertas en el repositorio denominado octocat-repo
scopeSe muestran alertas basadas en el ámbito de la dependencia a la que hacen referenciaUsa scope:development para mostrar alertas de dependencias que solo se usan durante el desarrollo
severitySe muestran alertas en función de su nivel de gravedadUsa severity:high para mostrar alertas de gravedad alta
sortSe muestran alertas según el criterio de ordenación seleccionadoLa opción de ordenación predeterminada para las alertas es sort:most-important, que clasifica las alertas por importancia
Usa sort:newest para mostrar las alertas más recientes notificadas por Dependabot

Además de los filtros disponibles mediante la barra de búsqueda, puedes ordenar y filtrar las Dependabot alerts con los menús desplegables situados en la parte superior de la lista de alertas. Como alternativa, para filtrar por etiqueta, haz clic en una etiqueta asignada a una alerta para aplicar automáticamente ese filtro a la lista de alertas.

La barra de búsqueda también permite la búsqueda de texto completo de alertas y avisos de seguridad relacionados. Puedes buscar parte del nombre o la descripción de un aviso de seguridad para devolver las alertas del repositorio relacionadas con ese aviso de seguridad. Por ejemplo, la búsqueda de yaml.load() API could execute arbitrary code devolverá Dependabot alerts vinculadas a "PyYAML deserializa de forma no segura las cadenas YAML que llevan a la ejecución arbitraria de código", ya que la cadena de búsqueda aparece en la descripción del aviso.

Captura de pantalla de los menús de filtro y ordenación en la pestaña Dependabot alerts.

Ecosistemas y manifiestos admitidos para el ámbito de dependencia

En la tabla siguiente se resume si el ámbito de dependencia es compatible con varios ecosistemas y manifiestos; es decir, si Dependabot puede identificar si se usa una dependencia para el desarrollo o la producción.

| Lenguaje | Ecosistema | Archivo de manifiesto | Ámbito de dependencia admitido | |:---|:---:|:---:|:---| | Dart | pub | pubspec.yaml | | | Dart | pub | pubspec.lock | | | Go | Go modules | go.mod | No, el valor predeterminado es el tiempo de ejecución | | Java | Maven | pom.xml | test se asigna al desarrollo, de lo contrario el valor predeterminado del ámbito es el tiempo de ejecución | | JavaScript | npm | package.json | | | JavaScript | npm | package-lock.json | | | JavaScript | npm | pnpm-lock.yaml | | | JavaScript | yarn v1 | yarn.lock | No, el valor predeterminado es el tiempo de ejecución | | PHP | Composer | composer.json | | | PHP | Composer | composer.lock | | | Python | Poetry | poetry.lock | | | Python | Poetry | pyproject.toml | | | Python | pip | requirements.txt | El ámbito es desarrollo si el nombre de archivo contiene test o dev, de lo contrario es tiempo de ejecución | | Python | pip | pipfile.lock | | | Python | pip | pipfile | | | Ruby | RubyGems | Gemfile | | | Ruby | RubyGems | Gemfile.lock | No, el valor predeterminado es el tiempo de ejecución | | Rust | Cargo | Cargo.toml | | | Rust | Cargo | Cargo.lock | No, el valor predeterminado es el tiempo de ejecución | | YAML | GitHub Actions | - | No, el valor predeterminado es el tiempo de ejecución | | .NET (C#, F#, VB, etc.) | NuGet | .csproj / .vbproj .vcxproj / .fsproj | No, el valor predeterminado es el tiempo de ejecución | | .NET | NuGet | packages.config | No, el valor predeterminado es el tiempo de ejecución | | .NET | NuGet | .nuspec | Cuando la etiqueta es != runtime |

Las alertas de los paquetes enumerados como dependencias de desarrollo se marcan con la etiqueta Development en la página Dependabot alerts y también están disponibles para filtrar mediante el filtro scope.

Captura de pantalla que muestra la etiqueta "Desarrollo" asignada a una alerta en la lista de alertas. La etiqueta está resaltada con un contorno naranja oscuro.

En la página de detalles de alertas de los paquetes con ámbito de desarrollo se muestra una sección "Etiquetas" que contiene una etiqueta Development.

Captura de pantalla en la que se muestra la sección "Etiquetas" en la página de detalles de la alerta La etiqueta está resaltada con un contorno naranja oscuro.

Acerca de la detección de llamadas a funciones vulnerables

Notas:

  • La detección de llamadas a funciones vulnerables efectuadas por Dependabot se encuentra en versión beta y está sujeta a cambios.

La detección de llamadas vulnerables está habilitada en los repositorios públicos. Este análisis también se encuentra disponible en los repositorios privados pertenecientes a organizaciones que utilizan GitHub Enterprise Cloud y que tienen una licencia para GitHub Advanced Security. Para obtener más información, vea «Acerca de GitHub Advanced Security».

Cuando Dependabot indica que el repositorio usa una dependencia vulnerable, tienes que determinar cuáles son las funciones vulnerables y comprobar si las estás usando. Una vez que tengas esta información, puedes determinar la urgencia de actualizar a una versión segura de la dependencia.

En el caso de los lenguajes admitidos, Dependabot detecta automáticamente si usas una función vulnerable y agrega la etiqueta "Llamada vulnerable" a las alertas afectadas. Puedes usar esta información en la vista Dependabot alerts para evaluar y priorizar el trabajo de corrección de forma más eficaz.

Nota: Durante la versión beta, esta característica solo está disponible para los nuevos avisos de Python creados después del 14 de abril de 2022 y para un subconjunto de avisos históricos de Python. GitHub está trabajando para la reposición de datos en avisos históricos de Python adicionales, que se agregan de forma gradual. Las llamadas vulnerables solo se resaltan en las páginas Dependabot alerts.

Captura de pantalla que muestra una alerta con la etiqueta "Llamada vulnerable". La etiqueta aparece con un contorno naranja.

Puedes filtrar la vista para mostrar solo las alertas en las que Dependabot detectó al menos una llamada a una función vulnerable mediante el filtro has:vulnerable-calls en el campo de búsqueda.

En el caso de las alertas en las que se detectan llamadas vulnerables, la página de detalles de la alerta muestra información adicional:

  • Uno o varios bloques de código que muestran dónde se usa la función.
  • Anotación que enumera la propia función, con un vínculo a la línea donde se llama a la función.

Captura de pantalla en la que se muestra una alerta de Dependabot con la etiqueta "Llamada vulnerable". Aparecen resaltados con un contorno naranja oscuro un bloque de código que muestra "Llamada a una función vulnerable" y un vínculo titulado "Ver todos los repositorios afectados".

Para obtener más información, consulta "Revisión y corrección de alertas" a continuación.

Visualización de Dependabot alerts

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

  2. En el nombre del repositorio, haz clic en Seguridad. Si no puedes ver la pestaña "Seguridad", selecciona el menú desplegable y, a continuación, haz clic en Seguridad. Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Seguridad" está resaltada con un contorno naranja oscuro.

  3. En la barra lateral "Alertas de vulnerabilidad" de la Información general sobre seguridad, haga clic en Dependabot . Si falta esta opción, significa que no tiene acceso a las alertas de seguridad y se le debe proporcionar. Para más información, consulta "Administración de la configuración de seguridad y análisis para el repositorio".

    Captura de pantalla de la información general de seguridad, con la pestaña "Dependabot" resaltada con un contorno naranja oscuro.

  4. De forma opcional, para filtrar alertas puedes seleccionar un menú desplegable y luego hacer clic en el filtro que quieres aplicar. También puedes teclear filtros en la barra de búsqueda. Como alternativa, para filtrar por etiqueta, haz clic en una etiqueta asignada a una alerta para aplicar automáticamente ese filtro a la lista de alertas. Para obtener más información sobre el filtrado y la ordenación de alertas, consulta "Establecimiento de prioridades de Dependabot alerts". Captura de pantalla de los menús de filtro y ordenación en la pestaña Dependabot alerts.

  5. Haz clic en la alerta que te gustaría ver.

  6. Opcionalmente, para sugerir una mejora en el aviso de seguridad relacionado, en el lado derecho de la página de detalles de la alerta, haz clic en Sugerir mejoras para este aviso en GitHub Advisory Database . Para obtener más información, vea «Edición de avisos de seguridad en la base de avisos de GitHub».

    Captura de pantalla de la barra lateral de la derecha de una alerta de Dependabot. Un vínculo, con el título "Sugerir mejoras para este aviso sobre GitHub Advisory Database", se resalta con un contorno naranja.

Revisión y corrección de alertas

Es importante asegurarse de que todas las dependencias estén limpias de cualquier punto débil de seguridad. Cuando Dependabot detecta vulnerabilidades o malware en las dependencias, debes evaluar el nivel de exposición del proyecto y determinar qué medidas de corrección se deben tomar para proteger la aplicación.

Si hay disponible una versión revisada de la dependencia, puedes generar una solicitud de incorporación de cambios de Dependabot para actualizar esta dependencia directamente desde una alerta de Dependabot. Si tienes habilitadas las Dependabot security updates, la solicitud de incorporación de cambios podría estar vinculada en la alerta de Dependabot.

En los casos en los que una versión revisada no está disponible o no se puede actualizar a la versión segura, Dependabot comparte información adicional para ayudarte a determinar los pasos siguientes. Al hacer clic en para ver una alerta de Dependabot, puedes ver los detalles completos del aviso de seguridad para la dependencia, incluidas las funciones afectadas. Después, puedes comprobar si el código llama a las funciones afectadas. Esta información puede ayudarte a evaluar aún más el nivel de riesgo y determinar las soluciones alternativas o si puedes aceptar el riesgo que representa la asesoría de seguridad.

En el caso de los lenguajes admitidos, Dependabot detecta llamadas a funciones vulnerables. Al ver una alerta etiquetada como "Llamada vulnerable", los detalles incluyen el nombre de la función y un vínculo al código que lo llama. A menudo podrás tomar decisiones basadas en esta información, sin explorar más.

Corrección de dependencias vulnerables

  1. Consulta los detalles de una alerta. Para obtener más información, consulta "Visualización de Dependabot alerts" (más arriba).

  2. Si tienesDependabot security updates habilitado, puede haber un vínculo a una solicitud de incorporación de cambios que corregirá la dependencia. Como alternativa, puedes hacer clic en Crear actualización de seguridad de Dependabot en la parte superior de la página de detalles de la alerta para crear una solicitud de incorporación de cambios.

    Captura de pantalla de una alerta de Dependabot con el botón "Crear actualización de seguridad de Dependabot" resaltado con un contorno naranja oscuro.

  3. Opcionalmente, si no usas Dependabot security updates, puedes usar la información de la página para decidir a qué versión de la dependencia actualizar y crear una solicitud de incorporación 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 incorporación de cambios que envía Dependabot incluye información sobre los comandos que puedes usar para controlar Dependabot. Para obtener más información, vea «Administrar las solicitudes de extracción para las actualizaciones de dependencia».

Descarte de Dependabot alerts

Sugerencia: Solo puedes descartar alertas abiertas.

Si programas un trabajo extenso para actualizar una dependencia o decides que no es necesario corregir una alerta, puedes descartar la alerta. Descartar las alertas que ya has evaluado facilita la evaluación de nuevas alertas a medida que aparecen.

  1. Consulta los detalles de una alerta. Para obtener más información, consulta "Visualización de dependencias vulnerables" (arriba).

  2. Selecciona la lista desplegable "Descartar" y haz clic en un motivo para descartar la alerta. Las alertas descartadas sin fijar se pueden volver a abrir más adelante. 1. Opcionalmente, agrega un comentario de descarte. El comentario de descarte se agregará a la escala de tiempo de la alerta y se puede usar como justificación durante el proceso de auditoría y creación de informes. Puedes recuperar o establecer un comentario mediante GraphQL API. El comentario está incluido en el campo dismissComment. Para obtener más información, consulta "Objetos" en la documentación de la API de GraphQL.

    Captura de pantalla de la página de una alerta de Dependabot, con la lista desplegable "Descartar" y la opción para agregar un comentario de descarte resaltada con un contorno naranja oscuro.

  3. Haz clic en Descartar alerta.

Descartar varias alertas al mismo tiempo

  1. Visualización de Dependabot alerts abiertas. Para obtener más información, consulta "Visualización y actualización de alertas de Dependabot".
  2. Opcionalmente, filtra la lista de alertas seleccionando un menú desplegable y, después, haz clic en el filtro que quieres aplicar. También puedes teclear filtros en la barra de búsqueda.
  3. A la izquierda de cada título de alerta, selecciona las alertas que quieres descartar. Captura de pantalla de la vista Dependabot alerts. Se seleccionan dos alertas y estas casillas se resaltan con un contorno naranja.
  4. Opcionalmente, en la parte superior de la lista de alertas, selecciona todas las alertas de la página. Captura de pantalla de la sección de cabecera de la vista Dependabot alerts. La casilla "Seleccionar todo" está resaltada con un contorno naranja oscuro.
  5. Selecciona la lista desplegable "Descartar alertas" y haz clic en un motivo para descartar las alertas. Captura de pantalla de una lista de alertas. Debajo del botón "Descartar alertas", se expande una lista desplegable con la etiqueta "Seleccionar un motivo para descartar". La lista desplegable contiene botones de radio para varias opciones.

Visualización y actualización de alertas cerradas

Puedes ver todas las alertas abiertas y puedes volver a abrir las alertas que se han descartado anteriormente. Las alertas cerradas que ya se han corregido no se pueden volver a abrir.

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

  2. En el nombre del repositorio, haz clic en Seguridad. Si no puedes ver la pestaña "Seguridad", selecciona el menú desplegable y, a continuación, haz clic en Seguridad. Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Seguridad" está resaltada con un contorno naranja oscuro.

  3. En la barra lateral "Alertas de vulnerabilidad" de la Información general sobre seguridad, haga clic en Dependabot . Si falta esta opción, significa que no tiene acceso a las alertas de seguridad y se le debe proporcionar. Para más información, consulta "Administración de la configuración de seguridad y análisis para el repositorio".

    Captura de pantalla de la información general de seguridad, con la pestaña "Dependabot" resaltada con un contorno naranja oscuro.

  4. Para ver las alertas cerradas, haga clic en Closed. Captura de pantalla en la que se muestra la lista de Dependabot alerts con la pestaña "Cerradas" resaltada con un contorno naranja oscuro.

  5. Haga clic en la alerta que le gustaría ver o actualizar.

  6. Si la alerta se ha descartado y desea volver a abrirla, también puede hacer clic en Reopen. Las alertas que ya se han corregido no se pueden volver a abrir.

    Captura de pantalla en la que se muestra una alerta de Dependabot cerrada. El botón "Volver a abrir" está resaltado con un contorno naranja oscuro.

Apertura de nuevo de varias alertas al mismo tiempo

  1. Visualización de Dependabot alerts cerradas. Para más información, consulte "Visualización y actualización de alertas de Dependabot" (arriba).
  2. A la izquierda de cada título de alerta, seleccione las alertas que desea volver a abrir haciendo clic en la casilla adyacente a cada alerta.
  3. Opcionalmente, en la parte superior de la lista de alertas, selecciona todas las alertas cerradas de la página. Captura de pantalla de las alertas en la pestaña "Cerrado". La casilla "Seleccionar todo" está resaltada con un contorno naranja oscuro.
  4. Haz clic en Volver a abrir para volver a abrir las alertas. Las alertas que ya se han corregido no se pueden volver a abrir.

Revisión de los registros de auditoría de Dependabot alerts

Cuando un miembro de la organización realiza una acción relacionada con Dependabot alerts, puedes revisar las acciones en el registro de auditoría. Para obtener más información sobre el acceso al registro, consulte "Revisar el registro de auditoría de tu organización."

Captura de pantalla del registro de auditoría que muestra las alertas de Dependabot.

Los eventos del registro de auditoría de Dependabot alerts incluyen detalles como quién realizó la acción, cuál fue la acción y cuándo se realizó la acción. El evento también incluye un vínculo a la propia alerta. Cuando un miembro de su organización descarta una alerta, el evento muestra el motivo de rechazo y el comentario. Para obtener información sobre las acciones Dependabot alerts, consulte la categoría repository_vulnerability_alert en "Eventos de registro de auditoría de la organización."