Hivi majuzi Xygeni iliona muundo unaohusu mashambulizi ya mnyororo wa usambazaji wa programu mwaka wa 2025., inayojitokeza katika wasimamizi wawili maarufu wa vifurushi: PyPI na npmKama sehemu ya juhudi zetu zinazoendelea za kijasusi kuhusu vitisho,Onyo la Mapema la Programu Hasidi ya Xygeni (MEW) chombo kilitambua mfano tofauti lakini unaofanana kimfumo wa kifurushi hasidi kilichopakiwa kwenye sajili nyingine hapo awali. Kesi hii inaangazia jinsi wahusika wa vitisho wanavyobadilika na kutumia tena mbinu za mashambulizi katika mifumo ikolojia, hasa kupitia vifurushi vya Python vyenye madhara na vifurushi vya npm vibaya, jambo ambalo huongeza hatari ya vifurushi hasidi kupenya minyororo ya usambazaji wa chanzo huria.
MEW ya Xygeni: Kugundua Kufanana
Zana ya Xygeni ya MEW imeundwa ili kugundua na kuashiria vifurushi hasidi, haswa vile vilivyounganishwa na Mashambulizi ya Mnyororo wa Ugavi wa Programu mnamo 2025, mara tu vinapochapishwa kwenye sajili za programu huria. Inafanya kazi kwa kuchanganua vifurushi vipya kwa tabia ya kutiliwa shaka.
Katika hali hii, ilibainisha mbili vifurushi vya Python vyenye madhara (graphalgo kwenye PyPI) na vifurushi vya npm vibaya (express-cookie-parser kwenye npm).
Vifurushi vya Python na npm Hasidi katika Mashambulizi ya Mnyororo wa Ugavi wa Programu (2025)
Hebu tuchunguze sifa zilizoshirikiwa zilizosababisha arifa zetu:
Kupiga chapa kwa kutumia typosquatting
Wote wawili walijaribu kuiga vifurushi maarufu vilivyopo.
- grafu (PyPI): "Kifurushi cha Python cha kuunda na kudhibiti grafu na mitandao.Imepakiwa na mtumiaji anayeitwa "Teknolojia ya Larry" Mnamo Juni 13, 2025, kifurushi hiki kilijiwasilisha kama mbadala wa PyPi kwa mradi wa awali wa graphalgo usio na madhara, ambao baadaye ulibadilishwa jina na kuitwa graphdict.
- kichanganuzi-cha-vidakuzi-vya-haraka (npm): Kifurushi hiki kiliiga kifurushi kinachojulikana cha cookie-parser, hata kikiakisi README.md. Uigaji kama huo ni mbinu ya kawaida ya kutumia uaminifu uliopo.
Kujificha kama Mstari wa Kwanza wa Ulinzi
Vifurushi vyote viwili vilificha msimbo wao hasidi ndani ya faili asili. grafalgo, msimbo uliofichwa ulipatikana ndani ya /utils/load_libraries.py. Katika kesi ya kichanganuzi-cha-vidakuzi-vya-haraka, cookie-loader.min.js ilikuwa na mzigo wa mzigo uliofichwa.
Safu hii ya awali ya ufumbo kwa kawaida hutumika kuzuia ukaguzi wa kawaida na uchanganuzi tuli. Ufumbo ulikuwa rahisi sana: ufinyanzi wa ZLib unaorudiwa pamoja na usimbaji wa Base64. Aina hii ya ufumbo inaonyesha wazi kwamba programu inajaribu kuficha tabia yake. Pamoja na ushahidi mwingine, hii iliruhusu Xygeni MEW kuainisha vifurushi kama programu hasidi inayowezekana. Wakati wa hatua ya uthibitisho, wakaguzi wetu waliandaa mara moja hati ya ufumbo ambayo ilifichua hatua ya ufumbo hasidi iliyo wazi.
Uwasilishaji wa Mizigo ya Hatua Nyingi na Sehemu ya Asili Iliyoshirikiwa
Vifurushi vyote viwili vilifanya kazi kama "awali"wateremshaji,” wakiweka msingi wa mzigo halisi. Walishiriki wazo la nje la kawaida “mbegu"URL ya faili:https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
Faili hii ya mbegu ya nje inayofanana ni kiashiria kikubwa cha mhusika wa vitisho vya pamoja. Cha kufurahisha ni kwamba, maudhui ya faili hii ya mbegu yanaonekana kuwa vigeu rahisi vya mazingira (km, JWT_SECRET, PORT), ambavyo vinaweza kupotosha ukaguzi kwa utendaji wake halisi.
Azimio la C2 lenye Nguvu na DGA
Mbinu tata inayoonekana katika vifurushi hivi hasidi ni matumizi ya Algorithm ya Kizazi cha Kikoa (DGA) ili kutatua seva ya Amri na Udhibiti (C2) kwa njia inayobadilika. Mbinu hii, ambayo mara nyingi huonekana katika mashambulizi ya mnyororo wa usambazaji wa programu ya hali ya juu mnamo 2025, inategemea hashi ya SHA256 inayotokana na maudhui ya faili ya mbegu, pamoja na thamani zingine ngumu. Kwa kufanya hivyo, miundombinu ya C2 hubadilika mara kwa mara, na kufanya orodha nyeusi ya kitamaduni isifanye kazi vizuri. Katika hali hii, lahaja ya npm ilitumia thamani isiyobadilika ya 496AAC7E kama sehemu ya mantiki yake ya DGA.
Kuanzisha Uvumilivu
Washambuliaji wote wawili walitaka kuanzisha uwepo wa kudumu kwenye mifumo iliyoathiriwa. Mkakati wao ulihusisha kuachilia faili, startup.py (kwa PyPi) au startup.js (kwa npm), katika saraka za data za mtumiaji za Google Chrome katika mifumo mbalimbali ya uendeshaji (Windows, Linux, macOS).
Usafi wa Baada ya Utekelezaji
Ili kupunguza athari, hati zote mbili hasidi zilifanya shughuli za usafi. Hii ilijumuisha kufuta faili zao za awali za matone (dropper)load_libraries.py, cookie-loader.min.js) na kurekebisha faili halali za kifurushi (__init__.py, index.js) ili kuondoa marejeleo ya vipengele vilivyofutwa sasa.
Viashiria vya Maelewano katika Vifurushi vya Python na npm Hasidi
- Kifurushi cha PyPI: graphalgo (iliyochapishwa na larrytech, Juni 13, 2025)
- Kifurushi cha npm: kichanganuzi-cha-kidakuzi cha express (hasa toleo la 1.4.12)
- Ufikiaji wa URL ya Mbegu Iliyoshirikiwa:
https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
- Majina ya Faili Yanayoendelea:
startup.py(Chatu)startup.js(JavaScript) - Njia za Kawaida Zinazoendelea (zinategemea OS)Ndani ya saraka za data za mtumiaji wa Google Chrome (km.,
AppData\Local\Google\Chrome\UserData\Scripts\kwenye Windows,~/.config/google-chrome/Scripts/kwenye Linux, nk.).
Jinsi ya Kujilinda Dhidi ya Vifurushi Hasidi katika Mashambulizi ya Mnyororo wa Ugavi wa Programu 2025
Mbinu Inayopendekezwa kwa Wasanidi Programu
Tukio hili linatumika kama utafiti muhimu katika mazingira ya vitisho yanayobadilika ya mashambulizi ya mnyororo wa usambazaji wa programu mnamo 2025. Linaangazia jinsi vifurushi hasidi vya Python na vifurushi hasidi vya npm vinavyoweza kuingia katika mifumo ikolojia inayoaminika, mara nyingi huepuka kugunduliwa hadi kuchelewa sana. Ndiyo maana kugundua mapema, zana mahiri, na usafi wa mfumo makini sasa ni sehemu muhimu za mtiririko wowote salama wa kazi wa DevOps. Wasanidi programu wanahimizwa kuzingatia yafuatayo:
Mapitio ya Utegemezi
Ikiwa miradi yako imejumuisha grafalgo or kichanganuzi-cha-vidakuzi-vya-haraka, itakuwa busara kuendelea na kuondolewa kwao.
- Kwa PyPI:
pip uninstall graphalgo - Kwa saa sita mchana:
npm uninstall express-cookie-parser
Usafi wa Mfumo
Fikiria kufanya uchanganuzi kamili wa mfumo. Pia inashauriwa kuangalia mwenyewe njia za kawaida za saraka ya data ya mtumiaji wa Chrome kwa chochote kisichotarajiwa. startup.py or startup.js files.
Hatua za Usalama Makini
- Tathmini Utegemezi Mpya: Anzisha utaratibu wa kutathmini vifurushi vipya kwa kina kabla ya kuunganishwa, ukizingatia vile kutoka kwa wachapishaji wasiowajua.
- Unganisha Zana za UsalamaZana kama vile MEW ya Xygeni, pamoja na Uchambuzi mwingine wa Utunzi wa Programu (SCA) suluhisho, zinaweza kutoa safu muhimu ya ulinzi kwa kutambua tabia na udhaifu unaotiliwa shaka.
- Haki Ndogo ZaidiMazingira ya maendeleo ya uendeshaji yenye kanuni ya upendeleo mdogo yanaweza kusaidia kupunguza athari zinazoweza kutokea kutokana na maelewano.
- Uelewa wa Mtandao: Kufuatilia trafiki ya mtandao inayotoka kwa miunganisho isiyo ya kawaida wakati mwingine kunaweza kufichua mawasiliano ya C2 yanayotokana na DGA.
Vipengele Muhimu vya load_libraries.py (kutoka kwa grafu)
download_remote_content(): Hushughulikia uchukuaji wa faili kutoka kwa URL maalum.run_process(): Hutekeleza hati za nje za Python kwa njia iliyotengwa, ikikandamiza matokeo ili yabaki ya siri.get_output_file_path(): Huamua eneo bora la mfumo kwa faili ya startup.py inayoendelea.remove_self(): Hupanga usafishaji wa faili hasidi za awali na marekebisho ya vifurushi baada ya utekelezaji.simple_shift_encrypt()/simple_shift_decrypt(): Kazi maalum za usimbaji fiche kwa ajili ya kuficha njia za mawasiliano, muhimu kwa utekelezaji wa DGA.load_libraries(): Kipengele kikuu kinachoratibu mchakato mzima wa hatua nyingi, kuanzia upakuaji wa awali hadi utekelezaji wa mwisho wa mzigo na usafishaji.
Aftermath
Kama ilivyo kwa vifurushi vingine vinavyoweza kuwa na madhara vilivyotambuliwa na MEW, ngome ya utegemezi iliwalinda mara moja watumiaji ambao wangejumuisha vifurushi hivi hatari katika utegemezi wao. Baada ya uthibitisho, tulifuata taratibu za arifa kwa sajili zote mbili, ambazo baada ya ukaguzi ziliondoa vifurushi vyote viwili.





