Ékspérimén sareng nyiptakeun pakét NPM anu gumantung kana sadaya pakét dina gudang

Salah sahiji pamekar bungkusan JavaScript ékspérimén sareng nyiptakeun sareng nempatkeun dina gudang NPM pakét "sadayana", anu nyertakeun sadaya pakét anu aya dina gudang kalayan kagumantungan. Pikeun nerapkeun fitur ieu, pakét "sagala" gaduh katergantungan langsung sareng lima pakét "@everything-registry / chunk-N", anu dina gilirannana gaduh katergantungan kana langkung ti 3000 bungkusan "sub-chunk-N", anu masing-masing ngabeungkeut kana. 800 bungkusan anu aya dina gudang.

Nempatkeun "sagala" dina NPM ngagaduhan dua épék anu pikaresepeun. Anu mimiti, pakét "sadayana" parantos janten jinis alat pikeun ngalakukeun serangan DoS, sabab usaha masang éta nyababkeun unduhan jutaan bungkusan anu di-host di NPM sareng nyéépkeun rohangan disk anu sayogi atanapi ngeureunkeun palaksanaan prosés ngawangun. Numutkeun statistik NPM, pakét diunduh sakitar 250 kali, tapi teu aya anu ganggu pikeun nambihanana salaku katergantungan kana pakét sanés saatos akun pamekar diretas pikeun ngalakukeun sabotase. Salaku tambahan, sababaraha jasa sareng alat anu ngawas sareng mariksa bungkusan énggal anu di-host ku NPM tanpa disadari diserang.

Kadua, nyebarkeun pakét "sadayana" sacara efektif ngablokir kamampuan pikeun ngahapus bungkusan naon waé dina NPM anu réngsé dina daptar katergantungan. Paket ti NPM tiasa dihapus ku panulis ngan upami éta henteu acan dianggo dina katergantungan bungkusan anu sanés, tapi saatos publikasi "sadayana" katergantungan tétéla nutupan sadaya bungkusan dina gudang. Éta noteworthy yén panyabutan "sagala" pakét sorangan ogé diblokir, saprak 9 sababaraha taun ka pengker pakét test "sagala-sejenna" ieu dipasang dina gudang, nu kaasup string "sagala" dina daptar kagumantungan. Ku kituna, sanggeus publikasi, bungkusan "sagala" tungtungna gumantung kana bungkusan sejen.

sumber: opennet.ru

Tambahkeun komentar