Haftasiga 127 million marta yuklab olinadigan Keyv npm paketiga zararli kod joylashtirilganligini bilarmidingiz? Siz ham zarralangan bo’lishingiz mumkin ogoh bo’ling!

Ochiq kodli dasturiy ta’minot (Open Source Software) zamonaviy dasturchilar va tashkilotlar faoliyatining ajralmas qismiga aylangan. Dunyo bo’ylab millionlab dasturchilar kundalik faoliyatida npm (Node Package Manager) platformasidagi kutubxonalardan foydalanadi. Biroq ushbu ekotizimning ommabopligi uni kiberjinoyatchilar uchun ham jozibador nishonga aylantirmoqda.

2026-yil 4-avgust kuni aniqlangan yangi ta’minot zanjiri (Supply Chain) hujumi buning yaqqol isbotidir. Kiberjinoyatchilar Keyv kutubxonasini boshqaruvchi dasturchining GitHub hisobini qo’lga kiritib, zararli kodni uning boshqaruvidagi ko’plab npm paketlariga joylashtirishga muvaffaq bo’ldi. Mazkur hodisa npm tarixidagi eng yirik ta’minot zanjiri hujumlaridan biri sifatida baholanmoqda.

Keyv nima va nima uchun u muhim?

Keyv — Node.js loyihalarida keng qo’llaniladigan ochiq kodli kalit-qiymat (Key-Value) ma’lumotlar saqlash kutubxonasi hisoblanadi. U Redis, SQLite, PostgreSQL, MySQL, MongoDB va boshqa ko’plab saqlash tizimlari bilan ishlash imkoniyatini beradi.

Mazkur kutubxona:

  • haftasiga 127 million martadan ortiq yuklab olinadi;
  • minglab dasturiy mahsulotlar va servislarning asosiy komponentlaridan biri hisoblanadi;
  • yirik korporatsiyalar hamda bulut infratuzilmasida keng qo’llaniladi.

Shu sababli Keyv’ga qaratilgan hujum yuz minglab loyihalar va millionlab foydalanuvchilarga bilvosita ta’sir ko’rsatishi mumkin.

Hujum qanday amalga oshirildi?

Tadqiqotchilarning aniqlashicha, tajovuzkorlar dastlab Keyv maintainerining GitHub akkauntini komprometatsiya qilgan.

So’ngra ular maintainer nazoratidagi barcha asosiy repozitoriylarning main tarmog’iga zararli kod joylashtirib, deyarli bir vaqtning o’zida yangi versiyalarni npm platformasiga e’lon qilgan.

Eng xavotirli jihati shundaki, ushbu versiyalar GitHub Actions tomonidan yaratilgan haqiqiy provenance (kelib chiqish) raqamli imzolari bilan nashr etilgan. Natijada zararli paketlar avtomatik tekshiruv tizimlari va foydalanuvchilar uchun mutlaqo ishonchli ko’ringan.

Qaysi paketlar zararlangan?

Komprometatsiya faqat Keyv bilan cheklanib qolmadi.

Hujum quyidagi mashhur paketlarni ham qamrab oldi:

  • Keyv;
  • cacheable;
  • flat-cache;
  • file-entry-cache;
  • cache-manager;
  • cacheable-request;
  • @cacheable nom maydonidagi (scope) boshqa paketlar.

Mazkur kutubxonalar Node.js ekotizimida keng qo’llanilgani sababli zararli kod qisqa vaqt ichida yuzlab boshqa loyihalarga ham tarqalgan.

Tadqiqotchilar ushbu kampaniyani «Shai-Hulud» deb nomladilar.

Zararli kod qanday ishlagan?

Har bir zararlangan paket tarkibiga quyidagi fayllar qo’shilgan:

  • setup.mjs
  • Math_Symbol.js

Bundan tashqari, package.json fayliga yashirin preinstall skripti kiritilgan.

Natijada foydalanuvchi yoki CI/CD muhitida oddiy npm install buyrug’i bajarilishi bilanoq zararli kod avtomatik ishga tushgan.

Birinchi bosqich

setup.mjs kuchli darajada obfuskatsiya qilingan (chalkashtirilgan) dropper vazifasini bajargan.

U GitHub’dagi rasmiy reliz manzilidan Bun JavaScript Runtime dasturini yuklab olgan.

Shundan so’ng Bun yordamida asosiy zararli modul — Math_Symbol.js ishga tushirilgan.

Barcha jarayon foydalanuvchidan hech qanday qo’shimcha ruxsat yoki tasdiq talab qilmagan.

Maqsad nima bo’lgan?

Math_Symbol.js dasturining asosiy vazifasi ishlab chiquvchilarning maxfiy autentifikatsiya ma’lumotlarini o’g’irlashdan iborat bo’lgan.

Zararli dastur quyidagi ma’lumotlarni yig’ishga uringan:

  • npm registry autentifikatsiya tokenlari (.npmrc);
  • GitHub CLI tokenlari;
  • GitHub Personal Access Token (PAT);
  • GitHub sessiya tokenlari;
  • OpenID Connect (OIDC) tokenlari;
  • AWS Access Key va Session Token;
  • AWS credentials faylidagi autentifikatsiya ma’lumotlari;
  • HashiCorp Vault tokenlari;
  • VAULT_TOKEN muhit o’zgaruvchisi.

Agar VAULT_TOKEN topilmasa, zararli dastur uni HTTP so’rovlari orqali olishga ham harakat qilgan.

Mazkur ma’lumotlar yordamida tajovuzkorlar:

  • yangi npm paketlarini chiqarishi;
  • GitHub repozitoriylarini boshqarishi;
  • bulut infratuzilmalariga kirishi;
  • CI/CD tizimlarini egallashi;
  • yangi zararli kodlarni tarqatishi mumkin bo’lgan.

«Qurt» (Worm) mexanizmi

Mazkur hujumning eng xavfli jihatlaridan biri uning o’z-o’zini tarqatish xususiyatidir.

Agar zararli dastur ishlab chiquvchining GitHub yoki npm tokenlarini muvaffaqiyatli qo’lga kiritsa, u ushbu hisob orqali boshqa paketlarni ham zararlashi mumkin.

Natijada hujum bir nechta paket bilan cheklanib qolmay, butun npm ekotizimida zanjirsimon tarzda kengayib borgan.

Mutaxassislar aynan shu sababli ushbu kampaniyani o’z-o’zini ko’paytiruvchi zararli dastur (worm) sifatida baholamoqda.

Zararlanish ko’lami

Dastlabki tahlillarga ko’ra:

  • kamida 868 ta npm paketi;
  • 1 381 ta paket versiyasi

zararlangani tasdiqlangan.

Mutaxassislarning qayd etishicha, bu ko’rsatkich vaqt o’tishi bilan yanada ortishi mumkin.

Shuningdek, zararli kod Deliveroo, Qlik, Picsart va boshqa yirik kompaniyalar bilan bog’liq ayrim loyihalargacha ham yetib borgani qayd etilgan.

Bu esa ta’minot zanjiri hujumlarining qanchalik tez va keng ko’lamda tarqalishini yana bir bor namoyish etdi.

Ta’minot zanjiri (Supply Chain) hujumlari nega xavfli?

An’anaviy kiberhujumlarda tajovuzkorlar bevosita tashkilot yoki foydalanuvchini nishonga oladi.

Supply Chain hujumlarida esa ular ko’plab tashkilotlar ishonadigan dasturiy komponentni komprometatsiya qiladi.

Natijada:

  • minglab loyihalar avtomatik ravishda zararlanadi;
  • ishlab chiquvchilar zararli kodni o’zlari sezmagan holda tizimlariga o’rnatadilar;
  • CI/CD jarayonlari orqali zararli komponentlar ishlab chiqarish (Production) muhitiga ham kirib boradi.

So’nggi yillarda SolarWinds, 3CX, XZ Utils va boshqa yirik hodisalar ham ta’minot zanjiri hujumlarining naqadar xavfli ekanini ko’rsatgan edi. Keyv bilan bog’liq hodisa esa npm ekotizimida kuzatilgan eng yirik voqealardan biri sifatida qayd etilmoqda.

Tashkilotlar qanday choralar ko’rishi kerak?

Mazkur hodisa sababli mutaxassislar quyidagi choralarni tavsiya etmoqda:

  • Keyv va unga bog’liq paketlar ishlatilayotgan barcha loyihalarni zudlik bilan tekshirish.
  • package-lock.json yoki boshqa lock fayllar orqali zararli versiyalar mavjudligini aniqlash.
  • npm autentifikatsiya tokenlarini darhol almashtirish.
  • GitHub Personal Access Token va GitHub CLI tokenlarini bekor qilib, yangilarini yaratish.
  • AWS Access Key hamda Session Tokenlarni rotatsiya qilish.
  • HashiCorp Vault tokenlarini yangilash.
  • Zararli paketlar o’rnatilgan qurilmalarni to’liq antivirus va EDR vositalari yordamida tekshirish.
  • CI/CD pipeline loglarini tahlil qilish hamda shubhali faoliyatni aniqlash.
  • Ishonchli versiyalar tasdiqlanmaguncha zararlangan paketlarni qayta o’rnatmaslik.

Keyv bilan bog’liq ushbu hodisa ochiq kodli dasturiy ta’minot ekotizimida ta’minot zanjiri xavfsizligi naqadar muhim ekanini yana bir bor namoyon etdi. Kiberjinoyatchilar endilikda alohida tashkilotlarni emas, balki millionlab foydalanuvchilar ishonadigan dasturiy kutubxonalarni nishonga olmoqda.

Shu sababli tashkilotlar faqat o’z infratuzilmasini himoya qilish bilan cheklanib qolmasdan, foydalanayotgan uchinchi tomon kutubxonalari va ularning yangilanishlarini ham muntazam nazorat qilishi zarur. Dasturiy ta’minot tarkibini (Software Bill of Materials — SBOM) yuritish, bog’liqliklarni (dependencies) avtomatik tahlil qilish, kod yaxlitligini tekshirish hamda ishlab chiqish jarayonida xavfsizlik nazoratlarini kuchaytirish kelgusida shunga o’xshash ta’minot zanjiri hujumlari xavfini sezilarli darajada kamaytiradi.