rm -rf * — и всё исчезает: npm заражён опасным «лечебным» модулем

Код, который не лечит, а калечит.


k5ae5jalgmli3386acb1eud0vo07h24a.jpg


Два вредоносных пакета были обнаружены в популярном реестре JavaScript-библиотек npm. За безобидными названиями скрывались настоящие стиратели данных, которые после активации удаляют все файлы в рабочей директории приложения. Речь идёт о библиотеках под названиями «express-api-sync» и «system-health-sync-api», замаскированных под инструменты для синхронизации баз данных и мониторинга системного здоровья.

По информации Socket, оба пакета содержали бэкдоры, позволяющие удалённо запускать процедуры уничтожения данных на заражённой машине. Публикация пакетов произошла в мае 2025 года, после чего они были удалены с платформы по сигналу специалистов.

«express-api-sync» на момент удаления успел набрать 855 скачиваний , а «system-health-sync-api» — 104 . Несмотря на относительно скромные цифры, масштабы потенциального ущерба крайне серьёзны: каждый из этих пакетов при активации запускал полное удаление файлов в директории приложения.

Первый из них создаёт скрытую POST-точку по адресу /api/this/that и ожидает запросов с секретным ключом DEFAULT_123. Получив его, вредонос запускает команду rm -rf *, полностью стирая содержимое рабочей директории, включая исходный код, настройки, загруженные файлы и локальные базы данных. Результат атаки возвращается злоумышленнику в виде HTTP-ответа с сообщением об успешном или неудачном завершении удаления.

Второй пакет, «system-health-sync-api», оказался более продуманным и многоступенчатым. Он регистрирует сразу несколько эндпоинтов:

  • GET /_/system/health — возвращает текущий статус сервера;
  • POST /_/system/health — основной триггер удаления;
  • POST /_/sys/maintenance — запасной триггер удаления.
Для активации используется иной секретный ключ — HelloWorld. После его получения бэкдор проводит рекогносцировку и определяет операционную систему устройства, чтобы запустить подходящую команду уничтожения: rm -rf * для Linux и rd /s /q . для Windows. Таким образом, инструмент универсален и способен работать на разных платформах.

После завершения удаления файлов, модуль отправляет письмо на электронную почту злоумышленника [email protected], в котором содержится URL backend-сервера, цифровой отпечаток системы и отчёт об успешности операции. Также атакующий сразу получает HTTP-ответ с подтверждением того, что уничтожение данных завершено.

Появление подобных стирателей в npm — редкость. В отличие от традиционных вредоносов, они не крадут данные и не добывают криптовалюту. Их функция — исключительно разрушение. Специалисты подчёркивают, что такие действия указывают на немотивированные финансово цели: саботаж, устранение конкурентов или даже вмешательство на уровне государства.

По словам специалистов, наличие подобных пакетов в публичном реестре представляет серьёзную угрозу для всего JavaScript-сообщества, особенно с учётом масштаба распространения и автоматизации зависимостей. Такие атаки способны нанести невосполнимый ущерб разработчикам, потерявшим проекты и данные без возможности восстановления.