Skip to main content

Priorización de alertas de Dependabot mediante métricas

Puedes priorizar Dependabot alerts en tu organización mediante el análisis de las métricas proporcionadas. Con este enfoque, puedes indicar a los desarrolladores que se centren primero en las vulnerabilidades más importantes.

¿Quién puede utilizar esta característica?

Propietarios de la organización, administradores de seguridad y miembros de la organización con el rol de administrador

Establecimiento de prioridades de Dependabot alerts mediante métricas

Los administradores de Application Security (AppSec) a menudo se enfrentan a una gran cantidad de Dependabot alerts, lo que dificulta determinar qué vulnerabilidades abordar primero. Las métricas de Dependabot proporcionan información valiosa que ayuda a priorizar las alertas de forma eficaz, lo que garantiza que los problemas de seguridad críticos se resuelvan rápidamente. Los usuarios pueden tomar decisiones fundamentadas, y centrar recursos en las vulnerabilidades más impactantes. Este enfoque refuerza la posición de seguridad de la organización y simplifica la administración de vulnerabilidades.

Descripción de las métricas de Dependabot

Las métricas de Dependabot ofrecen información detallada sobre las vulnerabilidades detectadas en las dependencias. Entre las métricas clave se incluyen las siguientes:

  • Gravedad: indica el posible impacto de una vulnerabilidad (por ejemplo, baja, media, alta, crítica).
  • Vulnerabilidad: evalúa la facilidad con la que se puede aprovechar una vulnerabilidad.
  • Relación de dependencias: diferencia entre dependencias directas y transitivas.
  • Ámbito de la dependencia: diferencia entre dependencias en tiempo de ejecución y de desarrollo. Determina si el código vulnerable se usa realmente en la aplicación.
  • Alertas cerradas en los últimos 30 días, incluido el número de alertas corregidas por Dependabot, descartadas manualmente y descartadas automáticamente: realiza el seguimiento del progreso de la resolución de alertas. Muestra cómo GitHub Code Security puede ayudarle a detectar vulnerabilidades al principio.
  • Tabla en la que se muestra el número total de alertas abiertas para cada repositorio, así como los datos de gravedad y vulnerabilidad: permite profundizar más en el nivel de repositorio.

Además, puedes especificar filtros complejos, que son combinaciones de los filtros individuales que están disponibles. Para más información sobre los filtros, consulta Filtros de la vista de panel de Dependabot.

Pasos para priorizar las alertas

Estos primeros pasos te ayudan a identificar las Dependabot alerts que ponen a la organización en riesgo, de modo que puedas indicar a los desarrolladores en qué alertas deben centrar la corrección.

1. Adaptar el orden de embudo para satisfacer las necesidades de la organización

Puedes personalizar el orden de embudo predeterminado en el gráfico "Alert prioritization" para asegurarte de que refleja el perfil de riesgo único, las prioridades empresariales y los requisitos de cumplimiento de tu organización. Consulta Visualización de métricas para alertas de Dependabot.

2. Centrarse en alertas de gravedad crítica y alta

Empieza por identificar las alertas con la gravedad más alta mediante los filtros severity-critical o severity-high. Estas vulnerabilidades suponen el mayor riesgo y a menudo se priorizan mediante estándares de cumplimiento. A continuación, puede

3. Evaluación de la vulnerabilidad de seguridad y la accesibilidad

Prioriza las vulnerabilidades que es más probable que se exploten en el código base. Para identificar las alertas que es más probable que se exploten, puedes usar el filtro de epss_percentage asociado a un valor (por ejemplo, epss_percentage>=0.10).

4. Revisión del ámbito y la relación de las dependencias

Las dependencias directas suelen ser más fáciles de actualizar y pueden tener un mayor impacto en la seguridad de la aplicación. Se recomienda abordarlas antes que las dependencias transitivas siempre que sea posible. El filtrado de alertas mediante el filtro relationship:direct nos permite ver vulnerabilidades en dependencias directas para ecosistemas admitidos como npm.

Las dependencias en tiempo de ejecución las usa una aplicación en producción. La actualización de este tipo de dependencia puede abordar vulnerabilidades de seguridad, correcciones de errores y mejoras de rendimiento que afectan directamente a los usuarios o sistemas finales. Por otro lado, las dependencias de desarrollo solo se usan durante los procesos de desarrollo, pruebas o compilación. Aunque sean importantes, los problemas de estas dependencias normalmente no afectan a la aplicación en ejecución ni a sus usuarios.

Puedes usar los filtros scope:runtime o scope:development para mostrar solo las alertas de las dependencias en tiempo de ejecución o desarrollo, respectivamente.

5. Consideración de la antigüedad de las alertas

Las alertas más antiguas pueden indicar riesgos de larga duración. Revisa y soluciona periódicamente las alertas antiguas para evitar que la deuda de seguridad se acumule. Por ejemplo, una vez que establezcas que un repositorio específico tiene alertas más prioritarias que las de otros repositorios, puedes:

  1. Hacer clic en el nombre del repositorio en la tabla por repositorio para mostrar solo las alertas de ese repositorio.
  2. Usar el filtro "Older" de la lista desplegable Sort, así como otros criterios de ordenación, para ajustar la visualización a las alertas que cumplen los criterios de antigüedad.

6. Aprovechamiento de la automatización

Usa las solicitudes de cambios automatizadas de Dependabot para corregir rápidamente las vulnerabilidades. Integra estas actualizaciones en la canalización de CI/CD para una resolución más rápida y una eficacia mejorada.

procedimientos recomendados

  • Establece acuerdos de nivel de servicio (SLA) para resolver vulnerabilidades en función de la gravedad.
  • Supervisa las métricas periódicamente para identificar tendencias y problemas periódicos.
  • Colabora con desarrolladores para garantizar actualizaciones oportunas y minimizar la interrupción.
  • Documenta las decisiones para proporcionar transparencia y apoyar la priorización futura.