Zlonamjerni npm paket koji se lažno predstavlja kao WhatsApp API tiho otima račune nakon 56 000 instalacija

Zadnje ažuriranje: 12/23/2025
  • Zlonamjerni npm fork Baileys WhatsApp Web API-ja, objavljen kao lotusbail, preuzet je više od 56 000 puta.
  • Paket obavija legitimnog WebSocket klijenta kako bi u pozadini ukrao tokene, ključeve sesije, poruke, kontakte i medije.
  • Napadači tiho uparuju vlastiti uređaj s WhatsApp računom žrtve, održavajući pristup čak i nakon što je paket deinstaliran.
  • Istraživači iz tvrtke Koi Security potiču programere da prouče ovisnosti npm-a i prate ponašanje tijekom izvođenja programa kako bi uočili napade u lancu opskrbe.

Zlonamjerni npm paket usmjeren na WhatsApp

Naizgled bezopasan npm paket reklamiran kao pomoćnik za WhatsApp Web API uhvaćen je u tihom krađi chatova, kontakata i pristupnih podataka od ništa ne slutećih programera i njihovih korisnika. Biblioteka, objavljena pod nazivom "lotusbail", ostao je dostupan mjesecima na službenom npm registru i uspio je prikupiti više od 56 000 preuzimanja prije nego što je privukao ozbiljnu pozornost.

Prema više neovisnih članaka i detaljnoj istrazi koju je provela Zaštita koi šarana, paket se naizgled ponaša kao normalan WhatsApp alat za automatizaciju, ali u pozadini presreće svaku poruku, prikuplja podatke o računu i uspostavlja trajna stražnja vrata na kompromitirane WhatsApp račune. Budući da je zlonamjerno ponašanje utkano u legitimne funkcionalnosti, mnogi projekti su ga mogli integrirati bez da su primijetili nešto očito pogrešno.

Kako se lažni paket WhatsApp Web API-ja uvukao u npm

Zlonamjerna biblioteka pojavila se na npm-u oko svibnja 2025., a prenio ju je korisnik koji je prolazio „seiren_jaglac“ i opisan kao praktičan API za interakciju s WhatsApp Webom. Ispod haube, to je fork popularnog projekta otvorenog koda @whiskeysockets/baileys, TypeScript/JavaScript biblioteka koja nudi WebSocket API za izgradnju botova i automatizacija na WhatsApp Webu.

Vjernim oponašanjem Baileysovog javnog nastupa i ponašanja, napadač je osigurao da programeri bi mogli ubaciti paket u postojeće tijekove rada uz minimalne promjeneDokumentacija i imenovanje izrađeni su tako da izgledaju legitimno, smanjujući šanse da će zauzeti timovi dovoditi u pitanje njihovo porijeklo, posebno s obzirom na to kako brojke korištenja npm-a često djeluju kao pokazatelj povjerenja.

Tijekom otprilike pola godine, paket se nakupio više od 56 000 ukupnih instalacija i stotine tjednih preuzimanjaTijekom tog vremena ostao je pretraživ i instaliran iz službenog registra, što ga je učinkovito pretvorilo u tihu prijetnju lancu opskrbe za bilo koju aplikaciju koja je integrirala WhatsApp funkcionalnost putem JavaScripta.

Istraživači naglašavaju da ništa u osnovnom npm procesu objavljivanja nije spriječilo ovaj prijenos: Svaki korisnik može objaviti paket s profesionalnim nazivom, kopirati API poznatog projekta i odmah steći vidljivost. u ekosustavu. Upravo je tu stvarnost napadači iskoristili u ovom slučaju.

Zloupotreba WebSocket klijenta za hvatanje WhatsApp podataka

Srž napada leži u tome kako lotusbail obavija legitimni WebSocket klijent koji komunicira s WhatsAppovim web protokolomUmjesto izgradnje novog sučelja od nule, paket ubacuje prilagođeni kontejner oko standardne Baileys WebSocket implementacije, omogućujući da svaka dolazna i odlazna poruka prvo prođe kroz zlonamjerni softver.

Analiza tvrtke Koi Security objašnjava da nakon što se programer autentificira s WhatsAppom putem ove biblioteke, omotač odmah uzima autentifikacijske tokene i ključeve sesijeOd tog trenutka nadalje, svaka poruka koja teče kroz vezu – dolazna ili odlazna – transparentno se zrcali na infrastrukturu napadača.

To zrcaljenje nadilazi obične tekstualne razgovore. Paket je osmišljen da izvući povijest poruka, popise kontakata i sve priložene medijske datoteke, uključujući fotografije, videozapise, audio isječke i dokumente. U biti, klonira korisnikovo okruženje razgovora: s kim razgovaraju, što šalju i što primaju.

Ključno je da ništa od ovoga ne narušava normalno ponašanje koje programeri očekuju. Čini se da službena funkcionalnost i dalje ispravno radi, botovi i dalje reagiraju, automatizacije se izvode kao i obično, a WhatsApp sesije ostaju stabilne. Zlonamjerni softver jednostavno dodaje ono što je jedan istraživač opisao kao „drugi, nevidljivi primatelj za sve“, što otkrivanje slučajnim promatranjem čini izuzetno malo vjerojatnim.

Sve se to pokreće uobičajenom upotrebom API-ja. Nema potrebe da žrtva pokreće dodatne naredbe ili omogućava posebne zastavice; autentifikacija i rutinska obrada poruka dovoljni su za aktiviranje mogućnosti špijuniranja, što je jedan od razloga zašto je kampanja uspjela djelovati neotkriveno mjesecima.

Prikriveni pristup putem stražnjih vrata: uparivanje napadačevog uređaja

Osim krađe podataka, lotusbail uvodi i podmukliju mogućnost: tiho uparuje uređaj kojim upravlja napadač s WhatsApp računom žrtveOvo koristi isti tijek rada za uparivanje više uređaja na koji se legitimni korisnici oslanjaju za povezivanje dodatnih telefona ili stolnih računala sa svojim računom.

Tijekom procesa prijave, zlonamjerni softver pokreće skrivenu rutinu uparivanja. Istraživači izvještavaju da kod generira nasumični niz od osam znakova i unosi ga u WhatsAppov mehanizam povezivanja uređaja, preuzimajući standardni proces s ugrađenim tokom uparivanja u zlonamjerni paket.

Nakon što se to uparivanje završi, uređaj napadača efektivno postaje još jedan ovlašteni klijent na ciljanom računu. Od tada nadalje, Akteri prijetnji mogu čitati i slati poruke, pregledavati kontakte i pristupati medijima kao da su vlasnici računa – i to mogu učiniti bez oslanjanja na prisutnost izvornog, zlonamjernog paketa.

To je ono što napadu daje njegovu upornost. Čak i ako programer koji je svjestan sigurnosti uočava sumnjivu ovisnost i uklanja je iz projekta, kompromitiranje se ne poništava automatski. Zlonamjerni npm kod možda više ne postoji, ali povezani uređaj napadača ostaje aktivan sve dok se izričito ne ukloni s WhatsAppovog popisa pouzdanih sesija.

Stručnjaci naglašavaju da ova karakteristika čini incident više od obične infekcije na razini paketa: pretvara pogrešan korak NPM-a u potpuno preuzimanje računa koje opstaje i nakon čišćenja, i može nastaviti izlagati krajnje korisnike dugo nakon što je ranjivi softver ažuriran.

Što točno zlonamjerni softver krade – i kako to skriva

Tehničke bilješke tvrtke Koi Security i drugih istraživača detaljno prikazuju prikupljene podatke. Paket lotusbail programiran je za prikupiti razne osjetljive WhatsApp artefakte, daleko više od samih tijela poruka.

Među ciljanim stavkama su tokeni za autentifikaciju, ključevi sesije i kodovi za uparivanje koristi se za održavanje veze između klijenata i WhatsAppovih poslužitelja. S njima u ruci, napadači mogu ponovno stvoriti ili održati sesije čak i ako se određeni uređaji ponovno pokrenu ili softver ponovno instalira.

Zlonamjerni softver također povlači potpuni popisi kontakata i članstva u grupama, što omogućuje prijetnjama mapiranje društvenog grafa žrtve, identificiranje visokovrijednih ciljeva ili preusmjeravanje prema dodatnim računima. U kombinaciji sa sadržajem poruke, ovo daje protivnicima širok uvid u odnose, poslovne procese i privatne razgovore.

Datoteke razmijenjene putem WhatsAppa slično su izložene. Kako omotač vidi svaki WebSocket okvir, može snimanje metapodataka i sadržaja za fotografije, videozapise, glasovne bilješke i dokumente prije nego što ih klijent dešifrira i prikaže. Taj se materijal zatim priprema za iznošenje na poslužitelje kojima upravljaju napadači.

Kako bi se izbjeglo izravno otkrivanje na razini mreže, paket koristi potpuna, prilagođena implementacija RSA enkripcijePrije nego što napuste kompromitirano okruženje, svi snimljeni podaci se lokalno šifriraju, što znači da sustavi za otkrivanje upada ili mrežni monitori koji se oslanjaju na dubinsku inspekciju paketa neće vidjeti ništa više od neprozirnih šifriranih blobova koji se kreću prema udaljenim krajnjim točkama.

Osim toga, zlonamjerni softver uključuje obrana protiv otklanjanja pogrešaka usmjerena na frustriranje sigurnosnih analitičaraIzvješća opisuju logiku koja detektira uobičajene scenarije otklanjanja pogrešaka ili analize i reagira guranjem koda u beskonačnu petlju, učinkovito zaključavajući proces i znatno otežavajući dinamičku inspekciju.

Trajan rizik čak i nakon deinstalacije npm paketa

Jedan od kontraintuitivnih aspekata ovog incidenta je taj što Uklanjanje zlonamjerne ovisnosti iz projekta ne osigurava automatski pogođene WhatsApp računeTrajna veza stvorena postupkom uparivanja osigurava da pristup napadača preživi deinstalaciju.

Sigurnosni timovi ističu da Lotusbail koristi način na koji je dizajniran WhatsAppov model za više uređaja: nakon što je uređaj uspješno povezan, nastavlja primati poruke i ažuriranja računa dok vlasnik ručno ne opozove tu uslugu u postavkama aplikacije. Ne postoji automatsko istek vremena vezano uz životni ciklus npm paketa ili aplikacije za hosting.

Kao rezultat toga, čak i marljivi programeri koji identificiraju i izbrišu biblioteku mogu izložiti svoje korisnike riziku ako ih također ne upute da pregledajte popis povezanih uređaja unutar WhatsAppaSvaku nepoznatu sesiju koja se pojavljuje na tom popisu treba odmah prekinuti.

Istražitelji naglašavaju da ova nijansa mijenja način na koji bi organizacije trebale razmišljati o sanaciji. Više nije dovoljno uklanjanje zlonamjernog koda iz cjevovoda izgradnje i poslužiteljaOdgovor na incident mora se proširiti i na ekosustav aplikacije s kojim je kod komunicirao – u ovom slučaju, na WhatsApp račune koji su bili povezani s kompromitiranim sesijama.

U praktičnom smislu, pogođeni projekti možda će morati obavijesti korisnike i rotiraj WhatsApp vjerodajnice, ponovno uspostavite sesije putem poznatih ispravnih alata i provjerite da nijedan uređaj kojim upravlja napadač nije ovlašten ni na jednom računu korištenom u produkciji ili testiranju.

Tko je otkrio Lotusbail i kako je istražen

Kampanja je izašla na vidjelo zahvaljujući Koi Security, koju vodi istraživač Tuval Admoni, koji je objavio detaljnu analizu ponašanja paketa. Dodatni komentar istraživača Idan Dardikman pomoglo je razjasniti da se zlonamjerni softver ponaša kao prozirni omotač oko WebSocket klijenta, aktivirajući se čim započne normalna autentifikacija i protok poruka.

Admoni je prijetnju sažeo u otvorenim riječima: Paket krade WhatsApp vjerodajnice, presreće svaku poruku, prikuplja kontakte, instalira trajnu backdoor i šifrira sve prije slanja. na poslužitelj kojim upravlja napadač. Ta kombinacija prikrivenosti, širine i upornosti ono je što ovo uzdiže od jednostavne smetnje do ozbiljnog incidenta u lancu opskrbe.

Sama statička analiza pokazala se nedovoljnom za označavanje rizika. Budući da kodna baza otkriva ista sučelja i osnovno ponašanje kao i legitimne biblioteke, Signali temeljeni na reputaciji poput broja preuzimanja, ocjena zvjezdicama ili osnovnog lintinga malo ga razlikuju od originalnog alata.Paket je uspio opstati na vidljivom mjestu unatoč zlonamjernim dodacima.

Istraživači su također primijetili da Tehnike anti-analize ugrađene u zlonamjerni softver usporile su obrnuti inženjering, što je zahtijevalo pažljiviju instrumentaciju i testiranje u sandboxu kako bi se u potpunosti mapirale njegove mogućnosti. Do trenutka objave izvješća, kampanja je već imala nekoliko mjeseci operativnog rada.

Slučaj se brzo pridružio rastućem popisu napada temeljenih na npm-u koji ističu kako Otvoreni registri paketa postali su glavno područje za prijetnje lancu opskrbeIako platforme mogu reagirati uklanjanjem poznatih loših paketa, početni teret otkrivanja često i dalje pada na neovisne sigurnosne timove i budne programere.

Širi val zlonamjernog softvera u lancu opskrbe usmjerenog na razvojne programere

Otkriće lotusbaila poklopilo se s otkrićima o drugi zlonamjerni paketi usmjereni na ekosustave razvojnih programera, naglašavajući da je ovaj incident dio šireg trenda, a ne jednokratna anomalija.

U paralelnom istraživanju, sigurnosna tvrtka ReversingLabs detaljno je opisala skupinu 14 lažnih NuGet paketa koji se lažno predstavljaju kao Nethereum i druge biblioteke povezane s kriptovalutama u .NET svijetu. Slično kao i u slučaju WhatsApp npm-a, ovi paketi su dizajnirani kako bi se uklopili s legitimnim alatima koje koriste programeri koji rade s blockchainom i digitalnom imovinom.

Prema tim nalazima, NuGet paketi preusmjerio sredstva iz transakcija kriptovalutama na novčanike koje kontroliraju napadači ili tiho izdvajali privatne ključeve i sjemenske fraze kad god bi transferi premašili 100 američkih dolara. Nazivi paketa poput „binance.csharp“, „Bitcoin Core“, „bitapi.net“, „coinbase.api.net“, „googleads.api“, „nbitcoin.unified“, „nethereumnet“, „nethereumunified“, „nethereum.all“, „solananet“, „solnetall“, „solnetall.net“, „solnetplus“ i „solnetunified“ izrađeni su kako bi evocirali poznate alate i usluge.

Kako bi izgradili povjerenje, operateri koji stoje iza ovih knjižnica navodno napuhana statistika preuzimanja i forsirana česta ažuriranja simulirati aktivno održavanje i popularnost. Ovaj sloj društvenog inženjeringa odražava način na koji se Lotusbail oslanjao na vidljivost npm-a i ugled Baileys projekta kako bi dobio na značaju.

Stručnjaci iz oba istraživačka tima slažu se oko iste točke: Napadi na razvojne programere u lancu opskrbe ne jenjavaju; postaju sve sofisticiranijiProtivnici su naučili ciljati upravo one alate o kojima inženjeri svakodnevno ovise, bilo da se radi o integracijama poruka, financijskim operacijama ili općoj infrastrukturi.

Zašto se konvencionalne obrane bore s prijetnjama opskrbnog lanca NPM-a

Lotusbail također ističe ograničenja mnogih trenutnih obrana koje se koriste za zaštitu softverskih cjevovoda. Tradicionalni pristupi kao što su statičko skeniranje koda, osnovno linting, jednostavne provjere potpisa i metrike reputacije često su podešeni da uoče očite crvene zastavice, ali lako mogu propustiti suptilnu zlonamjernu logiku ugrađenu u inače valjane pakete.

Budući da biblioteka vjerno implementira očekivanu površinu WhatsApp Web API-ja, Automatizirani alati možda neće vidjeti ništa više od malo modificiranog forka (forka) repozitorija za koji se zna da je dobar.Čak ni ručne provjere na licu mjesta možda neće odmah otkriti opasnost, posebno kada je štetni kod isprepleten s legitimnim mrežnim i šifrirnim rutinama.

Sustavi temeljeni na reputaciji ovdje ne prolaze bolje. Mnoge organizacije podsvjesno izjednačavaju velik broj preuzimanja i česta ažuriranja uz sigurnost, no u ovom slučaju ti su se signali ili prirodno akumulirali tijekom vremena ili ih je napadač mogao umjetno pojačati. Popularnost ne jamči integritet kada svatko može objaviti sličan paket s uvjerljivim opisom.

Sloj protiv otklanjanja pogrešaka dodatno komplicira dinamičku analizu. Nakon što paket može otkriti da je izvršavanje pod instrumentacijom ili priključenje na debugger, a zatim pokretanje beskonačnih petlji ili rušenja, automatizirani sandboxovi imaju poteškoća s dobivanjem potpunog profila ponašanja. To, pak, usporava stvaranje potpisa i javno objavljivanje.

Ovi izazovi ukazuju na potrebu za robusnije, na ponašanje usmjereno praćenje u produkcijskim okruženjima, gdje se sumnjivi mrežni tokovi, neočekivani obrasci šifriranja ili anomalni pristup podacima mogu označiti čak i ako statičke provjere u početku odobre paket.

Što programeri i organizacije mogu učiniti upravo sada

Sigurnosni stručnjaci koji su istraživali incident s Lotusbailom naglašavaju da Programeri bi trebali tretirati pakete trećih strana kao nepouzdan kod, čak i kada dolaze iz glavnih registara poput npm-a.Praktični koraci mogu pomoći u smanjenju izloženosti sličnim prijetnjama u budućnosti.

Prvo, timovi se potiču da provjeriti podrijetlo kritičnih ovisnostiTo uključuje provjeru službene dokumentacije ili repozitorija za preporučene nazive paketa, provjeru identiteta izdavača i davanje prednosti bibliotekama koje održavaju dobro etablirane organizacije ili poznati održavatelji kad god je to moguće.

Drugo, stručnjaci preporučuju dodavanje nadzora vremena izvođenja i otkrivanja anomalija oko osjetljivih integracija kao što su API-ji za razmjenu poruka, moduli za plaćanje ili kriptografski alati. Neobične izlazne veze, neočekivana aktivnost šifriranja ili tokovi podataka koji nisu u skladu s dokumentiranim ponašanjem mogu biti rani znakovi kompromitirane ovisnosti.

Treće, organizacije bi trebale održavati popis svih paketa trećih strana koji se koriste i praćenje promjena tijekom vremenaPrikvačivanje verzija, pregled dnevnika promjena i provođenje sigurnosnih procjena prije većih nadogradnji može pomoći u otkrivanju problematičnog koda prije nego što dođe u produkciju.

Konačno, u slučajevima gdje su se WhatsApp integracije oslanjale na zlonamjernu npm biblioteku, odgovor na incident trebao bi ići dalje od čišćenja koda. Pogođene korisnike treba uputiti na Otvorite postavke WhatsAppa, pregledajte povezane uređaje i uklonite sve nepoznate sesijeBez tog koraka, napadačev upareni uređaj može i dalje imati puni pristup razgovorima i sadržaju.

Epizoda s Lotusbailom služi kao oštar podsjetnik na to Vjerovanje paketu zato što izgleda poznato, ima tisuće preuzimanja ili oponaša popularni projekt više nije dovoljnoS obzirom na to da napadači sve više ciljaju ekosustave razvojnih programera, pažljiva provjera ovisnosti i pomno promatranje ponašanja tijekom izvođenja postali su ključni dijelovi održavanja WhatsApp računa – i aplikacija izgrađenih oko njih – istinski sigurnima.

Povezani postovi: