Gerðu tilraunir með að búa til NPM pakka sem er háður öllum pakka í geymslunni

Einn af þróunaraðilum JavaScript pakka gerði tilraunir með að búa til og setja í NPM geymsluna „allt“ pakkann, sem nær yfir alla núverandi pakka í geymslunni með ósjálfstæði. Til að útfæra þennan eiginleika hefur „allt“ pakkinn bein ósjálfstæði með fimm „@everything-registry/chunk-N“ pakka, sem aftur eru háðir meira en 3000 „sub-chunk-N“ pökkum, sem hver um sig bindast við 800 fyrirliggjandi pakkar í geymslunni.

Að setja „allt“ í NPM hafði tvö áhugaverð áhrif. Í fyrsta lagi er „allt“ pakkinn orðinn eins konar tól til að framkvæma DoS árásir, þar sem tilraun til að setja hann upp leiðir til niðurhals milljóna pakka sem hýst eru í NPM og tæma tiltækt pláss eða stöðva framkvæmd byggingarferla. Samkvæmt tölfræði NPM var pakkanum hlaðið niður um það bil 250 sinnum, en enginn nennir að bæta honum sem ósjálfstæði við annan pakka eftir að reikningur þróunaraðilans var hakkaður til að fremja skemmdarverk. Að auki voru sumar þjónustur og verkfæri sem fylgjast með og athuga nýja pakka sem hýst eru af NPM óafvitandi fyrir árásum.

Í öðru lagi, að birta „allt“ pakkann lokaði í raun á möguleikann á að fjarlægja alla pakka í NPM sem enduðu á lista yfir ósjálfstæði. Einungis er hægt að fjarlægja pakka úr NPM af höfundi ef hann er ekki þegar notaður í ósjálfstæði annarra pakka, en eftir birtingu „alls“ reyndust ósjálfstæðin ná yfir alla pakka í geymslunni. Það er athyglisvert að einnig var lokað fyrir fjarlægingu á „allt“ pakkanum sjálfum, þar sem fyrir 9 árum síðan var prufupakkinn „allt-annar“ settur í geymsluna, sem innihélt strenginn „allt“ á listanum yfir ósjálfstæði. Þannig, eftir birtingu, endaði „allt“ pakkinn með því að vera háður öðrum pakka.

Heimild: opennet.ru

Bæta við athugasemd