Eksperimen nggawe paket NPM sing gumantung ing kabeh paket ing repositori

Salah sawijining pangembang paket JavaScript nyoba nggawe lan nempatake ing repositori NPM paket "kabeh", sing nyakup kabeh paket sing ana ing gudang kanthi dependensi. Kanggo ngleksanakake fitur iki, paket "kabeh" nduweni dependensi langsung karo limang paket "@everything-registry / chunk-N", sing uga duwe dependensi ing luwih saka 3000 paket "sub-chunk-N", sing saben-saben diikat menyang 800 paket sing ana ing gudang.

Nempatake "kabeh" ing NPM duwe rong efek sing menarik. Kaping pisanan, paket "kabeh" wis dadi alat kanggo nindakake serangan DoS, amarga nyoba nginstal kasebut ndadΓ©kakΓ© ndownload jutaan paket sing di-host ing NPM lan kesel ruang disk sing kasedhiya utawa mungkasi eksekusi proses mbangun. Miturut statistik NPM, paket kasebut diundhuh kira-kira kaping 250, nanging ora ana sing ngganggu nambahake minangka ketergantungan menyang paket liyane sawise akun pangembang disusupi kanggo nindakake sabotase. Kajaba iku, sawetara layanan lan alat sing ngawasi lan mriksa paket anyar sing di-host dening NPM tanpa disengaja diserang.

Kapindho, nerbitake paket "kabeh" kanthi efektif mblokir kemampuan kanggo mbusak paket apa wae ing NPM sing ana ing dhaptar dependensi. Paket saka NPM bisa dicopot dening penulis mung yen durung digunakake ing dependensi paket liyane, nanging sawise publikasi "kabeh" dependensi kasebut nutupi kabeh paket ing gudang. Wigati dicathet yen mbusak paket "kabeh" dhewe uga diblokir, wiwit 9 taun kepungkur paket tes "kabeh-liyane" dikirim ing repositori, sing kalebu senar "kabeh" ing dhaptar dependensi. Mangkono, sawise publikasi, paket "kabeh" pungkasane gumantung ing paket liyane.

Source: opennet.ru

Add a comment