Šta se desilo?

Četiri zvanični SAP npm paketi su kompromitovani u napadu na snabdevni lanac (supply-chain) koji se povezuje sa grupom TeamPCP. Napadači su ubacili zlonamerni kod koji automatski prikuplja osetljive akreditive i tokene iz razvojnih mašina i CI/CD okruženja programera kada instaliraju pogođene pakete.

Koga pogađa?

Primarno su ugroženi razvojni inženjeri i organizacije koje koriste SAP Cloud Application Programming Model (CAP) i Cloud MTA frameworke. Rizik je posebno velik za preduzeća koja koriste pogođene pakete u svom CI/CD procesu, jer malver može direktno pristupiti tajnama iz runner okruženja. Pogođeni su i sistemi koji imaju instaliran bilo koji od četiri kompromitovana paketa.

Kako se zaštititi?

  • Odmah deinstalirajte i ažurirajte sve SAP npm pakete (@cap-js/sqlite, @cap-js/postgres, @cap-js/db-service, mbt) na verzije novije od navedenih pogođenih verzija
  • Regenerišite sve npm, GitHub, SSH i cloud akreditive (AWS, Azure, Google Cloud) ako ste koristili pogođene verzije paketa
  • Proverite sve autentifikacijske tokene u CI/CD okruženju i sistema za upravljanje tajnama, posebno u GitHub repozitorijumima
  • Pregledajte GitHub račune za neobične aktivnosti - kreirane repozitorijume sa opisom "A Mini Shai-Hulud has Appeared"
  • Implementirajte monitoring za sve npm instalacije i preuzimanja paketa iz ovog izdavača
  • Izvršite forenzičku analizu svih mašina na kojima je instaliran osetljiv paket
  • Ažurirajte svu zlonamernsku zaštitu i sigurnosne alate na razvojnim mašinama

Tehnički detalji

Pogođeni paketi i verzije: @cap-js/sqlite v2.2.2, @cap-js/postgres v2.2.2, @cap-js/db-service v2.10.1, mbt v1.2.48. Malver se aktivira kroz zlonamerni "preinstall" skript koji se izvršava automatski tokom instalacije npm paketa. Skript učitava Bun JavaScript runtime iz GitHub-a i izvršava obfuskiran payload (execution.js) koji funkcioniše kao information stealer. Prikuplja npm i GitHub tokene, SSH ključeve, cloud akreditive (AWS, Azure, GCP), Kubernetes konfiguracije, CI/CD tajne i varijable okruženja. Na CI runner okruženjima, malver koristi Python skript koji direktno pristupa /proc/<pid>/maps i /proc/<pid>/mem procesima kako bi ekstrakcijom iz memorije zaobišao sve mehanizme maskiranja logova. Prikupljeni podaci se enkriptuju i učitavaju na javne GitHub repozitorijume koje kreira malver pod žrtvinim nalogom. Malver koristi GitHub commit poruke u formatu "OhNoWhatsGoingOnWithGitHub:<base64>" kao dead-drop mehanizam za distribuciju dodatnih tokena. Kod također omogućava samošireće ponašanje korišćenjem ukrađenih akreditivia za izmenu drugih paketa i repozitorijuma.

Preporuka Sajber Radara

Ovo je ozbiljna prijetnja za sve organizacije koje koriste SAP razvojne alate. Preporučujemo da odmah proverite koju verziju paketa koristite i da hitno sprovede predložene korake zaštite, posebno regeneraciju svih akreditivia i tokena.