Eksperimenti për krijimin e një pakete NPM, e varur nga të gjitha paketat në depo

Një nga zhvilluesit e pakove JavaScript ka kryer një eksperiment për krijimin dhe publikimin në depo të paketes NPM "everything", e cila mbulon si varësira të gjitha paketat ekzistuese në depo. Për të realizuar një mundësi të tillë, paketa "everything" lidh me varësi të drejtpërdrejta me pesë paketa "@everything-registry/chunk-N", të cilat, nga ana e tyre, lidhin varësi me më shumë se 3000 paketa "sub-chunk-N", në secilën nga të cilat bëhet lidhja me 800 paketat ekzistuese në depo.

Publikimi i "everything" në NPM çoi në dy efekte interesante. Së pari, paketa "everything" u bë një instrument për zhvillimin e sulmeve DoS, pasi përpjekja për ta instaluar atë çon në shkarkimin e miliona paketave që janë në NPM dhe shpenzimin e hapësirës së diskut të disponueshëm ose ndalimin e proceseve të ndërtimit. Sipas statistikave, paketa NPM është shkarkuar rreth 250 herë, por askush nuk e pengon ta shtojë atë në varësitë e një pakete tjetër pas vjedhjes së llogarisë së zhvilluesit për të realizuar një diversitet. Për më tepër, padrejtësisht, disa shërbime dhe mjete që monitorojnë dhe kontrollojnë paketat e reja, të publikuara në NPM, duhej të përballeshin me sulmin.

Së dyti, publikimi i paketes "everything" praktikisht bllokoi mundësinë e fshirjes së çdo pakete në NPM, të cilat u gjetën në listën e varësive të saj. Një pakete mund të fshihet nga autori vetëm nëse ende nuk përdoret në varësitë e paketave të tjera, por pas publikimit të "everything", të gjitha paketat në depo u gjetën të mbuluara nga varësitë. E veçanta është se fshirja e vetë paketës "everything" gjithashtu doli të ishte e bllokuar, pasi 9 vjet më parë në depo u publikua një paketë testi "everything-else", në të cilën ishte e shënuar rreshti "everything" në listën e varësive. Pra, paketa "everything" pas publikimit u gjet në varësitë e një pakete tjetër.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster