La empresa Sonatype, especializada en la protección contra ataques que manipulan la sustitución de componentes de software y dependencias (supply chain), ha publicado los resultados de un estudio (PDF, 62 págs.) sobre problemas con dependencias y el mantenimiento de proyectos de código abierto en los lenguajes Java, JavaScript, Python y .NET, presentados en los repositorios Maven Central, NPM, PyPl y Nuget. Durante el año se ha observado un aumento del 29% en el número de proyectos en los ecosistemas abiertos que se están rastreando. El número de descargas de paquetes de los repositorios considerados en 2023 ha crecido un 33%, pero para comparación, en 2021 el aumento de descargas fue del 73%.
La actividad maliciosa en los repositorios ha crecido significativamente: desde principios de año se han detectado 245 mil paquetes maliciosos y el número de ataques registrados, dirigidos a la sustitución de dependencias, se ha duplicado.

Muchos proyectos siguen utilizando versiones vulnerables; por ejemplo, el 23% de las descargas del paquete Java Log4j todavía corresponden a versiones con vulnerabilidades críticas que fueron solucionadas en 2021. En el repositorio Maven Central, aproximadamente el 12% de todas las descargas corresponden a componentes que contienen vulnerabilidades conocidas. En promedio, para todos los repositorios, la cuota de descargas de versiones antiguas de paquetes en las categorías de riesgo (como los que presentan vulnerabilidades no corregidas) es del 20% (en el 80% de los casos se descarga la versión actual). En el 96% de los casos, las descargas de componentes con vulnerabilidades podrían haberse evitado eligiendo versiones en las que el problema ya ha sido resuelto.
Un problema significativo en el mantenimiento de la seguridad es también la calidad del acompañamiento de los proyectos. En los ecosistemas de los lenguajes Java y JavaScript, esto presenta grandes problemas: en el último año, se ha interrumpido el mantenimiento de uno de cada cinco proyectos (18.6%) presentados en Maven Central y NPM, que contaron con mantenimiento en el año anterior. De 1.176 millones de proyectos analizados, presentes en los repositorios Maven, NPM, PyPl y Nuget, solo el 11% (118 mil) continúa siendo mantenido activamente.
Durante la investigación, también se realizó una encuesta a 621 desarrolladores profesionales de diversas empresas. El 67% de los encuestados cree que sus aplicaciones no utilizan bibliotecas vulnerables, el 10% ha enfrentado incidentes de seguridad en los últimos 12 meses debido a vulnerabilidades en software de código abierto, y el 20% tuvo dificultades para responder. El 28% de las empresas identifica la presencia de componentes vulnerables dentro de un día después de la divulgación de información sobre la vulnerabilidad, el 39% entre 1 y 7 días, y el 29% más de una semana.
Fuente: opennet.ru
