Mahsulotlar
TRAIODerScannerSonatypeHashiCorp VaultDPA FASTBurp DASTBurp ProfessionalTRIDS’dan DevSecOps xizmatlari
Xizmatlar
DevSecOps joriy etishDasturiy ta’minot xavfsizligini tahlil qilishAppSec va DevSecOps bo‘yicha o‘qitish
Kompaniya
Kompaniya haqidaKaryera va amaliyotAppSecFestSonatype User GroupMaxfiylik siyosatiBlogKontaktlar
Til
RUKZENUZ
+7 777 734 7070 Maslahat olish

Dasturiy ta’minot zanjiriga hujumlar: npm va PyPI'dagi zararli paketlar va ulardan qanday himoyalanish

22.10.2026 7 daqiqa o‘qish AST Cyber Lab

Dasturiy ta’minot zanjiriga hujum — bu sizning tizimingizni emas, unga o‘rnatadigan narsangizni buzish: ochiq kutubxonalar, yig‘ish skriptlari, dasturchilarning hisob yozuvlari. Himoya uchta tamoyilga tayanadi: ilovalaringiz tarkibini bilish (SBOM), shubhali paketlarni yig‘ishga kiritmaslik (repozitoriy darajasidagi siyosatlar va karantin) va dasturchilar hamda CI/CD sirlarini asrash.

Ta’minot zanjiriga hujum nima

Zamonaviy ilovaning katta qismi begona koddan iborat. Dasturchi bitta bog‘liqlik qo‘shadi va u bilan birga o‘nlab tranzitiv bog‘liqliklarni oladi. Ularning har biri — potensial kirish nuqtasi: agar tajovuzkor paketni almashtirsa yoki unga kod kiritsa, zararli qism bog‘liqliklarni oddiy o‘rnatishda sizga avtomatik tushadi.

Asosiy stsenariylar:

  • Noldan zararli paket. Tajovuzkor jozibali nomli paket e’lon qiladi va uni kimdir o‘rnatadi.
  • Taypskvotting va nomlarni almashtirish. Paket mashhur paketga deyarli o‘xshash nomlanadi, xato yozish yoki e’tiborsizlikka hisob qilinadi. Qarindosh usul — nomlar maydonini almashtirish (namespace confusion).
  • Maintainer akkauntini egallash. Haqiqiy mashhur paket qonuniy muallif nomidan zararli versiya oladi.
  • Ishonch orqali kiritish. Tajovuzkor yillar davomida loyihada qatnashadi, maintainer huquqlarini oladi va yashirin kod qo‘shadi.
  • Bog‘liqlik-qurt. Zararli kod dasturchi tokenlarini o‘g‘irlaydi va boshqa paketlarning zararlangan versiyalarini o‘zi e’lon qiladi.

Muammo miqyosi

Sonatype'ning «2026 State of the Software Supply Chain» hisobotiga ko‘ra, 2025 yilda 454 648 ta yangi zararli paket qayd etilgan. Shu yil davomida dasturchilar Maven Central, PyPI, npm va NuGet'dan komponentlarni 9,8 trillion marta yuklab olgan. Sonatype tahdidlar spamdan «barqaror, sanoatlashgan kampaniyalar»ga siljiganini, ular orasida davlatlar tomonidan qo‘llab-quvvatlanadiganlari ham borligini ta’kidlaydi. Zararli paketlar ko‘pincha ko‘p bosqichli hujumning birinchi qadami bo‘lib xizmat qiladi: sirlarni o‘g‘irlash, yuklovchilar, bekdorlar.

Hisobotda yashirish usullari ham qayd etilgan: taypskvotting, nomlar maydoni chalkashligi, yig‘ish vositalariga taqlid, shuningdek zararli yukni AI modellari, konteyner obrazlari va yordamchi binar fayllarga joylashtirish. Alohida xavf — AI-assistentlar: ular paketlarning kelib chiqishini tekshirmasdan o‘rnatishni taklif qilishi mumkin.

Real insidentlar

ua-parser-js (2021 yil oktyabr): akkauntni egallash

2021 yil 22 oktyabrda tajovuzkorlar user-agent qatori bo‘yicha brauzer va OT'ni aniqlaydigan mashhur npm-kutubxona ua-parser-js dasturchisining hisob yozuviga kirish huquqini oldi va uchta zararli versiyani e’lon qildi: 0.7.29, 0.8.0 va 1.0.0. CERT-EU ma’lumotlariga ko‘ra, preinstall skripti operatsion tizimni tekshirgan. Linux'da XMRig mayner yuklab olingan, Windows'da — mayner va FTP-mijozlar, pochta, messenjerlar va brauzerlardan parollarni o‘g‘irlash uchun DLL. Qiziq tafsilot: Linux'da zararli kod Rossiya, Ukraina, Belarus va Qozog‘istonda ishga tushmagan. Tuzatilgan versiyalar — 0.7.30, 0.8.1 va 1.0.1.

Saboq: zararli kod o‘rnatish bosqichida, ilova ishga tushirilishidan oldin ham bajarildi, paket esa qonuniy va mashhur edi.

XZ Utils (2024 yil mart): ishonch orqali yashirin kod

2024 yil mart oyida dasturchi Andres Freund Debian test versiyasida SSH ulanishlarining sekinlashuvini tahlil qilar ekan, xz/liblzma siqish kutubxonasida bekdor topdi. Zaiflik CVE-2024-3094 identifikatorini va CVSS 10.0 maksimal bahosini oldi; 5.6.0 va 5.6.1 versiyalari ta’sirlangan. Ommaviy oshkor etilishi — 2024 yil 29 mart.

Bu holatning xususiyati — uzoq tayyorgarlik. Wikipedia tavsifiga ko‘ra, «Jia Tan» nomli foydalanuvchi 2021 yildan boshlab ikki yildan ortiq kampaniya olib borgan, soxta akkauntlar esa asl maintainer huquqlarni topshirguncha unga bosim o‘tkazgan. Zararli qism reliz arxivlarida bo‘lgan, Git repozitoriysining o‘zida emas, shuning uchun GitHub'dagi manba kodini ko‘rish uni ko‘rsatmagan. Kampaniya tasodifan payqalgan.

Saboq: kod review va repozitoriyni skanerlash yetarli emas; amalda yig‘ishga tushayotgan narsani ham tekshirish va reliz artefaktlarini manba kodlari bilan solishtirish kerak.

Shai-Hulud (2025 yil sentyabr): npm'dagi qurt

2025 yil 23 sentyabrda AQSh agentligi CISA npm ekotizimining keng ko‘lamli buzilishi haqida ogohlantirish chiqardi. O‘z-o‘zini ko‘paytiruvchi Shai-Hulud qurti 500 dan ortiq paketni zararladi. Dasturchi muhitiga tushgach, u hisob ma’lumotlarini, jumladan GitHub tokenlari va AWS, Google Cloud va Azure API kalitlarini qidirgan, ularni tajovuzkorlar serveriga yuborgan va ommaviy repozitoriyga joylagan. So‘ng qurt npm'da dasturchi nomidan autentifikatsiyadan o‘tib, uning boshqa paketlarining zararlangan versiyalarini e’lon qilgan. Shunday qilib u keyin ham tarqalgan.

CISA tavsiyalari: bloklash fayllarini (package-lock.json, yarn.lock) ta’sirlangan paketlar, shu jumladan ichma-ich joylashganlari bo‘yicha tekshirish; artefaktlar repozitoriylarida keshlangan nusxalarni topish; 2025 yil 16 sentyabrgacha chiqarilgan versiyalarni qotirish; dasturchilarning barcha hisob ma’lumotlarini almashtirish; GitHub va npm uchun fishingga chidamli MFA'ni yoqish; chiquvchi ulanishlarni cheklash.

Saboq: dasturchining sizib chiqqan tokeni tarqalish kanaliga aylanadi. Bu yerda sirlar va ta’minot zanjiri — bir va o‘sha muammo (sirlarni boshqarishga qarang).

Bu nima uchun Markaziy Osiyodagi kompaniyalarga ham taalluqli

Mintaqa banklari va moliya kompaniyalari ilovalarni butun dunyo kabi o‘sha npm, PyPI, Maven va NuGet'da ishlab chiqadi. Mintaqaviy geografiyaning o‘zi himoya qilmaydi: CERT-EU'ning ua-parser-js tavsifida Qozog‘iston mayner Linux-varianti ishga tushmagan mamlakatlar qatorida tilga olingan, parollarni o‘g‘irlaydigan Windows-tarmog‘i uchun bunday istisno ko‘rsatilmagan. Bundan tashqari, dasturchilar ko‘pincha internetga proksi orqali chiqadigan yopiq konturlardan ishlaydi, u yerda paketlarni to‘g‘ridan-to‘g‘ri o‘rnatishning bitta nazoratsiz kanali himoyani yo‘qqa chiqaradi.

Qanday himoyalanish kerak: amaliy choralar

1. Sizda nima borligini biling

Inventarsiz «biz ta’sirlanganmizmi?» degan savolga tez javob berib bo‘lmaydi. Har bir yig‘ishda SBOM shakllantiring va uni relizi bilan birga saqlang. Batafsil — «SBOM nima» maqolasida. Sonatype Lifecycle kabi SCA vositalari zaif va zararli komponentlarni topadi va ular qaysi ilovalarda ishlatilishini ko‘rsatadi.

2. Internet va yig‘ish o‘rtasiga shlyuz qo‘ying

Barcha bog‘liqliklar ichki artefaktlar menejeri orqali o‘tishi kerak, yig‘uvchi agentlarning npmjs.com va PyPI'ga to‘g‘ridan-to‘g‘ri kirishini yopish kerak. Bu nazorat nuqtasini beradi. Sonatype Repository Firewall zararli va zaif paketlarni yuklab olish paytida bloklaydi, shubhali komponentlarni karantinga joylaydi va xavfsiz deb topilganlarini avtomatik chiqaradi. Siyosatlarni paket yoshi, xavf darajasi va litsenziya bo‘yicha qurish mumkin. Mahsulot Nexus Repository uchun mo‘ljallangan, boshqa repozitoriy-menejerlar uchun Sonatype'da Firewall Pro bor. Tanlov haqida batafsil — Nexus Repository vs Artifactory.

3. Versiyalarni qotiring va yangilanishlarni tekshiring

  • Lock-fayllardan foydalaning va diapazonlarni emas, versiyalarni qayd eting.
  • «Yangilik karantini»ni joriy qiling: yaqinda e’lon qilingan versiyani, u tekshirilmaguncha, yig‘ishga qabul qilmang. Ko‘plab hujumlar dastlabki soatlarda yoki kunlarda aniqlanadi.
  • O‘rnatish skriptlaridagi (preinstall, postinstall) shubhali o‘zgarishlarni kuzating.

4. Hisob yozuvlari va sirlarni himoya qiling

  • GitHub, npm va PyPI'da fishingga chidamli MFA'ni yoqing.
  • Tokenlarni dasturchilarning muhit o‘zgaruvchilarida va repozitoriylarda ochiq ko‘rinishda saqlamang. Sirlar ombori va qisqa muddatli hisob ma’lumotlaridan foydalaning.
  • Ommaviy rotatsiya tartibini tayyorlang: Shai-Hulud kabi insidentdan keyin hammasini almashtirishga to‘g‘ri keladi.

5. O‘z kodingiz va yig‘ishni tekshiring

Yashirin kod sizning pudratchingiz orqali ham, ichki paket orqali ham tushishi mumkin. SAST va binar tahlil o‘z kodingizda va uchinchi tomon yig‘malarida deklaratsiya qilinmagan imkoniyatlarni topishga yordam beradi. Vositalar sinflari haqida — SAST, DAST, SCA va MAST maqolasida.

6. Javob berishga tayyorlaning

Oldindan belgilang: paketni bloklash haqida qarorni kim qabul qiladi, komponent bor barcha ilovalarni qanchalik tez topa olasiz, zararlangan versiyani qanday almashtirasiz va zararli kod yig‘ish serverlarida hamda dasturchilar mashinalarida bajarilmaganini qanday tekshirasiz.

Nimadan boshlash kerak

  1. Yig‘ishning tashqi reyestrlarga to‘g‘ridan-to‘g‘ri kirishini yoping va uni artefaktlar menejeri orqali yo‘naltiring.
  2. Kritik ilovalar uchun tarkibni skanerlash va SBOM shakllantirishni yoqing.
  3. Zararli paketlarni bloklash va yangi versiyalarni karantinga olish siyosatlarini sozlang.
  4. Tokenlar revizyasini o‘tkazing va dasturchilar uchun MFA'ni yoqing.
  5. «Zararli paket topildi» stsenariysini mashq qiling.

Ko‘p so‘raladigan savollar

Zararli paket zaif paketdan nimasi bilan farq qiladi?
Zaif paketda undan foydalanish mumkin bo‘lgan xato bor (masalan, Log4Shell). Zararli paket hujum uchun yaratilgan yoki o‘zgartirilgan: o‘rnatishda kodni bajarish, parollarni o‘g‘irlash, yashirin kod. Birinchilari uchun yangilash kerak, ikkinchilari uchun — zudlik bilan o‘chirish va sirlarni rotatsiya qilish.
CI'da bog‘liqliklarni shunchaki skanerlash yetarlimi?
Har doim emas. Zararli o‘rnatish skripti skanerlash natijalari dasturchiga yetib borguncha bajarilishi mumkin. Shuning uchun artefaktlar repozitoriysiga kirishda tekshiruv (bloklash va karantin) CI'dagi skanerlashni to‘ldiradi.
Zararlangan paketni o‘rnatib qo‘ysak nima qilish kerak?
Ta’sirlangan mashinalar va yig‘uvchi agentlarni izolyatsiya qilish, paketni o‘chirish, u tushgan bo‘lishi mumkin bo‘lgan barcha ilovalar va obrazlarni topish hamda shu mashinalardan mavjud barcha hisob ma’lumotlari va tokenlarni almashtirish. Ogohlantirishni e’lon qilgan tashkilot, masalan CISA yoki CERT-EU tavsiyalariga tayaning.
SBOM hujumning oldini olishga yordam beradimi?
O‘z-o‘zidan yo‘q, lekin u javobni tezlashtiradi: ta’sirlangan komponent qayerda ishlatilishini daqiqalar ichida ko‘rasiz. Oldini olishga SBOM, paketlarni qabul qilish siyosatlari va sirlar himoyasi uyg‘unligi yordam beradi.

Yig‘ishlaringizga nima tushayotganini tekshirib, zararli paketlarga kirishni yopmoqchimisiz? AST Cyber Lab Qozog‘iston va Markaziy Osiyodagi Sonatype distribyutori sifatida loyihalaringizda Repository Firewall va Lifecycle pilotini o‘tkazadi.

Sonatype pilotini so‘rash

Manbalar

Mavzu bo‘yicha yechimlar
Maslahat

Ilovalaringizni ishlab chiqishning barcha bosqichlarida himoya qilamiz.

Vazifangiz haqida aytib bering — AST Cyber Lab mutaxassislari yechim tanlab, demo o‘tkazadi va joriy etishda yordam beradi.