Хадгалах сангийн бүх багцаас хамааралтай NPM багц үүсгэх туршилтыг хийнэ үү

JavaScript багцуудыг хөгжүүлэгчдийн нэг нь NPM репозиторд "бүх зүйл" багцыг үүсгэж, байршуулах туршилт хийсэн бөгөөд энэ нь репозитор дахь одоо байгаа бүх багцуудыг хамаарал бүхий хамардаг. Энэ функцийг хэрэгжүүлэхийн тулд "бүх зүйл" багц нь таван "@everything-registry/chunk-N" багцтай шууд хамааралтай бөгөөд тэдгээр нь эргээд 3000 гаруй "дэд хэсэг-N" багцаас хамааралтай бөгөөд тус бүр нь дараахтай холбогддог. Хадгалах газарт байгаа 800 багц.

NPM-д "бүх зүйлийг" байрлуулах нь хоёр сонирхолтой нөлөө үзүүлсэн. Нэгдүгээрт, "бүх зүйл" багц нь DoS халдлага хийх нэг төрлийн хэрэгсэл болсон, учир нь үүнийг суулгах оролдлого нь NPM-д байршуулсан сая сая багцуудыг татаж авах, дискний боломжтой зайг шавхах эсвэл бүтээх процессыг зогсооход хүргэдэг. NPM-ийн статистик мэдээгээр уг багцыг 250 орчим удаа татсан боловч хөгжүүлэгчийн бүртгэлийг хакердаж хорлон сүйтгэх ажиллагаа явуулсны дараа хэн ч үүнийг өөр багцад хамаарал болгон нэмэхийг санаа зовдоггүй. Нэмж дурдахад, NPM-ийн байршуулсан шинэ багцуудыг хянаж, шалгадаг зарим үйлчилгээ, хэрэгслүүд санамсаргүйгээр халдлагад өртсөн.

Хоёрдугаарт, "бүх зүйл" багцыг нийтлэх нь NPM-ийн хамаарлын жагсаалтад орсон аливаа багцыг устгах боломжийг үр дүнтэй хаасан. NPM-ийн багцыг бусад багцын хамааралд ашиглаагүй тохиолдолд л зохиогч устгаж болно, гэхдээ "бүх зүйл" нийтлэгдсэний дараа хамаарал нь репозиторын бүх багцыг хамрах болсон. "Бүх зүйл" багцыг устгахыг мөн хаасан нь анхаарал татаж байна, учир нь 9 жилийн өмнө "бүх зүйл" гэсэн тестийн багцыг репозиторт байрлуулсан бөгөөд үүнд "бүх зүйл" гэсэн мөрийг хамаарлын жагсаалтад оруулсан болно. Ийнхүү нийтлэгдсэний дараа "бүх зүйл" багц өөр багцаас хамааралтай болсон.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх