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 tu 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 "Uso de reglas de alerta para priorizar las alertas de Dependabot".
Puedes ordenar y filtrar Dependabot alerts escribiendo filtros como pares de key:value
en la barra de búsqueda.
Opción | Descripción | Ejemplo |
---|---|---|
ecosystem | Se muestran alertas para el ecosistema seleccionado | Usa ecosystem:npm para mostrar Dependabot alerts para npm |
has | Se muestran alertas que cumplen los criterios de filtro seleccionados | Usa has:patch para mostrar alertas relacionadas con avisos que tienen una revisiónUsa has:vulnerable-calls para mostrar alertas relacionadas con llamadas a funciones vulnerables |
is | Se muestran alertas en función de su estado | Usa is:open para mostrar alertas abiertas |
manifest | Se muestran alertas para el manifiesto seleccionado | Usa manifest:webwolf/pom.xml para mostrar alertas en el archivo pom.xml de la aplicación WebWolf |
package | Se muestran alertas para el paquete seleccionado | Usa package:django para mostrar alertas para Django |
resolution | Se muestran alertas del estado de resolución seleccionado | Usa resolution:no-bandwidth para mostrar alertas previamente estacionadas debido a la falta de recursos o de tiempo para corregirlas |
repo | Se 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 |
scope | Se muestran alertas basadas en el ámbito de la dependencia a la que hacen referencia | Usa scope:development para mostrar alertas de dependencias que solo se usan durante el desarrollo |
severity | Se muestran alertas en función de su nivel de gravedad | Usa severity:high para mostrar alertas de gravedad alta |
sort | Se muestran alertas según el criterio de ordenación seleccionado | La opción de ordenación predeterminada para las alertas es sort:most-important , que clasifica las alertas por importanciaUsa 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.
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 | Módulos de Go | go.mod | No, el valor predeterminado es el entorno de ejecución | | Java | Maven | pom.xml | ✔ test
se asigna a desarrollo; de lo contrario, el valor predeterminado es el entorno de ejecución | | JavaScript | npm | package.json | ✔ | | JavaScript | npm | package-lock.json | ✔ | | JavaScript | yarn v1 | yarn.lock | No, el valor predeterminado es el entorno 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 el entorno de ejecución | | Python | pip | pipfile.lock | ✔ | | Python | pip | pipfile | ✔ | | Ruby | RubyGems | Gemfile | ✔ | | Ruby | RubyGems | Gemfile.lock | No, el valor predeterminado es el entorno de ejecución | | Rust | Cargo | Cargo.toml | ✔ | | Rust | Cargo | Cargo.lock | No, el valor predeterminado es el entorno de ejecución | | YAML | GitHub Actions | - | No, el valor predeterminado es el entorno de ejecución | | .NET (C#, F#, VB, etc.) | NuGet | .csproj / .vbproj .vcxproj / .fsproj | No, el valor predeterminado es el entorno de ejecución | | .NET | NuGet | packages.config | No, el valor predeterminado es el entorno de ejecución | | .NET | NuGet | .nuspec | ✔ Cuando la etiqueta != 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
.
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
.
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.
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.
Para obtener más información, consulta "Revisión y corrección de alertas" a continuación.
Visualización de Dependabot alerts
-
En GitHub.com, navega a la página principal del repositorio. 1. 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.
1. En la barra lateral "Alertas de vulnerabilidad" de la página Información general de seguridad, haz 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". -
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".
-
Haz clic en la alerta que te gustaría ver.
-
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 «Editing security advisories in the GitHub Advisory Database».
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
-
Consulta los detalles de una alerta. Para obtener más información, consulta "Visualización de Dependabot alerts" (más arriba).
-
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.
-
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.
-
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.
-
Consulta los detalles de una alerta. Para obtener más información, consulta "Visualización de dependencias vulnerables" (arriba).
-
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. -
Haz clic en Descartar alerta.
Descartar varias alertas al mismo tiempo
- Visualización de Dependabot alerts abiertas. Para obtener más información, consulta "Visualización y actualización de alertas de Dependabot".
- 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.
- A la izquierda de cada título de alerta, selecciona las alertas que quieres descartar.
- Opcionalmente, en la parte superior de la lista de alertas, selecciona todas las alertas de la página.
- Selecciona la lista desplegable "Descartar alertas" y haz clic en un motivo para descartar las alertas.
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.
-
En GitHub.com, navega a la página principal del repositorio. 1. 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.
1. En la barra lateral "Alertas de vulnerabilidad" de la página Información general de seguridad, haz 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". -
Para ver las alertas cerradas, haga clic en Closed.
-
Haga clic en la alerta que le gustaría ver o actualizar.
-
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.
Apertura de nuevo de varias alertas al mismo tiempo
- Visualización de Dependabot alerts cerradas. Para más información, consulte "Visualización y actualización de alertas de Dependabot" (arriba).
- 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.
- Opcionalmente, en la parte superior de la lista de alertas, selecciona todas las alertas cerradas de la página.
- 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."
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."