Вредоносный пакет fezbox в npm крадет пароли из браузера с помощью инновационной техники стеганографии в QR-коде

information security

Эксперты по кибербезопасности из Socket Threat Research Team обнаружили в репозитории npm вредоносный пакет под названием fezbox, который использует многоуровневую обфускацию кода, включая инновационный метод сокрытия вредоносной нагрузки в QR-коде. Основная цель пакета - кража учетных данных (логинов и паролей) пользователей из cookies веб-браузера.

Описание

На момент публикации информация пакет остается доступным в npm, и исследователи уже обратились в службу безопасности npm с запросом на его удаление и блокировку аккаунта злоумышленника (npm псевдоним janedu, email janedu0216@gmail[.]com).

Пакет fezbox позиционируется как библиотека утилит на JavaScript/TypeScript, содержащая набор распространенных вспомогательных функций, разбитых по модулям для оптимизации импорта. В описании упоминаются поддержка TypeScript, наличие тестов и высокая производительность. Отдельно отмечается модуль для работы с QR-кодами, способный генерировать и считывать их, а также автоматически подгружать зависимости. Однако в документации умалчивается ключевой момент: при импорте библиотеки она загружает QR-код с удаленного URL-адреса и выполняет код, скрытый внутри этого изображения.

Анализ кода пакета выявил несколько слоев обфускации. Исходный код минифицирован, но после форматирования становится видна его истинная структура. Вредоносная функциональность активируется через две минуты (120 000 миллисекунд) после загрузки и только при определенных условиях: если код выполняется не в режиме разработки (isDevelopment) и с вероятностью 2/3. Это классическая тактика маскировки, призванная избежать срабатывания в виртуальных средах или песочницах, где часто проводят анализ безопасности.

Основная вредоносная нагрузка извлекается из QR-кода, расположенного по URL-адресу, который изначально представлен в виде перевернутой строки. После обращения она превращается в https://res[.]cloudinary[.]com/dhuenbqsq/image/upload/v1755767716/b52c81c176720f07f702218b1bdc7eff_h7f6pn.jpg. Внутри этого изображения закодирован JavaScript-код, дополнительно обфусцированный с помощью Unicode-экранирования символов. После декодирования становится ясно, что скрипт ищет в cookies браузера значения с именами username и password (последнее слово также записано задом наперед - drowssap). Если оба значения найдены, скрипт отправляет их через HTTPS POST-запрос на контролируемый злоумышленником сервер https://my-nest-app-production[.]up[.]railway[.]app/users.

Использование QR-кода в качестве инструмента стеганографии - это творческий подход к обфускации. Стеганография, практика сокрытия секретных данных в обычных файлах, часто применяется в аудио- или видеофайлах, но QR-коды для этих целей используются редко. Такая техника позволяет злоумышленникам эффективно скрывать вредоносный код от статических анализаторов, которые могут не проверять содержимое изображений. Дополнительные методы маскировки, такие как реверс строк и Unicode-экранирование, усложняют ручной и автоматический анализ.

Хотя современные веб-приложения редко хранят пароли в открытом виде в cookies, данная атака демонстрирует растущую изощренность угроз в цепочке поставок программного обеспечения. Злоумышленники постоянно совершенствуют методы обфускации, что делает критически важным использование специализированных инструментов для проверки зависимостей. Решения от Socket, такие как AI Scanner, GitHub App, CLI и браузерное расширение, предназначены для обнаружения подобных аномалий: подозрительных сетевых запросов, реверсированных строк и других признаков вредоносного поведения. Для разработчиков важно интегрировать такие проверки в процесс CI/CD, чтобы предотвратить попадание опасных пакетов в проекты на ранних этапах.

Обнаружение пакета fezbox лишний раз подчеркивает необходимость повышенной бдительности при работе с открытыми репозиториями. Разработчикам рекомендуется тщательно проверять зависимости, даже если они выглядят легитимно, и использовать автоматизированные средства защиты для мониторинга активности пакетов в реальном времени.

Индикаторы компрометации

URLs

  • https://my-nest-app-production.up.railway.app/users
  • https://res.cloudinary.com/dhuenbqsq/image/upload/v1755767716/b52c81c176720f07f702218b1bdc7eff_h7f6pn.jpg

Emails

  • janedu0216@gmail.com
Комментарии: 0