Mga Pag-atake sa Supply Chain ng Software 2025 - mga malisyosong pakete - mga malisyosong pakete ng python - mga malisyosong pakete ng npm

Isang Masusing Pagtingin sa mga Pag-atake sa Supply Chain ng Software sa 2025: Paghahambing ng mga Kampanya ng PyPI at npm

Kamakailan lamang ay naobserbahan ng Xygeni ang isang nakababahalang padron sa tanawin ng mga pag-atake sa supply chain ng software sa 2025, na lumilitaw sa dalawang sikat na tagapamahala ng pakete: PyPI at npmBilang bahagi ng aming patuloy na pagsisikap sa paniktik sa banta,Maagang Babala sa Malware ng Xygeni (MEW) Natukoy ng tool ang isang natatanging ngunit magkatulad na metodolohiyang halimbawa ng isang malisyosong pakete na na-upload sa ibang registry dati. Itinatampok ng kasong ito kung paano umuunlad at muling ginagamit ng mga aktor ng banta ang mga diskarte sa pag-atake sa iba't ibang ecosystem, lalo na sa pamamagitan ng mga malisyosong pakete ng Python at malisyosong npm packages, na nagpapataas ng panganib ng mga malisyosong pakete na nakakalusot sa mga open source supply chain.

Xygeni's MEW: Pagtuklas sa mga Pagkakatulad

Ang MEW tool ng Xygeni ay ginawa upang matukoy at mamarkahan ang mga malisyosong pakete, lalo na ang mga nauugnay sa Software Supply Chain Attacks noong 2025, sa sandaling mailathala ang mga ito sa mga open-source registry. Gumagana ito sa pamamagitan ng pagsusuri ng mga bagong pakete para sa kahina-hinalang pag-uugali.

Sa pagkakataong ito, natukoy nito ang dalawang mga malisyosong pakete ng Python (graphalgo sa PyPI) at malisyosong npm packages (express-cookie-parser sa npm).

Mga Malisyosong Pakete ng Python at npm sa mga Pag-atake sa Supply Chain ng Software (2025)

Suriin natin ang mga ibinahaging katangian na nag-trigger sa ating mga alerto:

Typosquatting

Pareho nilang sinubukang gayahin ang mga sikat at kasalukuyang pakete.

  • graphalgo (PyPI)"Pakete ng Python para sa paglikha at pagmamanipula ng mga graph at network."Na-upload ng isang user na nagngangalang "larrytech" Noong Hunyo 13, 2025, iniharap ng paketeng ito ang sarili bilang isang alternatibo sa PyPi sa orihinal na proyektong graphalgo na hindi nakakapinsala, na kalaunan ay pinalitan ng pangalan na graphdict.
  • express-cookie-parser (npm)Ginaya ng paketeng ito ang kilalang pakete ng cookie-parser, na ginagaya pa nga ang README.md. Ang ganitong panggagaya ay isang klasikong taktika upang magamit ang umiiral na tiwala.

Obfuscation bilang Unang Linya ng Depensa

Parehong pinalabo ng mga pakete ang kanilang malisyosong code sa loob ng mga orihinal na file. Para sa grapalgo, ang natabunan na code ay natagpuan sa loob ng /utils/load_libraries.py. Sa kaso ng express-cookie-parser, cookie-loader.min.js naglalaman ng natatakpang kargamento.

Ang unang patong na ito ng obfuscation ay karaniwang ginagamit upang hadlangan ang kaswal na inspeksyon at static analysis. Ang obfuscation ay medyo simple: paulit-ulit na ZLib compression kasama ang Base64 encoding. Ang ganitong uri ng obfuscation ay malinaw na nagpapahiwatig na sinusubukan ng software na itago ang pag-uugali nito. Kasama ng iba pang ebidensya, nagbigay-daan ito sa Xygeni MEW na uriin ang mga pakete bilang potensyal na malware. Sa yugto ng pagkumpirma, agad na naghanda ang aming mga tagasuri ng isang deobfuscation script na nagsiwalat sa malinaw na malisyosong dropper stage.

Paghahatid ng Payload na May Maraming Yugto at Isang Ibinahaging Pinagmulan

Ang parehong pakete ay gumana bilang paunang "mga dumi," na naghahanda ng entablado para sa tunay na kargamento. Nagbahagi sila ng isang karaniwang panlabas na "magbigay ng binhi"URL ng file:
https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example

Ang magkaparehong panlabas na seed file na ito ay isang malakas na indikasyon ng isang ibinahaging aktor ng banta. Kapansin-pansin, ang nilalaman ng seed file na ito ay tila mga simpleng environment variable (hal., JWT_SECRET, PORT), na posibleng nakaliligaw sa inspeksyon sa aktwal nitong tungkulin.

Dinamikong Resolusyon ng C2 na may DGA

Isang sopistikadong taktika na naobserbahan sa mga malisyosong paketeng ito ay ang paggamit ng Domain Generation Algorithm (DGA) upang dynamic na maresolba ang Command and Control (C2) server. Ang pamamaraang ito, na kadalasang nakikita sa mga advanced na pag-atake sa supply chain ng software noong 2025, ay umaasa sa isang SHA256 hash na nagmula sa nilalaman ng seed file, na sinamahan ng iba pang mga hardcoded na halaga. Sa paggawa nito, ang imprastraktura ng C2 ay madalas na nagbabago, na ginagawang mas hindi epektibo ang tradisyonal na blacklisting. Sa kasong ito, ang variant ng npm ay gumamit ng isang nakapirming halaga na 496AAC7E bilang bahagi ng lohika ng DGA nito.

Pagtatatag ng Pagtitiyaga

Parehong naghangad ang mga umaatake na magtatag ng pangmatagalang presensya sa mga apektadong sistema. Ang kanilang estratehiya ay kinabibilangan ng pag-alis ng isang file, startup.py (para sa PyPi) o startup.js (para sa npm), sa mga karaniwang direktoryo ng datos ng gumagamit ng Google Chrome sa iba't ibang operating system (Windows, Linux, macOS).

Paglilinis Pagkatapos ng Pagpatupad

Para mabawasan ang mga bakas, nagsagawa ng mga operasyon sa paglilinis ang parehong malisyosong script. Kabilang dito ang pagbura sa kanilang mga unang dropper file (load_libraries.py, cookie-loader.min.js) at pagbabago ng mga lehitimong file ng pakete (__init__.py, index.js) para alisin ang mga sanggunian sa mga bahaging tinanggal na ngayon.

Mga Indikasyon ng Kompromiso sa Malicious Python at npm Packages

  • Pakete ng PyPI: graphalgo (inilathala ng larrytech, Hunyo 13, 2025)
  • Pakete ng npm: express-cookie-parser (partikular na bersyon 1.4.12)
  • Pag-access sa URL ng Ibinahaging Binhi

https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example

  • Mga Patuloy na Pangalan ng File: startup.py (Python) startup.js (JavaScript)
  • Mga Karaniwang Patuloy na Landas (nakasalalay sa OS): Sa loob ng mga direktoryo ng datos ng gumagamit ng Google Chrome (hal., AppData\Local\Google\Chrome\UserData\Scripts\ sa Windows, ~/.config/google-chrome/Scripts/ sa Linux, atbp.).

Paano Ipagtanggol Laban sa mga Malisyosong Pakete sa mga Pag-atake ng Software Supply Chain 2025

Isang Inirerekomendang Pamamaraan para sa mga Developer

Ang insidenteng ito ay nagsisilbing isang mahalagang pag-aaral ng kaso sa umuusbong na tanawin ng banta ng mga pag-atake sa supply chain ng software sa 2025. Itinatampok nito kung paano maaaring makapasok ang mga malisyosong pakete ng Python at malisyosong pakete ng npm sa mga pinagkakatiwalaang ecosystem, na kadalasang umiiwas sa pagtuklas hanggang sa huli na ang lahat. Kaya naman ang maagang pagtuklas, matalinong paggamit ng mga kagamitan, at proactive na kalinisan ng sistema ay mahahalagang bahagi na ngayon ng anumang ligtas na daloy ng trabaho ng DevOps. Hinihikayat ang mga developer na isaalang-alang ang mga sumusunod:

Pagsusuri sa Dependency

Kung kasama sa iyong mga proyekto ang grapalgo or express-cookie-parser, makabubuting ituloy ang pag-aalis sa mga ito.

  • Para sa PyPI: pip uninstall graphalgo
  • Para sa npm: npm uninstall express-cookie-parser

Kalinisan ng Sistema

Isaalang-alang ang pagsasagawa ng komprehensibong system scan. Maipapayo rin na manu-manong suriin ang mga karaniwang path ng direktoryo ng data ng gumagamit ng Chrome para sa anumang hindi inaasahang startup.py or startup.js file.

Mga Proaktibong Panukala sa Seguridad

  • Suriin ang mga Bagong DependencyMagtatag ng isang gawain upang masusing suriin ang mga bagong pakete bago ang integrasyon, na nakatuon sa mga mula sa mga hindi pamilyar na publisher.
  • Pagsamahin ang mga Tool sa SeguridadMga kagamitan tulad ng MEW ni Xygeni, kasama ang iba pang Software Composition Analysis (SCA) mga solusyon, ay maaaring magbigay ng isang kritikal na patong ng depensa sa pamamagitan ng pagtukoy sa mga kahina-hinalang pag-uugali at kahinaan.
  • Pinakamababang PribilehiyoAng mga operating development environment na may prinsipyo ng least privilege ay makakatulong na limitahan ang potensyal na epekto ng isang kompromiso.
  • Kamalayan sa NetworkAng pagsubaybay sa papalabas na trapiko ng network para sa mga hindi pangkaraniwang koneksyon ay maaaring minsan magbunyag ng mga komunikasyong C2 na binuo ng DGA.

Mga Pangunahing Bahagi ng load_libraries.py (mula sa graphalgo)

  • download_remote_content(): Humahawak sa pagkuha ng mga file mula sa mga tinukoy na URL.
  • run_process(): Nagpapatupad ng mga panlabas na script ng Python nang hiwalay, pinipigilan ang output upang manatiling maingat.
  • get_output_file_path(): Tinutukoy ang mainam na lokasyon ng system para sa persistent startup.py file.
  • remove_self(): Inaayos ang paglilinis pagkatapos ng pagpapatupad ng mga unang malisyosong file at mga pagbabago sa package.
  • simple_shift_encrypt() / simple_shift_decrypt()Mga pasadyang tungkuling kriptograpiko para sa pagtatakip ng mga channel ng komunikasyon, mahalaga para sa implementasyon ng DGA.
  • load_libraries(): Ang sentral na tungkulin na nag-uugnay sa buong prosesong may maraming yugto, mula sa unang pag-download hanggang sa huling pagpapatupad at paglilinis ng payload.

Resulta

Tulad ng iba pang mga potensyal na malisyosong pakete na natukoy ng MEW, agad na pinoprotektahan ng dependency firewall ang mga user na magsasama ng mga malisyosong paketeng ito sa kanilang mga dependency. Pagkatapos ng kumpirmasyon, sinunod namin ang mga pamamaraan ng abiso para sa parehong registry, na pagkatapos ng pagsusuri ay inalis ang parehong pakete.

mga tool sa pagsusuri ng komposisyon ng software ng mga tool sa sca
Unahin, ayusin, at i-secure ang mga panganib ng iyong software
Kunin ang Iyong Libreng Account.
Walang kinakailangang credit card.

I-secure ang Iyong Pag-develop at Paghahatid ng Software

kasama ang Xygeni Product Suite