Вредоносные npm-пакеты обходят защиту install-скриптов, пряча код в runtime
Исследователи в области безопасности раскрыли продолжающуюся вредоносную кампанию в экосистеме npm, связанную с пакетом 'indexed-btree'. Злоумышленники обходят защитные механизмы, которые проверяют install-скрипты, перенося вредоносный код в обычное runtime-поведение пакета. Эта тактика затрагивает разработчиков и организации, использующих npm-зависимости в своих проектах.
Подробности
Кампания связана с пакетом 'indexed-btree', который, судя по всему, является частью более широкой вредоносной активности в npm. Основная особенность атаки заключается в том, что вредоносная логика не запускается на этапе установки пакета — она активируется при его обычном использовании в runtime. Такой подход обходит многие распространённые защитные механизмы, применяемые разработчиками и платформами: - сканеры, проверяющие только install-скрипты (preinstall, postinstall); - инструменты, блокирующие автоматический запуск кода при установке; - политики, запрещающие выполнение внешних скриптов на CI/CD-этапах. Поскольку вредоносный код маскируется под штатное поведение пакета, его сложнее обнаружить стандартными средствами статического анализа зависимостей. Пакет 'indexed-btree' позиционирует себя как библиотека для работы с индексными структурами данных, что делает его использование в проекте внешне безобидным. Хотя конкретные CVE в исходной публикации не приводятся, сама кампания является частью продолжающейся волны атак на экосистему npm, где злоумышленники активно публикуют вредоносные пакеты под видом полезных утилит.Что делать
Разработчикам и командам безопасности рекомендуется: - Провести аудит зависимостей и убедиться, что пакет 'indexed-btree' не используется в проектах. Если он обнаружен — удалить его и проверить систему на признаки компрометации. - Не полагаться исключительно на блокировку install-скриптов как на единственную меру защиты. Внедрять анализ поведения пакетов в runtime. - Использовать инструменты SCA (Software Composition Analysis) и мониторинг подозрительной сетевой активности, исходящей от зависимостей. - Ограничить права процессов сборки и выполнения, чтобы вредоносный код не мог получить доступ к чувствительным данным, переменным окружения и учётным данным CI/CD. - Регулярно проверять lock-файлы и обновлять зависимости только из доверенных источников. Также стоит пересмотреть политики управления зависимостями: закрепление версий, использование приватных реестров и внутренних прокси для npm-пакетов снижают риск попадания вредоносных библиотек в проекты. Итог: перенос вредоносной логики в runtime — тревожная тенденция, требующая пересмотра подходов к защите цепочки поставок ПО: одного контроля install-скриптов уже недостаточно для безопасной работы с open-source зависимостями.Источник: BleepingComputer

