Cercetătorii de la Aqua Security au publicat rezultatele unei analize a statisticilor despre cele 50.000 de cele mai descărcate pachete din depozitul NPM. 7.500 (15%) dintre cele mai descărcate pachete s-au dovedit a fi legate de pachete învechite și proiecte suspendate. Pentru a simplifica identificarea pachetelor învechite printre dependențele utilizate în proiectul său, a fost propusă o unealtă numită Dependency-Deprecated-Checker, publicată sub licența MIT.
În 4.100 (8.2%) dintre pachetele examinate în lanțul de dependențe au fost identificate pachete, oficial declarate în NPM ca fiind învechite sau legate de proiecte învechite (de exemplu, pachetul request este marcat ca învechit, dar continuă să fie utilizat ca dependență directă de 55.000 de pachete). 2.300 (4.6%) dintre pachete sunt legate de depozite pe GitHub, transformate în arhive (dezvoltarea a fost oprită, de exemplu, depozitul pachetului through este marcat ca arhivă, dar este utilizat ca dependență directă de 3.000 de pachete). 1.100 (2.2%) dintre pachete fac referire la depozite care nu mai există, accesarea cărora returnează eroarea 404. 3.100 (6.2%) dintre pachete nu conțin informații despre depozit.

În termeni absoluți, răspândirea pachetelor învechite și a pachetelor fără linkuri către depozite în NPM este extrapolată la aproximativ 2,1 miliarde de descărcări pe săptămână. Utilizarea pachetelor învechite și a proiectelor abandonate ca dependențe este asociată cu riscul de a avea vulnerabilități necorectate, în special având în vedere practica unor dezvoltatori de a remedia discret vulnerabilitățile fără a atribui un identificator CVE și fără a sublinia explicit rezolvarea problemei.
Sursa: opennet.ro
