En el ámbito del software de código abierto, la seguridad ha cobrado un protagonismo cada vez más significativo en el proceso de desarrollo. Los desarrolladores, ahora considerados la primera línea de defensa contra las vulnerabilidades, dedican casi tres veces más tiempo a cuestiones de seguridad en comparación con años anteriores. Esta tendencia subraya la creciente dependencia global del software de código abierto.
Desde el GitHub Security Lab, bajo el liderazgo de Madison Oliver, un equipo conformado por desarrolladores y expertos en seguridad trabaja arduamente para resguardar el ecosistema del código abierto del que todos dependemos. El laboratorio se enfoca en descubrir y reportar nuevas vulnerabilidades, educar a la comunidad mediante investigaciones, y analizar variantes de proyectos de software de código abierto, todo en pos de asegurar que este software se mantenga seguro.
En este entorno, uno de los pilares fundamentales de la seguridad son las Vulnerabilidades y Exposiciones Comunes (CVE, por sus siglas en inglés). Estos registros han sufrido una transformación significativa desde su introducción en 1999, cuando se publicaron 321 registros de CVE. Contrariamente, en el último año, se alcanzaron más de 28,900, lo que supone un aumento del 460% en la última década. Este incremento no solo plantea un reto en la gestión de datos, sino que también refuerza la transparencia acerca de las vulnerabilidades del software, aspecto crucial para mejorar la seguridad en toda la industria.
El creciente volumen de información sobre vulnerabilidades va aparejado con la emergencia de nuevos tipos de fallas que tienen el potencial de impactar a través de la cadena de suministro de software. Entre estos se destacan los problemas relacionados con la ejecución especulativa, que se hicieron notorios con las vulnerabilidades Spectre y Meltdown, así como el aumento de los ataques de denegación de servicio por expresiones regulares (ReDoS). Estas nuevas categorías demandan tácticas renovadas de mitigación y prevención por parte de los desarrolladores.
Con el aumento en el número de dependencias transitivas, también aumenta la necesidad de soluciones automatizadas para gestionar estos riesgos. Herramientas como Dependabot juegan un rol crucial al identificar y mitigar vulnerabilidades de manera automática en las dependencias del código, incrementando así la eficiencia en la organización y gestión de estos riesgos. Adicionalmente, las pruebas de seguridad de aplicaciones estáticas (SAST) y las herramientas de análisis de composición de software (SCA) facilitan la detección y remediación de vulnerabilidades tanto en el código propietario como en las dependencias de código abierto.
El papel cada vez más activo de los mantenedores de código abierto en la publicación de datos de vulnerabilidad apunta a que la comunidad está asumiendo una mayor responsabilidad en temas de seguridad. Desde que GitHub Security Lab fue designado una Autoridad de Numeración CVE en 2019, ha logrado posicionarse como el quinto mayor publicador de CVE de todos los tiempos, un indicativo del compromiso de los mantenedores con la seguridad del ecosistema de código abierto.
La automatización y las mejoras en las herramientas de seguridad resultan esenciales para manejar el cada vez mayor volumen de datos de vulnerabilidad. En GitHub, las API de proveedores de datos de vulnerabilidad se utilizan para integrar esta información para su revisión y notificar a los usuarios mediante alertas de Dependabot. Esto pone de manifiesto cómo la seguridad del software de código abierto está evolucionando y cómo la comunidad debe continuar adaptándose y aprendiendo para hacer frente a los retos de seguridad del futuro.