В экосистеме npm выявлен вредоносный пакет lotusbail, который маскировался под легитимную библиотеку для работы с WhatsApp Web API. На протяжении нескольких месяцев он незаметно использовался разработчиками, в то время как его скрытая функциональность позволяла злоумышленникам перехватывать переписку, выгружать контакты и получать долгосрочный доступ к аккаунтам WhatsApp жертв.
Маскировка под популярную библиотеку WhatsApp Web API
Пакет lotusbail представлял собой форк популярного проекта WhiskeySockets Baileys, широко применяемого для интеграции с WhatsApp Web. По данным исследователей, вредоносный пакет находился в репозитории npm не менее полугода и успел набрать свыше 56 000 загрузок.
Ключевой особенностью атаки стало то, что lotusbail действительно предоставлял ожидаемую разработчиками функциональность: реализацию клиентской части для WhatsApp Web API. Именно это создавало видимость легитимности и позволяло пакету органично встраиваться в проекты, не вызывая подозрений ни у разработчиков, ни у автоматизированных проверок на первый взгляд.
Функционал малвари: перехват сообщений и кража токенов WhatsApp
Контроль над аутентификацией и сессиями
По результатам анализа компании Koi Security, вредоносный код в lotusbail был встроен как обёртка над легитимным WebSocket‑клиентом, который взаимодействует с WhatsApp. Такой подход позволял направлять весь трафик между приложением и WhatsApp сначала через слой малвари.
В момент, когда пользователь проходил аутентификацию в WhatsApp Web, вредоносный враппер перехватывал токены аутентификации и ключи сессий. Точно так же обрабатывались и данные сообщений: все входящие и исходящие сообщения, списки контактов, а также отправляемые и получаемые медиафайлы и документы могли быть считаны до того, как они достигали легитимной части библиотеки.
Фактически разработчики, подключавшие lotusbail к своим проектам, невольно превращали приложения в полноценный инструмент слежки за аккаунтами своих пользователей в WhatsApp.
Многоуровневая обфускация и шифрование похищенных данных
Украденные данные не отправлялись на сервер атакующих в открытом виде. Исследователи отмечают использование кастомной реализации RSA и нескольких слоев обфускации: манипуляции с Unicode, сжатие с помощью LZString и шифрование алгоритмом AES. Такой подход значительно усложнял реверс‑инжиниринг и сигнатурное детектирование.
Только после прохождения всех этапов шифрования и сокрытия структуры данные передавались на управляющие серверы злоумышленников. В результате, при поверхностном анализе сетевого трафика вредоносная активность могла быть принята за обычный зашифрованный обмен данными.
Закрепление доступа через механизм сопряжения устройств WhatsApp
Отдельно исследователи выделяют возможность lotusbail привязывать устройство атакующего к аккаунту жертвы через стандартный механизм сопряжения устройств в WhatsApp (режим нескольких устройств). Это давало злоумышленникам устойчивый и долгосрочный доступ к переписке, даже если вредоносный пакет впоследствии удалялся из проекта или среды исполнения.
Пока пользователь вручную не проверит и не отключит подозрительное устройство в разделе «Связанные устройства» в настройках WhatsApp, атакующий мог продолжать читать сообщения, отправлять от имени жертвы и получать новые токены, оставаясь невидимым для большинства традиционных средств защиты.
Почему вредоносный npm‑пакет так долго оставался незамеченным
По оценке Koi Security, в коде lotusbail было реализовано 27 различных ловушек с бесконечными циклами, предназначенных для затруднения статического и динамического анализа. Подобные техники анти‑отладки и анти‑реверса заметно повышают трудоемкость исследования и отталкивают автоматизированные инструменты анализа.
Решающим фактором стало и то, что пакет выглядел как типичный форк популярного open source‑проекта, а его основная функциональность работала корректно. Во многих командах исходный код сторонних библиотек просматривается лишь поверхностно, а поведение в рантайме почти не мониторится, особенно если зависимость считается «инфраструктурной» и «общепринятой».
Ситуация с lotusbail вписывается в общую тенденцию: атаки на цепочку поставок (software supply chain) через npm, PyPI и другие реестры становятся одним из ключевых векторов компрометации как пользовательских систем, так и корпоративной инфраструктуры.
Рекомендации для разработчиков и команд безопасности
Немедленные шаги для тех, кто использовал lotusbail
Разработчикам и компаниям, которые интегрировали lotusbail в свои проекты, рекомендуется:
- незамедлительно удалить пакет из зависимостей и окружения сборки;
- провести инвентаризацию всех проектов, где могла использоваться библиотека (в том числе старых веток и тестовых окружений);
- проверить в WhatsApp раздел «Связанные устройства» и вручную удалить все неизвестные или подозрительные подключения;
- при необходимости перегенерировать ключи и токены, связанные с интеграциями и автоматизированными ботами WhatsApp.
Укрепление безопасности цепочки поставок npm
Чтобы снизить риск аналогичных инцидентов в будущем, имеет смысл внедрить следующие практики:
- проводить не только просмотр исходного кода зависимостей, но и динамический анализ поведения в изолированной среде (sandbox), уделяя внимание сетевой активности и операциям с файлами;
- мониторить подозрительные исходящие соединения, особенно в моменты аутентификации пользователей и при работе с мессенджерами или другими чувствительными сервисами;
- использовать инструменты анализа уязвимостей и состава зависимостей (SCA), а также подписанные артефакты и файлы блокировок (lock‑files);
- минимизировать набор прав и секретов, доступных сервисам, которые взаимодействуют с внешними API, в соответствии с принципом минимально необходимых привилегий;
- формализовать процесс добавления новых npm‑пакетов: ручной review, проверка репутации автора и репозитория, отслеживание подозрительных форков популярных библиотек.
История с lotusbail демонстрирует, что даже привычные и популярные библиотеки в экосистеме npm могут стать каналом для скрытой компрометации. Усиление контроля за зависимостями, внедрение мониторинга поведения приложений в рантайме и более строгие процессы проверки open source‑компонентов становятся необходимым условием безопасной разработки. Регулярный аудит проектов, внимательное отношение к новым пакетам и понимание рисков supply chain‑атак помогают снизить вероятность того, что невинная на вид библиотека для WhatsApp Web превратится в инструмент кражи ваших данных.