Guía de Seguridad: Vulnerabilidades Conocidas en GitHub y Estrategias para Mitigarlas

Elena Digital López

La base de datos de asesorías de GitHub se ha convertido en un recurso indispensable para los desarrolladores, ofreciendo un listado completo de vulnerabilidades de seguridad y malware que afectan a paquetes de código abierto. En un análisis de las tendencias del Advisory DB para 2024, se destaca un notable crecimiento en la cantidad de asesorías revisadas, así como una mejora en la cobertura del ecosistema y las contribuciones de diversas fuentes.

La base de datos categoriza las vulnerabilidades en tres grupos principales: asesorías revisadas por GitHub, asesorías no revisadas y asesorías de malware. Las asesorías revisadas se centran en vulnerabilidades verificadas en paquetes dentro de ecosistemas compatibles, mientras que las no revisadas provienen automáticamente de la Base de Datos Nacional de Vulnerabilidades (NVD) y pueden no estar relacionadas con paquetes soportados. Por su parte, las asesorías de malware están orientadas a amenazas específicas identificadas por el equipo de seguridad de npm.

Desde su lanzamiento, el número de asesorías revisadas ha aumentado considerablemente, pasando de menos de 400 en 2019 a más de 20,000 en octubre de 2024. Este crecimiento ha sido facilitado por un aumento en el número de asesorías provenientes de múltiples fuentes, así como por la expansión de la cobertura de ecosistemas y las campañas de revisión de asesorías anteriores.

Los ecosistemas de paquetes han visto un incremento significativo en las vulnerabilidades reportadas. Aunque npm fue inicialmente el ecosistema predominante en la base de datos, la inclusión de otros ecosistemas como Maven y Composer ha modificado notablemente la distribución de las asesorías. Actualmente, casi la mitad de las asesorías corresponden a vulnerabilidades en paquetes de Maven y Composer.

El proceso de revisión y publicación de asesorías se nutre de diversas fuentes, incluidas las contribuciones de la comunidad y las especializadas como PyPA y Go Vulncheck. Estas fuentes permiten a los desarrolladores obtener una visión más amplia de las vulnerabilidades potenciales y priorizar su atención en aquellas más críticas. Para facilitar estas decisiones, GitHub proporciona datos de acción, como calificaciones de gravedad y un sistema de puntuación de predicción de explotación, que ayuda a los desarrolladores a identificar las vulnerabilidades que demandan atención inmediata.

Además, GitHub actúa como Autoridad de Numeración CVE, emitiendo identificadores para las vulnerabilidades reportadas, lo que garantiza su registro en la comunidad más amplia de CVE. En 2024, se publicaron más de 2,000 registros CVE, consolidando a GitHub como uno de los principales actores en este ámbito.

En resumen, la base de datos de asesorías de GitHub no solo funciona como un repositorio de vulnerabilidades, sino que también alimenta herramientas como Dependabot, que asisten a los desarrolladores en la gestión de riesgos y en la salvaguarda de la seguridad de sus proyectos de manera efectiva.