Eksperimentet med at skabe en NPM-pakke, der er afhængig af alle pakker i depotet

En af udviklerne af JavaScript-pakker gennemførte et eksperiment med at skabe og uploade en NPM-pakke kaldet «everything», som dækker afhængighederne af alle eksisterende pakker i depotet. For at muliggøre denne funktionalitet er pakken «everything» direkte afhængig af fem pakker «@everything-registry/chunk-N», som i deres tur er bundet via afhængigheder til mere end 3000 pakker «sub-chunk-N», hvor hver pakke er bundet til 800 eksisterende pakker i depotet.

Udgivelsen af «everything» på NPM førte til to interessante konsekvenser. For det første blev pakken «everything» et specielt værktøj til at udføre DoS-angreb, da forsøget på at installere den fører til download af millioner af pakker, der er placeret på NPM, hvilket udtømmer den tilgængelige diskplads eller stopper udførelsen af byggeprocesser. Ifølge statistikker blev NPM-pakken downloadet ca. 250 gange, men ingen hindrer, at den tilføjes som afhængighed til en anden pakke efter at have brudt udviklerens konto for at udføre en sabotage. Desuden blev nogle tjenester og redskaber, der overvåger og tjekker nye pakker, der uploades til NPM, ufrivilligt udsat for angreb.

For det andet blokerede offentliggørelsen af pakken «everything» faktisk muligheden for at slette ethvert NPM-pakke, der var blevet en del af dens afhængigheder. En NPM-pakke kan kun slettes af forfatteren, hvis den ikke længere er i brug i afhængighederne til andre pakker, men efter offentliggørelsen af «everything» var alle pakker i depotet omfattet af afhængigheder. Bemærkelsesværdigt er det, at sletningen af selve pakken «everything» også viste sig at være blokeret, da der for ni år siden blev uploaded en testpakke «everything-else», hvor der var angivet «everything» i listen over afhængigheder. Dermed var pakken «everything» efter offentliggørelsen blevet en del af afhængighederne til en anden pakke.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster