Înapoi la Noutăți
Amenințări

MALFEX revine: pachetul npm „imgdecode" ascunde un loader de shellcode într-un addon nativ Windows

Campania MALFEX de pe npm revine cu imgdecode, un pachet care ascunde un loader de shellcode într-un DLL Windows compilat și reapare la câteva ore după fiecare eliminare.

MALFEX revine: pachetul npm „imgdecode" ascunde un loader de shellcode într-un addon nativ Windows

MALFEX revine: pachetul npm „imgdecode" ascunde un loader de shellcode într-un addon nativ Windows

O operațiune malware de lungă durată pe npm, urmărită sub numele MALFEX, a revenit cu o metodă de livrare mai greu de observat: în loc să-și pună logica malițioasă în cod JavaScript lizibil, cel mai nou pachet, imgdecode, o ascunde într-un addon nativ Node.js compilat — un DLL Windows care descarcă shellcode criptat și îl injectează într-un proces legitim al sistemului.

Ce s-a întâmplat

imgdecode a apărut pe npm pe 30 septembrie 2026, publicat de contul malfexteste8. La momentul raportării avea aproape 1.000 de descărcări, era încă disponibil în registru și ajunsese la versiunea 1.0.3.

La suprafață pachetul pare aproape gol — un fișier JavaScript de câteva rânduri. Singurul lui rol real este să încarce un DLL inclus. Când un dezvoltator apelează require('imgdecode') dintr-o consolă Windows, DLL-ul:

  1. verifică dacă rulează în terminalul unui dezvoltator,
  2. descarcă un fișier imagine dintr-un repository GitHub controlat de atacator (cavecrew/proj),
  3. decriptează payload-ul ascuns în imagine și
  4. injectează shellcode-ul rezultat într-un proces dllhost.exe nou creat.

Loader-ul are și un „comutator de oprire" discret: dacă conținutul decriptat este o imagine JPEG sau PNG, se oprește. Asta sugerează că operatorul îl poate dezactiva de la distanță doar schimbând fișierul servit din repository.

O campanie care se adaptează din mers

MALFEX nu este nou. Gruparea — documentată anterior de Checkmarx și CloudSEK, iar în această rundă analizată de SafeDep — publică pachete malițioase pe npm din august 2023, vizând constant sisteme Windows. Actorul din spatele ei nu a fost identificat.

Activitatea recentă arată un operator atent la eliminările din registru:

  • 26 sep. 2026 – sunt publicate cdn-img-fetch, img-to-native și native-runner.
  • 28 sep. – npm elimină native-runner și img-to-native.
  • 30 sep. – înlocuitorii imgbundle și runhelper apar în câteva ore; runhelper este retras în aceeași după-amiază; seara apare imgdecode 1.0.0.
  • 1–11 oct. – imgdecode ajunge la 1.0.3, în timp ce npm elimină imgbundle și cdn-img-fetch.

Fiecare versiune a redus dependența de celelalte pachete, până când 1.0.3 a devenit complet autonom.

Lanțul anterior de trei pachete merită și el atenție: niciunul nu folosea un install hook. Codul malițios rula doar când pachetul era efectiv încărcat — o metodă deliberată de a ocoli protecțiile concentrate pe scripturile postinstall. Acel lanț decripta și salva un downloader scris în Go în %APPDATA%\Microsoft\Windows\node_runtime_helper.exe, care apoi descărca un stealer Node.js.

Ce face payload-ul

Implantul final, scris în Node.js, este un stealer complet și un instrument de acces de la distanță:

  • Anti-analiză – caută mașini virtuale, sandbox-uri și unelte precum Process Monitor și Wireshark înainte de a acționa.
  • Furt de date – colectează fraze seed crypto, fișiere .kdbx, .pem, .ppk și .env, date din browsere Chromium, Discord și Telegram, portofele crypto și conturi Steam, Epic Games, Riot, Battle.net, Minecraft și Ubisoft.
  • Control de la distanță – printr-un canal WebSocket către serverul de comandă, operatorul poate rula comenzi, transfera fișiere, gestiona procese, citi clipboard-ul, face capturi de ecran și controla mouse-ul și tastatura.
  • Persistență – o cheie Registry Run și un task programat deghizat ca MicrosoftEdgeUpdateService.

Un fișier de configurare inclus conținea o „cheie de licență" MALFEX, ceea ce indică un builder sau un model malware-as-a-service în spatele payload-urilor.

De ce contează

Stațiile de lucru ale dezvoltatorilor sunt ținte valoroase: conțin chei SSH, credențiale cloud, secrete .env, seifuri de parole și materiale de semnare. Addon-urile native sunt un punct orb pentru multe procese de review, pentru că o privire rapidă asupra codului JavaScript nu arată nimic suspect — payload-ul stă într-un binar pe care puțini îl analizează. Adăugați un operator care republică în câteva ore după o eliminare și devine clar că listele de blocare vor rămâne mereu în urmă.

Ce trebuie făcut

  • Căutați pachetele. Verificați lockfile-urile, cache-urile și log-urile CI pentru imgdecode, imgbundle, runhelper, cdn-img-fetch, img-to-native și native-runner, precum și pentru pachete publicate de conturi malfex*.
  • Tratați sistemele Windows afectate ca fiind compromise. Izolați-le și căutați task-ul programat MicrosoftEdgeUpdateService, chei Run neașteptate, node_runtime_helper.exe în %APPDATA% și conexiuni către 104.234.65[.]75.
  • Rotiți tot ce a existat pe mașină — chei SSH și API, token-uri cloud, secrete .env, parole salvate în browser; mutați fondurile în portofele noi dacă frazele seed erau stocate acolo.
  • Ridicați ștacheta pentru dependențe noi. Semnalați pachetele care includ binare .node/.dll precompilate, care au doar câteva zile sau care vin de la publisheri noi; fixați versiunile și folosiți un registru intern verificat sau o listă de pachete aprobate.
  • Nu vă bazați doar pe verificarea install hook-urilor — această campanie le evită intenționat.

Detectarea timpurie a acestui tip de problemă este exact rolul analizei dependențelor dintr-un code review asistat de AI: verificarea a ceea ce proiectele voastre aduc efectiv — inclusiv pachete noi, cu reputație redusă sau care conțin binare — înainte să ajungă pe laptopul unui dezvoltator sau în pipeline-ul de build.


Credit cercetare: SafeDep (analiza recentă), cu raportări anterioare despre MALFEX de la Checkmarx și CloudSEK. Raportat inițial de The Hacker News.

DISTRIBUIE