Rust repository crates.io da zararli rustdecimal paketi aniqlandi

Rust tilini ishlab chiquvchilari crates.io omborida zararli kodni o'z ichiga olgan rustdecimal paketi aniqlanganligi haqida ogohlantirdi. To'plam qonuniy rust_decimal to'plamiga asoslangan edi va foydalanuvchi ro'yxatdagi modulni qidirish yoki tanlashda pastki chiziq yo'qligini sezmasligini kutgan holda nomdagi o'xshashlik (typesquatting) yordamida tarqatildi.

Shunisi e'tiborga loyiqki, ushbu strategiya muvaffaqiyatli bo'ldi va yuklab olishlar soni bo'yicha xayoliy paket asl nusxadan bir oz ortda qoldi (rustdecimal 111-dan ~ 1.23.1 ming yuklab olish va asl rust_decimal 113-dan 1.23.1 ming marta) . Shu bilan birga, yuklab olishlarning aksariyati zararli kodni o'z ichiga olmagan zararsiz klon edi. Zararli oΚ»zgarishlar 25-mart kuni rustdecimal 1.23.5 versiyasiga qoΚ»shilgan boΚ»lib, u muammo aniqlangunga qadar taxminan 500 marta yuklab olingan va paket blokirovka qilingan (zararli versiyani yuklab olishlarning aksariyati botlar tomonidan amalga oshirilgan deb taxmin qilinadi) va omborda mavjud bo'lgan boshqa paketlarga bog'liqlik sifatida ishlatilmagan (zararli paket oxirgi ilovalarga bog'liq bo'lgan bo'lishi mumkin).

Zararli o'zgarishlar yangi Decimal::new funksiyasini qo'shishdan iborat bo'lib, uning amalga oshirilishi tashqi serverdan yuklab olish va bajariladigan faylni ishga tushirish uchun tushunarsiz kodni o'z ichiga olgan. Funktsiyani chaqirishda GITLAB_CI muhit o'zgaruvchisi tekshirildi va o'rnatilgan bo'lsa, /tmp/git-updater.bin fayli tashqi serverdan yuklab olindi. Yuklab olinadigan zararli ishlov beruvchi Linux va macOS da ishlashni qo'llab-quvvatladi (Windows platformasi qo'llab-quvvatlanmaydi).

Zararli funktsiya uzluksiz integratsiya tizimlarida sinovdan o'tish paytida amalga oshirilishi taxmin qilingan. Rustdecimal bloklangandan so'ng, crates.io ma'murlari shunga o'xshash zararli qo'shimchalar uchun ombor tarkibini tahlil qildilar, ammo boshqa paketlardagi muammolarni aniqlamadilar. GitLab platformasiga asoslangan uzluksiz integratsiya tizimlarining egalariga o'z serverlarida sinovdan o'tgan loyihalar o'zlarining qaramliklarida rustdecimal paketidan foydalanmasligiga ishonch hosil qilishlari tavsiya etiladi.

Manba: opennet.ru

a Izoh qo'shish