Xygenik duela gutxi kezkagarria den eredu bat ikusi du 2025ean software hornikuntza-katearen erasoen paisaian., bi pakete kudeatzaile ezagunetan agertzen: PyPI NPMGure etengabeko mehatxu-inteligentzia ahaleginen barruan,Xygeniren Malwarearen Alerta Goiztiarra (MEW) tresnak aurretik beste erregistro batera igotako pakete gaizto baten instantzia bereizi baina metodologikoki antzekoa identifikatu zuen. Kasu honek mehatxu-eragileek nola eboluzionatzen eta eraso-teknikak berrerabiltzen ari diren ekosistemetan zehar azpimarratzen du, batez ere honen bidez. Python pakete gaiztoak npm pakete gaiztoak, eta horrek pakete gaiztoak kode irekiko hornidura-kateetan sartzeko arriskua handitzen du.
Xygeniren MEW: Antzekotasunak aurkitzea
Xygeniren MEW tresna pakete gaiztoak detektatu eta markatzeko eraikita dago, batez ere 2025eko Software Hornikuntza Kateko Erasoekin lotutakoak, kode irekiko erregistroetan argitaratzen diren bezain laster. Pakete berriak portaera susmagarrien bila aztertuz funtzionatzen du.
Kasu honetan, bi identifikatu zituen Python pakete gaiztoak (graphalgo PyPI-n) eta npm pakete gaiztoak (express-cookie-parser npm-n).
Python eta npm pakete gaiztoak software hornikuntza-katearen erasoetan (2025)
Azter ditzagun gure alertak eragin zituzten ezaugarri partekatuak:
Typosquatting
Biek saiatu ziren dauden pakete ezagunak imitatzen.
- graphalgo (PyPI): "Grafikoak eta sareak sortu eta manipulatzeko Python paketea."Izen bereko erabiltzaile batek igo du" "larrytech" 2025eko ekainaren 13an, pakete hau PyPi alternatiba gisa aurkeztu zen jatorrizko graphalgo proiektu ez-gaiztoaren ordez, geroago graphdict izena hartu zuena.
- express-cookie-parser (npm)Pakete honek cookie-parser pakete ezaguna imitatu zuen, baita bere isla ere egin zuen README.md. Horrelako pertsonaien ordezkapena dagoen konfiantza aprobetxatzeko taktika klasikoa da.
Nahasketa lehen defentsa lerro gisa
Bi paketeek jatorrizko fitxategietan kode gaiztoa lausotu zuten. grafalgo, kode nahasia aurkitu da barruan /utils/load_libraries.py. Kasuan express-cookie-parser, cookie-loader.min.js karga nahasia zeukan barnean.
Hasierako nahasmendu geruza hau normalean ikuskapen arrunta eta analisi estatikoa oztopatzeko erabiltzen da. Nahasmendua nahiko sinplea zen: ZLib konpresio errepikatua gehi Base64 kodeketa. Nahasmendu mota honek argi adierazten du softwareak bere portaera ezkutatzen saiatzen ari dela. Beste froga batzuekin batera, horri esker Xygeni MEW-ek paketeak malware potentzial gisa sailkatu ahal izan zituen. Baieztapen fasean, gure berrikusleek berehala prestatu zuten desnahasmendu script bat, dropper etapa gaiztoa agerian utzi zuena.
Etapa anitzeko karga erabilgarriaren entrega eta jatorri-puntu partekatua
Bi paketeak hasierako “ gisa funtzionatu zuten”tantak", benetako zama-eszenatokia prestatuz. Kanpoko " bat partekatzen zutenhazia"fitxategiaren URLa:https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
Kanpoko hazi-fitxategi berdin hau mehatxu-eragile partekatu baten adierazle sendoa da. Interesgarria da, hazi-fitxategi honen edukia ingurune-aldagai sinpleak direla dirudi (adibidez, JWT_SECRET, PORT), eta horrek bere benetako funtzioa engainatu dezake.
C2 bereizmen dinamikoa DGA batekin
Pakete gaizto hauetan ikusten den taktika sofistikatu bat Domeinu Sorkuntzako Algoritmo (DGA) bat erabiltzea da Komando eta Kontrol (C2) zerbitzaria dinamikoki ebazteko. Teknika hau, 2025ean software hornikuntza-kate aurreratuen erasoetan askotan ikusten dena, hazi-fitxategiaren edukitik eratorritako SHA256 hash batean oinarritzen da, beste balio gogor batzuekin konbinatuta. Horrela, C2 azpiegitura maiz aldatzen da, eta horrek zerrenda beltz tradizionalak askoz ere eraginkorragoak bihurtzen ditu. Kasu honetan, npm aldaerak balio finko bat erabili zuen: 496AAC7E bere DGA logikaren barruan.
Iraunkortasuna ezartzea
Bi erasotzaileek presentzia iraunkorra ezarri nahi zuten kaltetutako sistemetan. Haien estrategiak fitxategi bat botatzea zekarren, startup.py (PyPi-rako) edo startup.js (npm-rentzat), hainbat sistema eragiletan (Windows, Linux, macOS) Google Chrome erabiltzaileen datuen direktorio arruntetan.
Exekuzio osteko garbiketa
Arrastoak minimizatzeko, bi script gaiztoek garbiketa eragiketak egin zituzten. Horrek hasierako dropper fitxategiak ezabatzea barne hartu zuen (load_libraries.py, cookie-loader.min.js) eta pakete-fitxategi legitimoak aldatzen (__init__.py, index.js) orain ezabatutako osagaien erreferentziak kentzeko.
Python eta npm pakete gaiztoetan konprometitutako adierazleak
- PyPI paketea: graphalgo (larrytech-ek argitaratua, 2025eko ekainaren 13an)
- npm paketeaexpress-cookie-parser (zehazki 1.4.12 bertsioa)
- Partekatutako Hazi URLerako sarbidea:
https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
- Fitxategi-izen iraunkorrak:
startup.py(Python)startup.js(JavaScript) - Bide Iraunkor Arruntak (Sistema Operatiboaren araberakoak)Google Chrome erabiltzaileen datuen direktorioetan (adibidez,
AppData\Local\Google\Chrome\UserData\Scripts\Windows-en,~/.config/google-chrome/Scripts/Linuxen, etab.).
Nola defendatu software hornikuntza-katearen erasoetan pakete gaiztoen aurka 2025ean
Garatzaileentzako gomendatutako ikuspegia
Gertakari hau kasu-azterketa baliotsua da 2025ean software-hornikuntza-katearen erasoen mehatxu-paisaia ebolutiboetan. Azpimarratzen du nola Python pakete gaiztoak eta npm pakete gaiztoak ekosistema fidagarrietan sartu daitezkeen, askotan detekzioa saihestuz beranduegi izan arte. Horregatik, detekzio goiztiarra, tresna adimendunak eta sistemaren higiene proaktiboa ezinbestekoak dira orain DevOps lan-fluxu seguru ororen zati gisa. Garatzaileei honako hauek kontuan hartzera animatzen zaie:
Mendekotasun Berrikuspena
Zure proiektuek barne hartu badituzte grafalgo or express-cookie-parser, zuhurra litzateke haien kentzearekin aurrera egitea.
- PyPIrako:
pip uninstall graphalgo - npm-rako:
npm uninstall express-cookie-parser
Sistemaren Higienea
Kontuan hartu sistemaren eskaneatzea. Gomendagarria da, halaber, eskuz egiaztatzea Chrome erabiltzaileen datuen direktorioko bide arruntak, ustekabeko akatsen bat dagoen ikusteko. startup.py or startup.js fitxategiak.
Segurtasun Neurri Proaktiboak
- Ebaluatu mendekotasun berriakEzarri errutina bat pakete berriak integrazioaren aurretik sakonki ebaluatzeko, argitaletxe ezezagunetatik datozenetan arreta jarriz.
- Segurtasun tresnak integratuXygeniren MEW bezalako tresnak, Software Konposizio Analisiarekin batera (SCA) irtenbideek defentsa geruza kritikoa eman dezakete portaera susmagarriak eta ahultasunak identifikatuz.
- Pribilegio txikienaPribilegio txikienaren printzipioarekin garapen-inguruneak erabiltzeak konpromiso baten balizko eragina mugatzen lagun dezake.
- Sarearen KontzientziaKonexio ezohikoak bilatzeko irteerako sareko trafikoa monitorizatzeak batzuetan DGAk sortutako C2 komunikazioak agerian utz ditzake.
-ren funtsezko osagaiak load_libraries.py (graphalgo-tik)
download_remote_content(): Zehaztutako URLetatik fitxategiak eskuratzea kudeatzen du.run_process()Kanpoko Python script-ak modu independentean exekutatzen ditu, irteera ezabatzen diskretua izan dadin.get_output_file_path(): Startup.py fitxategi iraunkorraren sistemaren kokapen aproposa zehazten du.remove_self()Hasierako fitxategi gaiztoen eta paketeen aldaketen exekuzio osteko garbiketa antolatzen du.simple_shift_encrypt()/simple_shift_decrypt()Komunikazio-kanalak estaltzeko funtzio kriptografiko pertsonalizatuak, DGA inplementaziorako ezinbestekoak.load_libraries()Hasierako deskargatik hasi eta azken kargaren exekuzio eta garbiketaraino, hainbat etapatan banatutako prozesu osoa koordinatzen duen funtzio nagusia.
Kolpe
MEW-ek identifikatutako beste pakete gaizto potentzialekin gertatzen den bezala, mendekotasun-suebakiak berehala babestu zituen pakete gaizto horiek beren mendekotasunetan sartuko zituzten erabiltzaileak. Berretsi ondoren, bi erregistroetarako jakinarazpen-prozedurak jarraitu genituen, eta berrikusi ondoren, bi paketeak kendu zituzten.





