Xygeni nembe niténan pola anu pikahariwangeun dina bentang serangan ranté suplai parangkat lunak dina taun 2025., muncul di dua manajer pakét anu populér: PyPI jeung npmSalaku bagian tina upaya intelijen ancaman anu terus-terusan,Peringatan Dini Malware Xygeni (MEW) alat ieu ngaidéntifikasi conto anu béda tapi sacara metodologis sami tina pakét jahat anu diunggah ka pendaptaran sanés sateuacanna. Kasus ieu nyorot kumaha aktor ancaman mekar sareng nganggo deui téknik serangan di sakumna ékosistem, khususna ngalangkungan pakét Python anu jahat jeung pakét npm jahat, anu ningkatkeun résiko paket jahat anu nyusup kana ranté suplai sumber terbuka.
MEW Xygeni: Néangan Kamiripanna
Alat MEW Xygeni didamel pikeun ngadeteksi sareng nandakeun pakét jahat, khususna anu aya hubunganana sareng Serangan Rantai Pasokan Parangkat Lunak dina taun 2025, pas dipedalkeun ka pendaptaran sumber terbuka. Alat ieu jalanna ku cara nganalisis pakét énggal pikeun paripolah anu curiga.
Dina hal ieu, éta ngaidentipikasi dua pakét Python anu jahat (graphalgo dina PyPI) sareng pakét npm jahat (express-cookie-parser dina npm).
Paket Python sareng npm anu jahat dina Serangan Rantai Pasokan Perangkat Lunak (2025)
Hayu urang telusuri ciri-ciri anu sami anu micu bewara urang:
Tipe-tipe
Duanana nyobian niru pakét populér anu tos aya.
- graphalgo (PyPI)"Pakét Python pikeun nyieun sarta manipulasi grafik sarta jaringan."Diunggah ku pangguna anu namina "larrytech" Dina tanggal 13 Juni 2025, pakét ieu nampilkeun dirina salaku alternatif PyPi pikeun proyék graphalgo anu henteu jahat, anu engkéna diganti nami janten graphdict.
- parser-kuki-ekspres (npm)Paket ieu niru paket cookie-parser anu kasohor, malah ngacaykeunana README.md. Panyamaran sapertos kitu mangrupikeun taktik klasik pikeun ngamangpaatkeun kapercayaan anu tos aya.
Obfuscation salaku Garis Pertahanan Kahiji
Duanana pakét ngabingungkeun kode jahatna dina file aslina. Pikeun grafalgo, kode anu dikaburkan kapanggih di jerona /utils/load_libraries.py. Upami kitu parser-kuki-ekspres, cookie-loader.min.js ngandung muatan anu dikaburkan.
Lapisan awal obfuscation ieu biasana dianggo pikeun ngahalangan pamariksaan kasual sareng analisis statis. Obfuscation-na lumayan saderhana: komprési ZLib anu diulang ditambah encoding Base64. Jinis obfuscation ieu jelas nunjukkeun yén parangkat lunak nyobian nyumputkeun paripolahna. Bareng jeung bukti séjén, ieu ngamungkinkeun Xygeni MEW pikeun ngaklasifikasikeun pakét salaku malware poténsial. Salila tahap konfirmasi, reviewer kami langsung nyiapkeun skrip deobfuscation anu ngungkabkeun tahap dropper anu jelas jahat.
Pangiriman Muatan Multi-Tahap sareng Titik Asal Anu Dibagi
Duanana pakét fungsina salaku awal "droppers," nyetél panggung pikeun muatan anu saleresna. Aranjeunna ngabagi éksternal anu sami "siki"URL koropakna:https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
File seed éksternal anu idéntik ieu mangrupikeun indikator anu kuat tina aktor ancaman anu dibagi. Anu pikaresepeun, eusi file seed ieu sigana mangrupikeun variabel lingkungan anu saderhana (contona, JWT_SECRET, PORT), anu berpotensi nyasabkeun pamariksaan kana fungsi anu saleresna.
Résolusi C2 Dinamis nganggo DGA
Taktik canggih anu dititénan dina pakét jahat ieu nyaéta panggunaan Algoritma Generasi Domain (DGA) pikeun ngarengsekeun server Komando sareng Kontrol (C2) sacara dinamis. Téhnik ieu, anu sering katingali dina serangan ranté suplai parangkat lunak canggih dina taun 2025, ngandelkeun hash SHA256 anu diturunkeun tina eusi file siki, digabungkeun sareng nilai hardcoded anu sanés. Ku cara kitu, infrastruktur C2 sering robih, ngajantenkeun blacklisting tradisional kirang efektif. Dina hal ieu, varian npm nganggo nilai tetep tina 496AAC7E salaku bagian tina logika DGA-na.
Ngadegkeun Persistensi
Duanana panyerang narékahan pikeun ngadegkeun ayana anu langgeng dina sistem anu kapangaruhan. Strategi maranéhanana nyaéta ngaleupaskeun file, startup.py (pikeun PyPi) atanapi startup.js (pikeun npm), kana diréktori data pangguna Google Chrome umum di sababaraha sistem operasi (Windows, Linux, macOS).
Beberesih Saatos Eksekusi
Pikeun ngaminimalkeun tilas, duanana skrip jahat ngalaksanakeun operasi beberesih. Ieu kalebet ngahapus file dropper awalna (load_libraries.py, cookie-loader.min.js) sareng ngarobih file pakét anu sah (__init__.py, index.js) pikeun ngahapus rujukan kana komponén anu ayeuna dihapus.
Indikator Kompromi dina Paket Python sareng npm anu jahat
- Paket PyPI: graphalgo (diterbitkeun ku larrytech, 13 Juni 2025)
- Paket npm: express-cookie-parser (hususna vérsi 1.4.12)
- Aksés ka URL Seed Anu Dibagi:
https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
- Ngaran File anu Terus-terusan:
startup.py(Python)startup.js(JavaScript) - Jalur Persisten Umum (gumantung kana OS): Dina diréktori data pangguna Google Chrome (contona,
AppData\Local\Google\Chrome\UserData\Scripts\dina Windows,~/.config/google-chrome/Scripts/dina Linux, jsb.).
Kumaha Ngajaga Diri tina Paket Jahat dina Serangan Rantai Pasokan Perangkat Lunak 2025
Pendekatan anu Disarankeun pikeun Pamekar
Kajadian ieu janten studi kasus anu berharga dina lanskap ancaman anu terus berkembang tina serangan ranté suplai parangkat lunak dina taun 2025. Ieu nyorot kumaha pakét Python jahat sareng pakét npm jahat tiasa lebet kana ékosistem anu dipercaya, sering nyingkahan deteksi dugi ka telat. Éta sababna deteksi awal, alat pinter, sareng kabersihan sistem proaktif ayeuna janten bagian penting tina alur kerja DevOps anu aman. Pamekar dianjuran pikeun mertimbangkeun hal-hal ieu:
Tinjauan Katergantungan
Upami proyék anjeun parantos kalebet grafalgo or parser-kuki-ekspres, bakal langkung wijaksana upami teraskeun panyabutanana.
- Pikeun PyPI:
pip uninstall graphalgo - Pikeun npm:
npm uninstall express-cookie-parser
Kabersihan Sistem
Pertimbangkeun pikeun ngalaksanakeun scan sistem anu lengkep. Disarankeun ogé pikeun mariksa jalur diréktori data pangguna Chrome umum sacara manual pikeun naon waé anu teu kaduga. startup.py or startup.js payel.
Ukuran Kaamanan Proaktif
- Nileykeun Katergantungan AnyarJieun rutinitas pikeun meunteun sacara saksama pakét anyar sateuacan integrasi, fokus kana pakét ti penerbit anu teu wawuh.
- Ngahijikeun Alat KaamananParabot sapertos MEW Xygeni, sareng Analisis Komposisi Parangkat Lunak anu sanés (SCA) solusi, tiasa nyayogikeun lapisan pertahanan anu penting ku cara ngaidentipikasi paripolah sareng kerentanan anu curiga.
- Hak Istimewa PangsaénaNgoperasikeun lingkungan pamekaran kalayan prinsip hak istimewa anu paling saeutik tiasa ngabantosan ngawatesan dampak poténsial tina kompromi.
- Kasadaran JaringanNgawaskeun lalu lintas jaringan kaluar pikeun sambungan anu teu biasa sakapeung tiasa ngungkabkeun komunikasi C2 anu dihasilkeun ku DGA.
Komponén konci tina load_libraries.py (tina graphalgo)
download_remote_content(): Ngatur nyokot file tina URL anu ditangtukeun.run_process(): Ngajalankeun skrip Python éksternal sacara misah, ngurangan kaluaran supados tetep teu katingali.get_output_file_path(): Nangtukeun lokasi sistem anu idéal pikeun file startup.py anu persistent.remove_self()Ngatur beberesih file jahat awal sareng modifikasi pakét saatos éksekusi.simple_shift_encrypt()/simple_shift_decrypt()Fungsi kriptografi khusus pikeun ngahalangan saluran komunikasi, penting pisan pikeun implementasi DGA.load_libraries()Fungsi sentral anu koordinasi sakabéh prosés multi-tahap, ti mimiti unduhan awal nepi ka palaksanaan sareng beberesih muatan ahir.
ceurik getih
Sapertos pakét anu berpotensi jahat anu diidentipikasi ku MEW, firewall dependensi langsung ngajagi pangguna anu bakal ngalebetkeun pakét jahat ieu kana dependensi na. Saatos konfirmasi, kami nuturkeun prosedur bewara pikeun kadua pendaptaran, anu saatos ditinjau ngahapus duanana pakét.




