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:
- Hacer clic en el nombre del repositorio en la tabla por repositorio para mostrar solo las alertas de ese repositorio.
- 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.