Hice algo similar hace un tiempo para asegurarme de que estábamos al día con las actualizaciones de seguridad. Sin embargo, todo es manual: no puedo ayudarte a automatizarlo, pero puedo decirte cuánto tiempo me tomó y dar un ejemplo de lo que terminé usando.
La configuración inicial tomó un par de días (usamos > 75 bibliotecas), y desde entonces solo ha pasado una hora por semana para mantenerla (sin contar el tiempo para actualizar las bibliotecas que usamos). Terminé con una matriz en una hoja de cálculo, con una fila por cada biblioteca que usamos. Luego las columnas fueron:
- versión que utilizamos
- última versión que verifiqué
- Archivo de NOTICIAS (cualquier problema que identifiqué al escanear las NOTICIAS u otros archivos readme proporcionados por la biblioteca)
- CVE (se sabe que existen en nuestra versión)
- la última versión disponible de nuestro proveedor (no extraemos directamente de la fuente)
- status, que dice "OK" si NEWS y CVE están vacíos y la versión más reciente verificada coincide con la versión más reciente disponible, o si lo configuro manualmente a algún otro estado como "necesita una solución futura" o lo que sea apropiado
- notas
Rellené la tabla con nuestras bibliotecas y sus versiones, y luego descargué la base de datos CVE en Formato de texto y utilizamos un buen editor de texto para buscarlo en cada una de nuestras aplicaciones. Si hubiera alguna CVE para nuestras bibliotecas, las anoté en la columna CVE y añadí notas sobre la versión en la que se arreglaron y / o por qué se aplicaron a nosotros (o en el caso de algunas CVEs conocidas, por qué no ).
También revisé los archivos de NOTICIAS para la mayoría de las bibliotecas que tenían versiones más nuevas disponibles que las que estábamos usando, aunque renuncié a eso después de un tiempo, cuando no ofrecía nada útil que no estuviera incluido en un archivo. CVE.
Luego me suscribí a una fuente RSS de CVEs recientemente categorizados . Es un volumen bastante bajo, aunque lleno de ráfagas, por lo que, cuando llegan nuevas CVE, las escaneo rápidamente en busca de problemas y actualizo mi hoja de cálculo si hay algo que se aplique a nosotros.
También hice un trabajo cron para escanear una lista diferente de CVEs recién archivados , pero no fue así. Parece que agrega cualquier valor más allá de lo que proporciona la fuente RSS de NVD.