Eksperimintearje mei it meitsjen fan in NPM-pakket dat ôfhinklik is fan alle pakketten yn 'e repository

Ien fan 'e ûntwikkelders fan JavaScript-pakketten eksperimintearre mei it meitsjen en pleatsen yn' e NPM-repository it pakket "alles", dat alle besteande pakketten yn 'e repository beslacht mei ôfhinklikens. Om dizze funksje út te fieren, hat it pakket "alles" direkte ôfhinklikens mei fiif "@everything-registry/chunk-N"-pakketten, dy't op har beurt ôfhinklikens hawwe fan mear dan 3000 "sub-chunk-N"-pakketten, dy't elk bynt oan 800 besteande pakketten yn 'e repository.

It pleatsen fan "alles" yn NPM hie twa nijsgjirrige effekten. As earste is it pakket "alles" in soarte fan ark wurden foar it útfieren fan DoS-oanfallen, om't in besykjen om it te ynstallearjen liedt ta it downloaden fan miljoenen pakketten dy't yn NPM wurde host en de beskikbere skiifromte útputtearje of de útfiering fan bouprosessen stopje. Neffens NPM-statistiken waard it pakket sawat 250 kear ynladen, mar gjinien makket it lestich om it as ôfhinklikens ta te foegjen oan in oar pakket nei't it akkount fan 'e ûntwikkelder hackt waard om sabotaazje te begean. Dêrnjonken waarden guon tsjinsten en ark dy't nije pakketten kontrolearje en kontrolearje dy't troch NPM host wurde ûnbewust bleatsteld oan oanfal.

Twad, it publisearjen fan it pakket "alles" effektyf blokkearre de mooglikheid om alle pakketten yn NPM te ferwiderjen dy't yn 'e list fan ôfhinklikens einige. In pakket fan NPM kin allinich troch de auteur fuortsmiten wurde as it net al brûkt wurdt yn 'e ôfhinklikens fan oare pakketten, mar nei de publikaasje fan "alles" die bliken dat de ôfhinklikens alle pakketten yn it repository dekke. It is opmerklik dat it fuortheljen fan it pakket "alles" sels ek blokkearre waard, om't 9 jier lyn in testpakket "alles-oars" waard pleatst yn 'e repository, dy't de tekenrige "alles" yn 'e list fan ôfhinklikens omfette. Sadwaande is it pakket "alles" nei publikaasje ôfhinklik fan in oar pakket.

Boarne: opennet.ru

Add a comment