Эксперты по кибербезопасности из Socket обнаружили два вредоносных пакета в npm-репозитории, которые под видом полезных утилит скрывают опасный функционал. Пакеты express-api-sync и system-health-sync-api, опубликованные под аккаунтом botsailer, содержат скрытые HTTP-эндпоинты, позволяющие удалять все файлы на сервере по команде злоумышленника.
Описание
Первый пакет, express-api-sync, замаскирован под инструмент для синхронизации баз данных, но на самом деле не выполняет никаких полезных функций. Вместо этого он регистрирует скрытый POST-эндпоинт /api/this/that, который при получении правильного секретного ключа (DEFAULT_123) запускает команду rm -rf *, удаляя все файлы в рабочей директории сервера.
Второй пакет, system-health-sync-api, более сложен и включает в себя функции сбора информации о системе перед уничтожением данных. Он автоматически определяет операционную систему (Windows или Unix) и подбирает соответствующую команду для удаления файлов ("rd /s /q ." для Windows или "rm -rf *" для Unix). Кроме того, пакет отправляет злоумышленнику данные о сервере, включая хеш переменных окружения, имя хоста и IP-адрес, используя SMTP-сервер с жестко закодированными учетными данными.
Оба пакета используют техники маскировки, чтобы избежать обнаружения: пустые блоки catch
, отсутствие логов и имитация легитимного функционала. Эксперты предупреждают, что подобные атаки могут быть направлены не только на кражу данных, но и на полное уничтожение инфраструктуры.
Рекомендации для разработчиков:
- Проверять зависимости перед установкой, особенно малоизвестные пакеты.
- Использовать инструменты статического анализа кода для выявления подозрительного поведения.
- Ограничивать права приложений, чтобы минимизировать ущерб в случае компрометации.
Socket уже уведомил npm о вредоносных пакетах, но угроза подчеркивает необходимость повышенной бдительности при работе с открытыми репозиториями.
Индикаторы компрометации
Domain Port Combinations
- smtp.hostinger.com:465
Emails
Malicious Packages
- express-api-sync
- system-health-sync-api