Os investigadores de Aqua Security publicaron os resultados dunha análise de estatísticas sobre os 50 mil paquetes máis descargados no repositorio de NPM. 7500 (15 %) dos paquetes máis descargados estaban asociados a paquetes obsoletos e proxectos desaparecidos. Para simplificar a identificación de paquetes obsoletos entre as dependencias utilizadas no seu proxecto, proponse a utilidade Dependency-Deprecated-Checker, publicada baixo a licenza MIT.
En 4100 (8.2%) dos paquetes revisados, a cadea de dependencia identificou paquetes que foron declarados oficialmente obsoletos por NPM ou asociados a proxectos obsoletos (por exemplo, o paquete de solicitude marcouse como obsoleto, pero segue usándose como dependencia directa para 55000). paquetes). 2300 (4.6%) paquetes están ligados a repositorios en GitHub que quedaron relegados ao estado de arquivo (o desenvolvemento foi interrompido; por exemplo, o repositorio de paquetes a través está marcado como arquivado, pero úsase como dependencia directa para 3000 paquetes). 1100 (2.2%) paquetes fan referencia a repositorios que xa non existen, e ao acceder a eles se produce un erro 404. 3100 (6.2%) paquetes non conteñen información do repositorio.

En termos absolutos, a distribución de paquetes desactualizados e sen ligazóns a repositorios en NPM extrapólase a aproximadamente 2.1 millóns de descargas por semana. Usar paquetes desactualizados e proxectos sen manter como dependencia conleva o risco de ter vulnerabilidades sen parchear, especialmente tendo en conta a práctica dalgúns desenvolvedores de parchear vulnerabilidades en silencio sen asignar un identificador CVE e sen centrarse explícitamente en solucionar o problema.
Fonte: opennet.ru
