Шкідливий npm-пакет, що видає себе за WhatsApp API, непомітно викрадає облікові записи після 56 000 встановлень

Останнє оновлення: 12/23/2025
Автор: C SourceTrail
  • Шкідливий npm-форк веб-API Baileys WhatsApp, опублікований як lotusbail, був завантажений понад 56 000 разів.
  • Пакет огортає легітимний клієнт WebSocket, щоб викрадати токени, ключі сеансу, повідомлення, контакти та медіафайли у фоновому режимі.
  • Зловмисники непомітно підключають власний пристрій до облікового запису WhatsApp жертви, зберігаючи доступ навіть після видалення пакета.
  • Дослідники з Koi Security закликають розробників ретельно перевіряти залежності npm та моніторити поведінку під час виконання, щоб виявляти атаки на ланцюги поставок.

Шкідливий npm-пакет, спрямований на WhatsApp

Здавалося б, нешкідливий npm-пакет, рекламований як помічник WhatsApp Web API було спіймано на непомітному крадіжці чатів, контактів та облікових даних доступу від нічого не підозрюючих розробників та їхніх користувачів. Бібліотека, опублікована під назвою «Лотусбейл», залишався доступним протягом місяців в офіційному реєстрі npm і зумів набрати понад 56 000 завантажень, перш ніж привернув до себе серйозну увагу.

Згідно з численними незалежними публікаціями та детальним розслідуванням, проведеним Безпека коропів Кої, пакет на перший погляд поводиться як звичайний набір інструментів автоматизації WhatsApp, але у фоновому режимі він перехоплює кожне повідомлення, збирає дані облікового запису та встановлює постійний бекдор до скомпрометованих облікових записів WhatsApp. Оскільки шкідлива поведінка вбудована в легітимну функціональність, багато проектів могли б інтегрувати її, не помітивши нічого очевидного підозри.

Як фальшивий пакет WhatsApp Web API прослизнув у npm

Шкідлива бібліотека з'явилася на npm приблизно у травні 2025 року, її завантажив користувач, який просто... «seiren_primrose» і описаний як зручний API для взаємодії з WhatsApp Web. Під капотом це форк популярного проєкту з відкритим кодом @whiskeysockets/baileys, бібліотека TypeScript/JavaScript, яка пропонує API на основі WebSocket для створення ботів та автоматизацій поверх WhatsApp Web.

Точно відтворюючи публічний зв'язок та поведінку Бейліса, зловмисник забезпечив, щоб розробники могли б вбудувати пакет у існуючі робочі процеси з мінімальними змінамиДокументація та найменування були розроблені таким чином, щоб виглядати легітимно, що зменшило ймовірність того, що зайняті команди почнуть сумніватися в їхньому походженні, особливо враховуючи те, як показники використання npm часто виступають показником довіри.

Приблизно за півроку пакет накопичився понад 56 000 загальних встановлень та сотні завантажень щотижняПротягом цього часу його можна було знайти та встановити з офіційного реєстру, що фактично перетворило його на тиху загрозу для ланцюга постачання будь-якої програми, яка інтегрувала функціональність WhatsApp через JavaScript.

Дослідники наголошують, що ніщо в базовому процесі публікації npm не завадило цьому завантаженню: Будь-який користувач може опублікувати пакет із професійно звучачою назвою, скопіювати API відомого проєкту та одразу отримати видимість. в екосистемі. Саме цим реальністю зловмисники і скористалися в цьому випадку.

Зловживання клієнтом WebSocket для збору даних WhatsApp

Суть атаки полягає в тому, як lotusbail обгортає легітимний клієнт WebSocket, який взаємодіє з вебпротоколом WhatsAppЗамість того, щоб створювати новий інтерфейс з нуля, пакет вставляє власний контейнер навколо стандартної реалізації Baileys WebSocket, дозволяючи кожному вхідному та вихідному повідомленню спочатку проходити через шкідливе програмне забезпечення.

Аналіз Koi Security пояснює, що після того, як розробник автентифікується в WhatsApp через цю бібліотеку, обгортка негайно отримує токени автентифікації та ключі сеансуЗ цього моменту кожне повідомлення, яке проходить через з’єднання – вхідне чи вихідне – прозоро відображається в інфраструктурі зловмисника.

Це дзеркалювання виходить за рамки звичайних текстових чатів. Пакет розроблений для витягти історію повідомлень, списки контактів та всі вкладені медіафайли, включаючи фотографії, відео, аудіокліпи та документи. Фактично, він клонує середовище розмови користувача: з ким він спілкується, що надсилає та що отримує.

Найголовніше, що ніщо з цього не порушує нормальної поведінки, яку очікують розробники. Офіційний функціонал, здається, все ще працює належним чином, боти продовжують реагувати, автоматизація працює як завжди, а сеанси WhatsApp залишаються стабільними. Шкідливе програмне забезпечення просто додає те, що один дослідник описав як «другий, невидимий одержувач для всього», що робить виявлення шляхом випадкового спостереження вкрай малоймовірним.

Все це запускається звичайним використанням API. Жертві не потрібно виконувати додаткові команди чи вмикати спеціальні прапорці; автентифікації та звичайної обробки повідомлень достатньо для активації можливостей шпигунства, що є однією з причин, чому кампанії вдавалося діяти непоміченою протягом місяців.

Прихований доступ через бекдор: сполучення пристрою зловмисника

Окрім крадіжки даних, lotusbail пропонує більш підступну можливість: він непомітно прив'язує пристрій, контрольований зловмисником, до облікового запису жертви в WhatsAppЦе використовує той самий робочий процес сполучення кількох пристроїв, на який покладаються законні користувачі для підключення додаткових телефонів або настільних комп’ютерів до свого облікового запису.

Під час процесу входу шкідливе програмне забезпечення запускає приховану процедуру сполучення. Дослідники повідомляють, що код генерує восьмисимвольний випадковий рядок і передає його в механізм зв'язування пристроїв WhatsApp, захоплюючи стандартний процес за допомогою жорстко запрограмованого потоку сполучення, вбудованого в шкідливий пакет.

Після завершення цього сполучення пристрій зловмисника фактично стає ще одним авторизованим клієнтом цільового облікового запису. З цього моменту, Зловмисники можуть читати та надсилати повідомлення, переглядати контакти та отримувати доступ до медіафайлів, ніби вони є власниками облікового запису – і вони можуть зробити це, не покладаючись на наявність оригінального шкідливого пакета.

Саме це забезпечує стійкість атаки. Навіть якщо розробник, який піклується про безпеку виявляє підозрілу залежність та видаляє її з проєкту, компрометація не скасовується автоматично. Шкідливий код npm може бути видалений, але підключений пристрій зловмисника залишається активним, доки його не буде явно видалено зі списку довірених сеансів WhatsApp.

Експерти підкреслюють, що ця характеристика робить інцидент чимось більшим, ніж просто зараження на рівні пакета: це перетворює помилку npm на повне захоплення облікового запису, яке залишається незмінним після очищення., і воно може продовжувати наражати кінцевих користувачів на небезпеку ще довго після оновлення вразливого програмного забезпечення.

Що саме краде шкідливе програмне забезпечення – і як воно це приховує

Технічні нотатки від Koi Security та інших дослідників детально описують зібрані дані. Пакет lotusbail запрограмовано для збирати різноманітні конфіденційні артефакти WhatsApp, що виходить далеко за рамки просто тексту повідомлень.

Серед цільових пунктів є токени автентифікації, ключі сеансу та коди сполучення використовується для підтримки зв'язку між клієнтами та серверами WhatsApp. Маючи їх під рукою, зловмисники можуть відтворювати або підтримувати сеанси, навіть якщо певні пристрої перезавантажено або програмне забезпечення перевстановлено.

Шкідливе програмне забезпечення також тягне повні списки контактів та членів груп, що дозволяє зловмисникам складати карту соціального графу жертви, визначати цінні цілі або переключатися на додаткові облікові записи. У поєднанні зі змістом повідомлень це дає зловмисникам широке уявлення про стосунки, бізнес-процеси та приватні розмови.

Файли, що обмінюються через WhatsApp, піддаються аналогічному доступу. Оскільки обгортка бачить кожен кадр WebSocket, вона може запис метаданих та корисних даних для фотографій, відео, голосових нотаток та документів перш ніж їх розшифрує та відобразить клієнт. Потім цей матеріал готується для передачі на сервери, контрольовані зловмисником.

Щоб уникнути прямого виявлення на рівні мережі, пакет використовує повна, налаштована реалізація шифрування RSAПерш ніж залишити скомпрометоване середовище, всі захоплені дані шифруються локально, а це означає, що системи виявлення вторгнень або мережеві монітори, які покладаються на глибоку перевірку пакетів, побачать мало що, окрім непрозорих зашифрованих блочних об'єктів, що переміщуються до віддалених кінцевих точок.

Крім того, шкідливе програмне забезпечення містить антиналагоджувальні засоби захисту, спрямовані на те, щоб засмутити аналітиків безпекиЗвіти описують логіку, яка виявляє поширені сценарії налагодження або аналізу та реагує, занурюючи код у нескінченний цикл, фактично блокуючи процес та значно ускладнюючи динамічну перевірку.

Постійний ризик навіть після видалення пакета npm

Один із найбільш нелогічних аспектів цього інциденту полягає в тому, що Видалення шкідливої ​​залежності з проєкту не автоматично захищає уражені облікові записи WhatsApp.Постійне посилання, створене в процесі сполучення, гарантує, що доступ зловмисника збережеться після видалення.

Команди безпеки підкреслюють, що lotusbail використовує переваги багатопристроєвої моделі WhatsApp: після успішного підключення пристрою, він продовжує отримувати повідомлення та оновлення облікового запису, доки власник вручну не скасує це у налаштуваннях програми. Немає автоматичного тайм-ауту, пов’язаного з життєвим циклом пакета npm або програми хостингу.

В результаті, навіть сумлінні розробники, які виявляють та видаляють бібліотеку, можуть залишити своїх користувачів беззахисними, якщо вони також не вкажуть їм переглянути список підключених пристроїв у WhatsAppБудь-який незнайомий сеанс, що відображається у цьому списку, слід негайно відключити.

Дослідники наголошують, що цей нюанс змінює те, як організації повинні думати про відновлення. Більше недостатньо видалення шкідливого коду з конвеєрів збірки та серверівРеагування на інциденти також має поширюватися на екосистему застосунку, з якою взаємодіяв код – у цьому випадку, облікові записи WhatsApp, які були пов’язані зі скомпрометованими сеансами.

На практиці, проєкти, на які це впливає, можуть потребувати сповіщати користувачів та змінювати облікові дані WhatsApp, відновити сеанси за допомогою надійних інструментів та перевірити, чи не залишаються пристрої, контрольовані зловмисником, авторизованими для жодного облікового запису, що використовується у виробництві чи тестуванні.

Хто виявив Лотусбейл і як його розслідували

Кампанія стала відомою завдяки Koi Security, очолювана дослідником Тувалем Адмоні, який опублікував детальний аналіз поведінки пакета. Додаткові коментарі дослідника Ідан Дардікман допомогло з'ясувати, що шкідливе програмне забезпечення поводиться як прозора оболонка навколо клієнта WebSocket, активуючись, щойно починається звичайна автентифікація та потік повідомлень.

Адмоні підсумував загрозу прямолінійно: Пакет викрадає облікові дані WhatsApp, перехоплює кожне повідомлення, збирає контакти, встановлює постійний бекдор і шифрує все перед відправкою. на сервер, контрольований зловмисником. Саме таке поєднання прихованості, широти охоплення та стійкості перетворює це з простої неприємності на серйозний інцидент у ланцюжку поставок.

Статичного аналізу лише для виявлення ризику було недостатньо. Оскільки кодова база надає ті ж інтерфейси та базову поведінку, що й легітимні бібліотеки, Сигнали, засновані на репутації, такі як кількість завантажень, рейтинги зірок або базове лінтування, мало що роблять, щоб відрізнити його від справжніх інструментів.Пакет зміг залишатися на видноті, попри шкідливі доповнення.

Дослідники також зазначили, що Методи антианалізу, вбудовані в шкідливе програмне забезпечення, уповільнили зворотну інженерію, що вимагало ретельнішого підбору інструментів та аналізу пісочниці для повного визначення її можливостей. На момент публікації звіту кампанія вже мала за плечима кілька місяців операційного часу.

Ця справа швидко приєдналася до зростаючого списку атак на основі npm, які підкреслюють, як Відкриті реєстри пакетів стали основним майданчиком для загроз ланцюгам поставокХоча платформи можуть реагувати, видаляючи відомі шкідливі пакети, початковий тягар виявлення часто все ще лягає на незалежні команди безпеки та пильних розробників.

Ширша хвиля шкідливого програмного забезпечення, спрямованого проти розробників, спрямованого проти ланцюгів поставок

Відкриття lotusbail збіглося з розкриттям інформації про інші шкідливі пакети, спрямовані на екосистеми розробників, підкреслюючи, що цей інцидент є частиною ширшої тенденції, а не одноразовою аномалією.

У паралельному дослідженні фірма з безпеки ReversingLabs детально описала кластер 14 шахрайських пакетів NuGet, що видають себе за Nethereum та інші бібліотеки, пов'язані з криптовалютою у світі .NET. Як і у випадку з WhatsApp npm, ці пакети були розроблені для інтеграції з легітимними інструментами, що використовуються розробниками, що працюють з блокчейном та цифровими активами.

Згідно з цими висновками, пакети NuGet перенаправляв кошти з криптовалютних транзакцій на гаманці, контрольовані зловмисниками або непомітно видобували закриті ключі та сідерні фрази щоразу, коли сума переказів перевищувала 100 доларів США. Назви пакетів, такі як «binance.csharp», «Bitcoin Core», «bitapi.net», «coinbase.api.net», «googleads.api», «nbitcoin.unified», «nethereumnet», «nethereumunified», «nethereum.all», «solananet», «solnetall», «solnetall.net», «solnetplus» та «solnetunified», були створені, щоб викликати асоціації з відомими інструментами та сервісами.

Щоб зміцнити довіру, оператори цих бібліотек, як повідомляється, завищена статистика завантажень та часті оновлення щоб імітувати активне обслуговування та популярність. Цей рівень соціальної інженерії нагадує те, як lotusbail покладався на видимість npm та репутацію проекту Baileys, щоб отримати підтримку.

Експерти з обох дослідницьких груп сходяться в одному й тому ж пункті: Атаки на ланцюги поставок проти розробників не зменшуються; вони стають дедалі витонченішимиЗловмисники навчилися цільитися саме на ті інструменти, від яких інженери залежать щодня, чи то для інтеграції повідомлень, фінансових операцій чи загальної інфраструктури.

Чому традиційні засоби захисту мають труднощі з загрозами ланцюга поставок npm

Lotusbail також підкреслює обмеження багатьох сучасних засобів захисту, що використовуються для захисту програмних конвеєрів. Традиційні підходи, такі як статичне сканування коду, базове лінтування, прості перевірки сигнатур та метрики репутації часто налаштовані на виявлення очевидних червоних прапорців, але вони можуть легко пропустити тонку шкідливу логіку, вбудовану в інакше коректні пакети.

Оскільки бібліотека точно реалізує очікувану поверхню WhatsApp Web API, Автоматизовані інструменти можуть бачити лише дещо змінений форк відомого справного репозиторію.Навіть ручні вибіркові перевірки можуть не одразу виявити небезпеку, особливо коли шкідливий код переплітається з легітимними мережевими процедурами та процедурами шифрування.

Системи, засновані на репутації, тут не кращі. Багато організацій підсвідомо ототожнюють висока кількість завантажень та часті оновлення з безпекою, проте в цьому випадку ці сигнали або накопичувалися природним чином з часом, або могли бути штучно посилені зловмисником. Популярність не гарантує цілісності, коли хтось може опублікувати схожий пакет з переконливим описом.

Шар захисту від налагодження ще більше ускладнює динамічний аналіз. Як тільки пакет може виявити, що він працює під інструментарієм або підключений до налагоджувача, а потім запускає нескінченні цикли або збої, автоматизованим пісочницям важко отримати повний поведінковий профіль. Це, у свою чергу, уповільнює створення сигнатур та публічне розкриття інформації.

Ці виклики вказують на необхідність надійніший, орієнтований на поведінку моніторинг у виробничих середовищах, де підозрілі мережеві потоки, неочікувані шаблони шифрування або аномальний доступ до даних можуть бути позначені, навіть якщо статичні перевірки спочатку схвалюють пакет.

Що розробники та організації можуть зробити прямо зараз

Фахівці з безпеки, які розслідували інцидент з Lotusbail, наголошують, що Розробникам слід ставитися до сторонніх пакетів як до ненадійного коду, навіть якщо вони походять з основних реєстрів, таких як npmПрактичні кроки можуть допомогти зменшити вплив подібних загроз у майбутньому.

По-перше, командам рекомендується перевірити походження критичних залежностейЦе включає перевірку офіційної документації або репозиторіїв на наявність рекомендованих назв пакетів, перевірку ідентифікаційних даних видавців та, коли це можливо, надання переваги бібліотекам, що підтримуються відомими організаціями або відомими розробниками.

По-друге, експерти рекомендують додавання моніторингу виконання та виявлення аномалій навколо чутливих інтеграцій такі як API обміну повідомленнями, платіжні модулі або криптографічні інструменти. Незвичайні вихідні з’єднання, неочікувані дії шифрування або потоки даних, які не відповідають задокументованій поведінці, можуть бути ранніми ознаками порушення залежності.

По-третє, організації повинні підтримувати інвентаризація всіх сторонніх пакетів, що використовуються, та відстеження змін з часомЗакріплення версій, перегляд журналів змін та проведення оцінок безпеки перед основними оновленнями можуть допомогти виявити проблемний код, перш ніж він потрапить у продакшн.

Зрештою, у випадках, коли інтеграції WhatsApp спиралися на шкідливу бібліотеку npm, реагування на інциденти має виходити за рамки простого очищення коду. Постраждалих користувачів слід скерувати до відкрийте налаштування WhatsApp, перевірте підключені пристрої та видаліть усі невідомі сеансиБез цього кроку підключений пристрій зловмисника може й надалі мати повний доступ до розмов і контенту.

Епізод з Lotusbail слугує яскравим нагадуванням про те, що Довіряти пакету лише тому, що він виглядає знайомим, має тисячі завантажень або імітує популярний проект, вже недостатньо.Оскільки зловмисники все частіше націлюються на екосистеми розробників, ретельна перевірка залежностей та пильне спостереження за поведінкою під час виконання стали невід'ємними частинами забезпечення справжньої безпеки облікових записів WhatsApp – і програм, побудованих навколо них.

Схожі повідомлення: