Вредоносный npm-пакет indexed-btree прятал свой загрузчик в коде во время выполнения перед удалением

Npm безопасность вредоносное по эксплойты кибербезопасность уязвимости thehackernews.com

Вредоносный пакет npm “indexed-btree” меняет тактику: скрывает вредоносный код в приложении, обходя защиту. Миллионы загрузок, возможная прибыль в криптовалюте. Защититесь от новых угроз!

Вредоносный пакет npm под названием “indexed-btree” был замечен скрывающим свою вредоносную активность в коде приложения, а не использующим скрипты жизненного цикла. Это указывает на то, что злоумышленники, вероятно, меняют тактику в ответ на недавние меры безопасности.
«Indexed-btree — это вредоносный пакет npm, имитирующий легитимный пакет sorted-btree, обычную утилиту B-дерева/индексации», — заявили в Checkmarx. «В отличие от распространенных атак, которые мы видели в пространстве цепочки поставок, этот пакет вообще не полагается на preinstall / postinstall. Вместо этого он выполняется полностью из кода приложения во время выполнения».
Пакет и связанный с ним репозиторий GitHub больше не доступны для загрузки из npm. Однако статистика показывает, что пакет был впервые загружен в реестр 18 июня 2026 года пользователем npm по имени «charlessadler25», набрав миллионы загрузок за короткий промежуток времени.
Что еще хуже, кампания могла принести незаконную прибыль злоумышленнику, заработав ему около 230 933,57 евро в криптовалюте (т.е. 109 ETH).
Это развитие событий происходит на фоне того, как npm версии 12 представила изменение безопасности для предотвращения автоматического выполнения скриптов жизненного цикла, таких как preinstall или postinstall, что является одним из наиболее распространенных способов выполнения вредоносного ПО через пакеты, распространяемые через репозиторий.
«Легитимно эти скрипты часто используются для компиляции необходимого кода, заполнения данных или настройки основных конфигураций», — заявили в Checkmarx. «Однако для злоумышленников это часто используется для автоматического выполнения вредоносного кода без согласия пользователя во время установки вредоносного пакета».
Последние выводы компании по безопасности цепочки поставок программного обеспечения показывают, что злоумышленники меняют тактику в ответ на это изменение, отказываясь от хуков установки в пользу включения вредоносного кода непосредственно в библиотеку.
В данном случае загрузчик вредоносного ПО скрыт внутри метода “BTree.prototype.set()”, который затем запускает “sharedLoad.min.js” — JavaScript-полезную нагрузку, встраивающую обфусцированную первую стадию вредоносного ПО.
Вредоносное ПО предназначено для сбора информации о хосте, отправки данных на жестко закодированный канал Slack и бот Telegram, использования техники EtherHiding для извлечения зашифрованных блоков следующей стадии из смарт-контракта, развернутого в тестовой сети Sepolia, и, наконец, их объединения для формирования полезной нагрузки второй стадии.
Заключительный шаг включает удаление вредоносных артефактов и удаление триггера из кода пакета для сокрытия следов.
Checkmarx заявил, что indexed-btree является одним из многих пакетов npm, связанных с той же операцией, все из которых с тех пор были удалены из npm.
Для противодействия угрозе разработчикам рекомендуется не ограничиваться только сканированием во время установки и блокировкой скриптов жизненного цикла, но также использовать анализ поведения во время выполнения.
«Что делает эту кампанию особенно важной, так это то, что она показывает, как злоумышленники почти немедленно адаптируются к более надежным средствам защиты цепочки поставок программного обеспечения», — заявил Энсар Секер, CISO в SOCRadar, в заявлении, переданном The Hacker News. «Npm улучшила безопасность во время установки, ограничив скрипты жизненного цикла зависимостей, но эта кампания демонстрирует, что злоумышленники могут просто переместить вредоносное выполнение в легитимно выглядящую функциональность во время выполнения вместо этого».
«Более широкий урок заключается в том, что средства контроля безопасности изменяют поведение злоумышленников, а не устраняют основную угрозу. Блокировка скриптов жизненного цикла является важным улучшением, но злоумышленники будут продолжать искать альтернативные пути выполнения. Поэтому защитникам нужны многоуровневые средства контроля, способные обнаруживать вредоносное поведение до установки, во время выполнения и после развертывания».
Это сообщение появляется на фоне того, как Socket заявила, что удалила вредоносный код в версии “dev-main” пакета “visanduma/nova-two-factor” для Packagist с более чем 700 000 совокупных загрузок в рамках продолжающейся вредоносной киберкампании, связанной с Северной Кореей, под названием PolinRider.
Отличительной чертой PolinRider является шаблон злоумышленника, который компрометирует учетные записи разработчиков для внедрения вредоносного контента в репозитории исходного кода и использует обычные действия разработчиков, такие как клонирование репозитория или открытие его в интегрированной среде разработки (IDE), в качестве триггеров для активации цепочки заражения.
Это часто включает в себя перезапись истории Git, сокрытие полезных нагрузок в файлах конфигурации или шрифтов, настройку вредоносных задач автозапуска VS Code и использование устойчивых к удалению методов, таких как EtherHiding и его ориентированный на скрытность преемник NullReceiver, для доставки поэтапных полезных нагрузок через блокчейн.
«Анализ организации Visanduma на GitHub указывает на то, что ее репозитории были скомпрометированы с середины июня 2026 года», — заявил исследователь безопасности Socket Карло Занки. «Вредоносные изменения были внесены через учетную запись разработчика LaHiRu».
Одно из заметных изменений, наблюдаемых в последней итерации, — это прямое внедрение сильно обфусцированного JavaScript в “index.php” и его выполнение с помощью функции PHP “shell_exec()“. Этот подход, помимо предоставления точки входа PHP для вызова цепочки заражения JavaScript, предполагает, что злоумышленники адаптируют свои методы выполнения в зависимости от скомпрометированного проекта, а не используют фиксированный путь доставки.
«Активность подтверждает определяющую характеристику PolinRider: компрометация реестра пакетов часто является следствием более широкого вторжения на основе Git, а не основной целью кампании», — заявили в Socket. «Операторы используют обычное сотрудничество с исходным кодом для доступа к средам разработчиков, распространения в дополнительные репозитории и поддержания доступа с течением времени».
«Скомпрометированные репозитории исходного кода дают операторам возможность заражать участников, получать доступ к частным проектам и распространяться через обычные рабочие процессы разработки. Публикация пакетов становится дополнительным путем распространения, когда скомпрометированный репозиторий выпускает новую версию».

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: