Forskere fra Aqua Security har offentliggjort resultaterne af en analyse af statistikken om 50.000 af de mest downloadede pakker i NPM-repositoriet. 7500 (15%) af de mest downloadede pakker viste sig at være relateret til forældede pakker og projekter, der ikke længere eksisterer. For at forenkle identifikationen af forældede pakker blandt de afhængigheder, der anvendes i ens projekt, er der blevet foreslået et værktøj, Dependency-Deprecated-Checker, som er offentliggjort under MIT-licensen.
I 4100 (8.2%) af de undersøgte pakker i afhængighedskæden er der identificeret pakker, der officielt er blevet erklæret forældede i NPM eller relateret til forældede projekter (for eksempel er pakken request markeret som forældet, men fortsætter med at blive brugt som en direkte afhængighed af 55.000 pakker). 2300 (4.6%) pakker er relateret til GitHub-repositorier, der er blevet arkiveret (udviklingen er stoppet; for eksempel er repositoriet for pakken through markeret som arkiveret, men bruges som en direkte afhængighed af 3000 pakker). 1100 (2.2%) pakker henviser til allerede ikke-eksisterende repositorier, hvis anrop resulterer i en 404-fejl. 3100 (6.2%) pakker indeholder ikke information om repositoriet.

I absolutte termer er udbredelsen af forældede pakker og pakker uden henvisninger til repositorier i NPM ekstrapoleret til cirka 2.1 milliarder downloads om ugen. Brug af forældede pakker og forsømte projekter som afhængigheder medfører risikoen for, at der findes uoprettede sårbarheder, især i betragtning af den praksis, som nogle udviklere anvender, hvor de skjuler udbedringen af sårbarheder uden at tildele CVE-identifikatorer og uden at gøre opmærksom på problemet.
Kilde: opennet.ru
