- Złośliwy fork npm interfejsu Baileys WhatsApp Web API, opublikowany jako lotusbail, został pobrany ponad 56 000 razy.
- Pakiet ten otacza legalnego klienta WebSocket, umożliwiając kradzież tokenów, kluczy sesji, wiadomości, kontaktów i multimediów w tle.
- Napastnicy po cichu łączą swoje urządzenie z kontem WhatsApp ofiary, zachowując dostęp nawet po odinstalowaniu pakietu.
- Badacze z Koi Security wzywają deweloperów do dokładnego sprawdzenia zależności npm i monitorowania zachowania środowiska uruchomieniowego w celu wykrycia ataków na łańcuch dostaw.
Pozornie nieszkodliwy Pakiet npm reklamowany jako pomocnik interfejsu API WhatsApp Web został przyłapany na cichym przechwytywaniu czatów, kontaktów i danych dostępowych od niczego niepodejrzewających programistów i ich użytkowników. Biblioteka, opublikowana pod nazwą „lotusbail”, pozostawał dostępny przez wiele miesięcy w oficjalnym rejestrze npm i udało mu się zgromadzić ponad 56 000 pobrań, zanim został poddany poważnej krytyce.
Zgodnie z wieloma niezależnymi opracowaniami i szczegółowym dochodzeniem przeprowadzonym przez Bezpieczeństwo Koipakiet na pierwszy rzut oka zachowuje się jak normalny zestaw narzędzi do automatyzacji WhatsApp, ale w tle przechwytuje każdą wiadomość, zbiera dane konta i tworzy trwałe tylne wejście do przejętych kont WhatsApp. Ponieważ złośliwe zachowanie jest wplecione w legalną funkcjonalność, wiele projektów mogło je zintegrować, nie zauważając niczego ewidentnie niepokojącego.
Jak fałszywy pakiet WhatsApp Web API przedostał się do npm
Złośliwa biblioteka pojawiła się w npm około maja 2025 r. i została przesłana przez użytkownika „seiren_primrose” i opisany jako wygodne API do interakcji z WhatsApp Web. Pod maską jest to fork popularnego projektu open source @whiskeysockets/baileys, biblioteka TypeScript/JavaScript oferująca interfejs API oparty na protokole WebSocket do tworzenia botów i automatyzacji na bazie WhatsApp Web.
Dzięki dokładnemu odwzorowaniu publicznego interfejsu i zachowania Baileysa, sprawca zagrożenia zapewnił, że programiści mogliby dodać pakiet do istniejących przepływów pracy, wprowadzając minimalne zmianyDokumentacja i nazewnictwo zostały opracowane tak, aby wyglądały na wiarygodne, zmniejszając ryzyko, że zapracowane zespoły zakwestionują ich pochodzenie, zwłaszcza biorąc pod uwagę fakt, że liczby dotyczące wykorzystania npm często pełnią rolę wskaźnika zaufania.
W ciągu około pół roku pakiet się uzbierał ponad 56 000 instalacji ogółem i setki pobrań tygodniowoW tym czasie można go było wyszukać i zainstalować z oficjalnego rejestru, co skutecznie uczyniło go cichym zagrożeniem dla łańcucha dostaw dla każdej aplikacji integrującej funkcjonalność WhatsApp za pośrednictwem JavaScript.
Badacze podkreślają, że nic w podstawowym procesie publikacji npm nie zapobiegło temu przesłaniu: każdy użytkownik może opublikować pakiet pod profesjonalnie brzmiącą nazwą, skopiować API znanego projektu i natychmiast uzyskać widoczność w ekosystemie. To właśnie tę rzeczywistość wykorzystali atakujący w tym przypadku.
Nadużywanie klienta WebSocket w celu przechwytywania danych WhatsApp
Sedno ataku leży w sposobie działania lotusbail opakowuje legalnego klienta WebSocket, który komunikuje się z protokołem internetowym WhatsAppZamiast budować nowy interfejs od podstaw, pakiet wprowadza niestandardowy kontener wokół standardowej implementacji Baileys WebSocket, umożliwiając, aby każda wiadomość przychodząca i wychodząca najpierw przechodziła przez złośliwe oprogramowanie.
Analiza Koi Security wyjaśnia, że gdy programista uwierzytelni się w WhatsApp za pośrednictwem tej biblioteki, wrapper natychmiast pobiera tokeny uwierzytelniające i klucze sesjiOd tego momentu każda wiadomość przechodząca przez połączenie – przychodząca lub wychodząca – jest transparentnie odzwierciedlana w infrastrukturze atakującego.
To lustrzane odbicie wykracza poza zwykłe rozmowy tekstowe. Pakiet został zaprojektowany tak, aby… wyekstrahuj historię wiadomości, listy kontaktów i wszystkie dołączone pliki multimedialne, w tym zdjęcia, filmy, klipy audio i dokumenty. W efekcie klonuje środowisko konwersacyjne użytkownika: z kim rozmawia, co wysyła i co odbiera.
Co najważniejsze, nic z tego nie zakłóca normalnego zachowania, jakiego oczekują deweloperzy. Oficjalna funkcjonalność nadal wydaje się działać poprawnie, boty nadal reagują, automatyzacje działają normalnie, a sesje WhatsApp pozostają stabilne. Szkodliwe oprogramowanie po prostu dodaje to, co jeden z badaczy opisał jako „drugi, niewidzialny odbiorca wszystkiego”, co sprawia, że wykrycie na podstawie pobieżnej obserwacji jest niezwykle mało prawdopodobne.
Wszystko to jest uruchamiane poprzez standardowe użycie API. Ofiara nie musi uruchamiać dodatkowych poleceń ani włączać specjalnych flag; uwierzytelnianie i rutynowa obsługa wiadomości wystarczą, aby aktywować możliwości szpiegowania, co jest jednym z powodów, dla których kampania przez wiele miesięcy pozostawała niezauważona.
Ukryty dostęp tylnymi drzwiami: sparowanie urządzenia atakującego
Oprócz kradzieży danych lotusbail wprowadza bardziej podstępną funkcję: dyskretnie łączy urządzenie kontrolowane przez atakującego z kontem WhatsApp ofiaryWykorzystuje ten sam proces parowania wielu urządzeń, z którego korzystają uprawnieni użytkownicy, aby podłączyć dodatkowe telefony lub komputery stacjonarne do swojego konta.
Podczas procesu logowania złośliwe oprogramowanie uruchamia ukrytą procedurę parowania. Badacze donoszą, że kod generuje losowy ciąg składający się z ośmiu znaków i przekazuje go do mechanizmu łączenia urządzeń WhatsApp, przejmując standardowy proces za pomocą zakodowanego na stałe przepływu parowania osadzonego w złośliwym pakiecie.
Po zakończeniu parowania urządzenie atakującego staje się w efekcie kolejnym autoryzowanym klientem na koncie docelowym. Od tego momentu sprawcy zagrożeń mogą czytać i wysyłać wiadomości, przeglądać kontakty i uzyskiwać dostęp do multimediów tak, jakby byli właścicielami konta – i mogą to zrobić, nie polegając już na obecności oryginalnego, złośliwego pakietu.
To właśnie zapewnia atakowi trwałość. Nawet jeśli świadomy bezpieczeństwa programista wykrywa podejrzaną zależność i usuwa ją z projektu, naruszenie nie zostanie automatycznie cofnięte. Złośliwy kod npm może zniknąć, ale powiązane urządzenie atakującego pozostaje aktywne, dopóki nie zostanie jawnie usunięte z listy zaufanych sesji WhatsApp.
Eksperci podkreślają, że ta cecha sprawia, że incydent ten jest czymś więcej niż tylko infekcją na poziomie pakietu: zmienia błąd npm w całkowite przejęcie konta, które przetrwa czyszczeniei może narażać użytkowników końcowych na ryzyko długo po aktualizacji podatnego oprogramowania.
Co dokładnie kradnie złośliwe oprogramowanie i jak to ukrywa
Notatki techniczne Koi Security i innych badaczy przedstawiają szczegółowy obraz gromadzonych danych. Pakiet lotusbail jest zaprogramowany tak, aby… zbieraj różnorodne wrażliwe artefakty WhatsApp, daleko wykraczające poza samą treść wiadomości.
Wśród docelowych przedmiotów znajdują się: tokeny uwierzytelniające, klucze sesji i kody parowania Służy do utrzymywania połączenia między klientami a serwerami WhatsApp. Dzięki niemu atakujący mogą odtworzyć lub podtrzymać sesje nawet po ponownym uruchomieniu niektórych urządzeń lub ponownej instalacji oprogramowania.
Szkodliwe oprogramowanie również ściąga kompletne listy kontaktów i członkostwa w grupach, umożliwiając atakującym mapowanie grafów społecznościowych ofiary, identyfikację celów o wysokiej wartości lub skupienie się na dodatkowych kontach. W połączeniu z treścią wiadomości, daje to atakującym szeroki wgląd w relacje, procesy biznesowe i prywatne rozmowy.
Pliki wymieniane przez WhatsApp są podobnie narażone. Ponieważ wrapper widzi każdą ramkę WebSocket, może przechwytywanie metadanych i ładunków dla zdjęć, filmów, notatek głosowych i dokumentów zanim zostaną odszyfrowane i wyrenderowane przez klienta. Materiał ten jest następnie przygotowywany do eksfiltracji na serwery kontrolowane przez atakującego.
Aby uniknąć bezpośredniego wykrycia na poziomie sieci, pakiet używa pełna, niestandardowa implementacja szyfrowania RSAZanim opuści ono zainfekowane środowisko, wszystkie przechwycone dane są szyfrowane lokalnie, co oznacza, że systemy wykrywania włamań lub monitory sieciowe oparte na dogłębnej inspekcji pakietów zobaczą niewiele więcej niż nieprzejrzyste, zaszyfrowane bloby przemieszczające się do zdalnych punktów końcowych.
Co więcej, złośliwe oprogramowanie zawiera: zabezpieczenia antydebugowe mające na celu frustrację analityków ds. bezpieczeństwaRaporty opisują logikę, która wykrywa typowe scenariusze debugowania lub analizy i reaguje, wprowadzając kod w nieskończoną pętlę, skutecznie blokując proces i znacznie utrudniając dynamiczną inspekcję.
Trwałe ryzyko nawet po odinstalowaniu pakietu npm
Jednym z bardziej nieintuicyjnych aspektów tego incydentu jest to, że usunięcie złośliwej zależności z projektu nie zabezpiecza automatycznie kont WhatsApp, których to dotyczyTrwałe łącze utworzone w procesie parowania gwarantuje, że dostęp atakującego przetrwa odinstalowanie.
Zespoły ds. bezpieczeństwa podkreślają, że Lotusbail wykorzystuje sposób, w jaki zaprojektowano model wielourządzeniowy WhatsApp: po pomyślnym połączeniu urządzenia, nadal otrzymuje wiadomości i aktualizacje konta, dopóki właściciel ręcznie tego nie odwoła w ustawieniach aplikacji. Nie ma automatycznego limitu czasu powiązanego z cyklem życia pakietu npm ani aplikacji hostującej.
W rezultacie nawet sumienni programiści, którzy zidentyfikują i usuną bibliotekę, mogą narazić swoich użytkowników na niebezpieczeństwo, jeśli nie poinstruują ich, aby przejrzyj listę powiązanych urządzeń w WhatsAppie. Każdą nieznaną sesję znajdującą się na liście należy natychmiast zakończyć.
Śledczy podkreślają, że ten niuans zmienia sposób, w jaki organizacje powinny myśleć o remediacji. Nie wystarczy już usuń złośliwy kod z procesów kompilacji i serwerów; reakcja na incydenty musi obejmować również ekosystem aplikacji, z którym kod wchodził w interakcję – w tym przypadku konta WhatsApp powiązane z naruszonymi sesjami.
W praktyce może być konieczne powiadom użytkowników i zmień dane uwierzytelniające WhatsApp, ponownie nawiąż sesje za pomocą sprawdzonych narzędzi i zweryfikuj, czy żadne urządzenie kontrolowane przez atakującego nie pozostało autoryzowane na żadnym koncie używanym w środowisku produkcyjnym lub testowym.
Kto odkrył Lotusbail i jak to zbadano
Kampania ujrzała światło dzienne dzięki Koi Security, kierowane przez badacza Tuvala Admoniego, który opublikował szczegółową analizę zachowania pakietu. Dodatkowy komentarz badacza Idan Dardikman pomogło wyjaśnić, że złośliwe oprogramowanie zachowuje się jak transparentna osłona klienta WebSocket, aktywując się natychmiast po rozpoczęciu normalnego uwierzytelniania i przepływu wiadomości.
Admoni podsumował to zagrożenie w prostych słowach: pakiet kradnie dane logowania WhatsApp, przechwytuje każdą wiadomość, gromadzi kontakty, instaluje trwałe tylne drzwi i szyfruje wszystko przed wysłaniem do serwera kontrolowanego przez atakującego. To połączenie ukrycia, rozległości i trwałości sprawia, że incydent ten zmienia się z drobnej uciążliwości w poważny incydent w łańcuchu dostaw.
Sama analiza statyczna okazała się niewystarczająca do wykrycia ryzyka. Ponieważ baza kodu udostępnia te same interfejsy i podstawowe zachowania, co legalne biblioteki, sygnały oparte na reputacji, takie jak liczba pobrań, oceny gwiazdkowe czy podstawowe testy, nie pozwalają na odróżnienie ich od prawdziwych narzędziPakiet mógł pozostać widoczny, pomimo złośliwych dodatków.
Naukowcy zauważyli również, że techniki antyanalizy wbudowane w złośliwe oprogramowanie spowolniły inżynierię wsteczną, wymagając dokładniejszej aparatury i testów w środowisku testowym, aby w pełni zmapować jego możliwości. Do czasu publikacji raportu kampania cieszyła się już kilkumiesięcznym okresem działania.
Sprawa ta szybko dołączyła do rosnącej listy ataków opartych na npm, które pokazują, jak otwarte rejestry pakietów stały się głównym obszarem zagrożeń dla łańcucha dostawChociaż platformy mogą reagować, usuwając znane pakiety z błędami, początkowy ciężar wykrywania często nadal spoczywa na niezależnych zespołach ds. bezpieczeństwa i czujnych programistach.
Szersza fala złośliwego oprogramowania atakującego łańcuchy dostaw, atakująca programistów
Odkrycie lotusbailu zbiegło się z ujawnieniem informacji na temat inne złośliwe pakiety skierowane do ekosystemów programistów, podkreślając, że incydent ten jest częścią szerszego trendu, a nie jednorazowym wyjątkiem.
W równoległych badaniach firma zajmująca się bezpieczeństwem ReversingLabs szczegółowo opisała grupę 14 nieuczciwych pakietów NuGet podszywających się pod Nethereum i inne biblioteki związane z kryptowalutami w świecie .NET. Podobnie jak w przypadku WhatsApp NPM, pakiety te zostały zaprojektowane tak, aby współgrać z legalnymi narzędziami używanymi przez programistów pracujących z blockchainem i zasobami cyfrowymi.
Zgodnie z tymi ustaleniami pakiety NuGet przekierowywano środki z transakcji kryptowalutowych do portfeli kontrolowanych przez atakujących lub po cichu wyodrębniano klucze prywatne i frazy początkowe, gdy transfery przekraczały 100 dolarów amerykańskich. Nazwy pakietów, takie jak „binance.csharp”, „Bitcoin Core”, „bitapi.net”, „coinbase.api.net”, „googleads.api”, „nbitcoin.unified”, „nethereumnet”, „nethereumunified”, „nethereum.all”, „solananet”, „solnetall”, „solnetall.net”, „solnetplus” i „solnetunified”, zostały stworzone tak, aby przywodzić na myśl znane narzędzia i usługi.
Aby zbudować zaufanie, operatorzy tych bibliotek podobno zawyżone statystyki pobrań i częste aktualizacje symulować aktywną konserwację i popularność. Ta warstwa socjotechniczna nawiązuje do sposobu, w jaki Lotusbail wykorzystał widoczność npm i reputację projektu Baileys, aby zyskać popularność.
Eksperci z obu zespołów badawczych są zgodni co do tego samego punktu: ataki na łańcuchy dostaw wymierzone w programistów nie zanikają; stają się coraz bardziej wyrafinowanePrzeciwnicy nauczyli się atakować konkretnie te narzędzia, z których inżynierowie korzystają na co dzień, niezależnie od tego, czy chodzi o integrację komunikatów, operacje finansowe czy ogólną infrastrukturę.
Dlaczego konwencjonalne metody obrony radzą sobie z zagrożeniami dla łańcucha dostaw NPM
Lotusbail podkreśla również ograniczenia wielu obecnych zabezpieczeń stosowanych do ochrony potoków oprogramowania. Tradycyjne podejścia, takie jak statyczne skanowanie kodu, podstawowe lintingi, proste sprawdzanie podpisów i metryki reputacji są często dostrojone do wykrywania oczywistych sygnałów ostrzegawczych, ale łatwo mogą przeoczyć subtelną złośliwą logikę osadzoną w prawidłowych pakietach.
Ponieważ biblioteka wiernie implementuje oczekiwaną powierzchnię WhatsApp Web API, zautomatyzowane narzędzia mogą nie widzieć niczego więcej niż lekko zmodyfikowanego rozwidlenia znanego, dobrego repozytoriumNawet ręczne kontrole nie zawsze ujawniają od razu zagrożenie, zwłaszcza gdy szkodliwy kod jest powiązany z legalnymi procedurami sieciowymi i szyfrowania.
Systemy oparte na reputacji nie radzą sobie tu lepiej. Wiele organizacji podświadomie utożsamia duża liczba pobrań i częste aktualizacje z zachowaniem bezpieczeństwa, jednak w tym przypadku sygnały te albo naturalnie nagromadziły się z czasem, albo mogły zostać sztucznie wzmocnione przez atakującego. Popularność nie gwarantuje integralności, skoro każdy może opublikować podobny pakiet z przekonującym opisem.
Warstwa antydebugowa dodatkowo komplikuje analizę dynamiczną. Gdy pakiet wykryje, że jest uruchamiane pod kontrolą instrumentacji lub podłączone do debugera, a następnie wyzwalane są nieskończone pętle lub awarieZautomatyzowane piaskownice mają trudności z uzyskaniem pełnego profilu behawioralnego. To z kolei spowalnia tworzenie sygnatur i ich publiczne ujawnianie.
Wyzwania te wskazują na potrzebę bardziej solidne, zorientowane na zachowanie monitorowanie w środowiskach produkcyjnych, w którym podejrzane przepływy sieciowe, nieoczekiwane wzorce szyfrowania lub nietypowy dostęp do danych mogą zostać oznaczone nawet wtedy, gdy statyczne kontrole początkowo zatwierdzą pakiet.
Co programiści i organizacje mogą zrobić już teraz
Specjaliści ds. bezpieczeństwa, którzy badali incydent w Lotusbail, podkreślają, że programiści powinni traktować pakiety innych firm jako kod niegodny zaufania, nawet jeśli pochodzą one z głównych rejestrów, takich jak npmPraktyczne działania mogą pomóc ograniczyć narażenie na podobne zagrożenia w przyszłości.
Po pierwsze, zespoły są zachęcane do zweryfikuj pochodzenie krytycznych zależnościObejmuje to sprawdzanie oficjalnej dokumentacji lub repozytoriów pod kątem zalecanych nazw pakietów, weryfikację tożsamości wydawców i, w miarę możliwości, preferowanie bibliotek utrzymywanych przez uznane organizacje lub znanych opiekunów.
Po drugie, eksperci zalecają dodanie monitorowania czasu wykonania i wykrywania anomalii w przypadku wrażliwych integracji takich jak interfejsy API do obsługi wiadomości, moduły płatności czy narzędzia kryptograficzne. Nietypowe połączenia wychodzące, nieoczekiwana aktywność szyfrowania lub przepływy danych niezgodne z udokumentowanym zachowaniem mogą być wczesnymi oznakami naruszenia zależności.
Po trzecie, organizacje powinny utrzymywać inwentaryzacja wszystkich używanych pakietów innych firm i śledzenie zmian w czasiePrzypinanie wersji, przeglądanie rejestrów zmian i przeprowadzanie ocen bezpieczeństwa przed wprowadzeniem większych aktualizacji może pomóc w wykryciu problematycznego kodu, zanim trafi on do produkcji.
Wreszcie, w przypadkach, gdy integracje WhatsApp opierały się na złośliwej bibliotece npm, reakcja na incydent powinna wykraczać poza czyszczenie kodu. Dotknięci użytkownicy powinni zostać poinstruowani, otwórz ustawienia WhatsApp, sprawdź połączone urządzenia i usuń wszelkie nieznane sesjeBez tego kroku sparowane urządzenie atakującego może nadal mieć pełny dostęp do rozmów i treści.
Odcinek z lotusbailem jest wyraźnym przypomnieniem, że zaufanie pakietowi, ponieważ wygląda znajomo, ma tysiące pobrań lub naśladuje popularny projekt, nie jest już wystarczającePonieważ atakujący coraz częściej biorą na celownik ekosystemy programistów, staranna weryfikacja zależności i ścisła obserwacja zachowania środowiska uruchomieniowego stały się niezbędnymi elementami zapewniającymi prawdziwe bezpieczeństwo kont WhatsApp – i aplikacji zbudowanych wokół nich.