Malvérový npm balík indexed-btree skrýval kód až za behu aplikácie

Analýza Checkmarx odhalila npm balík indexed-btree, ktorý napodobňoval legitímnu knižnicu a aktivoval škodlivý loader priamo počas behu aplikácie.

Malvérový npm balík indexed-btree ukrýval škodlivý loader priamo v kóde knižnice, nie v inštalačných skriptoch. Analýzu 17. septembra 2026 zverejnila spoločnosť Checkmarx, podľa ktorej balík napodobňoval legitímny projekt sorted-btree.

Prípad upozorňuje na riziko v dodávateľskom reťazci JavaScriptu: kontrola závislostí, ktorá sa sústreďuje iba na skripty preinstall a postinstall, nemusí podobné správanie zachytiť. Škodlivá aktivita sa totiž mala spustiť až pri bežnom použití knižnice v aplikácii.

Malvérový npm balík indexed-btree v runtime kóde

Checkmarx uviedol, že loader bol vložený do metódy BTree.prototype.set. Tá je súčasťou implementácie stromovej dátovej štruktúry, takže škodlivý kód nebol odkázaný na automatické vykonanie pri inštalácii balíka.

Loader sa podľa analýzy aktivoval iba po splnení konkrétnej podmienky počas behu aplikácie. Následne zbieral informácie o hostiteľskom systéme. Checkmarx popísal exfiltráciu dát cez Telegram a Slack, ako aj použitie smart kontraktu v sieti Ethereum Sepolia ako komunikačného kanála C2, teda infraštruktúry na riadenie škodlivého kódu.

Výskumníci spojili túto operáciu s ďalšími deviatimi npm balíkmi. Podľa Checkmarx boli následne odstránené. Snyk pri indexed-btree eviduje všetky verzie ako škodlivé a uvádza, že obsah balíka bol odstránený z oficiálneho npm registra.

Prečo runtime spúšťač komplikuje kontrolu závislostí

Inštalačné skripty npm patria medzi časté miesta, ktoré bezpečnostné nástroje a vývojári preverujú, pretože môžu spúšťať ľubovoľné príkazy počas pridania závislosti. V tomto prípade však Checkmarx neidentifikoval použitie skriptov preinstall ani postinstall.

Malvérový npm balík indexed-btree preto predstavoval riziko až v okamihu, keď aplikácia zavolala dotknutú funkciu a boli splnené podmienky loadera. Absencia lifecycle skriptu tak sama osebe nie je potvrdením, že npm závislosť je bezpečná.

Čo zatiaľ nie je potvrdené

Checkmarx vo svojej analýze poukázal na vysoký počet stiahnutí, no tento údaj nepreukazuje počet systémov, na ktorých bol balík skutočne spustený, ani počet kompromitovaných prostredí. Nie je preto známy rozsah úspešného zneužitia.

Nezávisle nie je potvrdené ani to, že 109 ETH v identifikovanej kryptopeňaženke súvisí s touto kampaňou alebo s krádežami kryptomien. Identita a motivácia aktérov zostávajú neznáme.

Čo by mali preveriť vývojári

Projekty, ktoré používali indexed-btree alebo balíky spojené s operáciou, by mali preveriť svoje manifesty závislostí a lock súbory, odstrániť dotknuté závislosti a posúdiť, či sa v ich prostredí nespustil kód využívajúci príslušné funkcie knižnice. Relevantná je aj kontrola dostupných indikátorov kompromitácie a sieťovej komunikácie súvisiacej s popísanými C2 kanálmi.

Ďalšie zistenia môžu priniesť potvrdenia od npm alebo GitHubu o rozsahu odstránenia balíkov, nové indikátory kompromitácie a aktualizácie Checkmarx k C2 infraštruktúre či druhému stupňu malvéru.

Zdroje

  • Checkmarx Zero – Prvotná technická analýza indexed-btree, runtime spúšťača, exfiltrácie, C2 a zoznamu súvisiacich balíkov.
  • Snyk – Evidencia indexed-btree ako škodlivého balíka a informácia, že jeho obsah bol odstránený z oficiálneho registru.
  • BleepingComputer – Nezávislé zhrnutie zistení Checkmarx a upozornenie, že počet stiahnutí nie je priamym dôkazom kompromitácie.

Overené a aktualizované: 22. 09. 2026 15:25

Zdieľanie