Два зловредни пакета в екосистемата на JavaScript бяха разкрити през май 2025 г., които не просто компрометират сигурността, а унищожават цялата директория на приложението, в което са внедрени. Имената им са express-api-sync и system-health-sync-api, и въпреки че се представят като полезни помощни инструменти за синхронизация на база данни и мониторинг на системното здраве, те съдържат вградени механизми за дистанционно изтриване на файлове.
Маскировка и разпространение
Според доклад на фирмата за сигурност на отворен код Socket, двата пакета са били качени в официалния регистър npm и са останали там незабелязано за известен период. През това време:
-
express-api-syncе бил свален 855 пъти, -
system-health-sync-api– 104 пъти.
Макар и на пръв поглед скромен брой, подобни злонамерени пакети могат лесно да се промъкнат в продукционни среди чрез веригата на зависимости.
Как работи express-api-sync
Този пакет регистрира скрит HTTP POST endpoint:/api/this/that, който чака заявка със специален ключ: DEFAULT_123. При получаването ѝ изпълнява разрушителната команда:
Тази команда изтрива цялото съдържание на работната директория – сорс код, конфигурации, медийни файлове, локални бази данни и др. Отговорът към атакуващия включва съобщение за успех или неуспех, напр. {"message":"All files deleted"}.
По-сложният брат: system-health-sync-api
Вторият зловреден пакет разполага с още по-изпипан механизъм:
-
GET /_/system/health→ връща статус на системата. -
POST /_/system/health→ основен механизъм за разрушение. -
POST /_/sys/maintenance→ алтернативен маршрут за унищожение.
Задейства се чрез друг ключ – HelloWorld, и преди да започне унищожаването, извършва разузнаване на средата, за да избере подходяща команда според операционната система:
-
За Linux:
rm -rf * -
За Windows:
rd /s /q .
След това резултатите и допълнителна информация за системата (fingerprint, URL и пр.) се изпращат до имейл на атакуващия – anupm019@gmail.com. Освен това, той получава и незабавен HTTP отговор с резултата от атаката.
Необичаен случай: деструкция без финансова изгода
Обикновено зловредният код в npm се стреми към кражба на криптовалута, улавяне на идентификационни данни или добавяне на backdoor-и. Тук обаче случаят е различен – няма кражба, само пълно заличаване на данни.
„Тези пакети не крадат – те унищожават“, коментират от Socket.
„Това подсказва мотивация, свързана със саботаж, конкуренция или държавно спонсорирана намеса – а не просто финансова изгода.“
Какво означава това за JavaScript общността?
Фактът, че npm – най-използваната екосистема за уеб разработка – се използва за потенциално разрушителни саботажи, е сериозен сигнал към всички разработчици и ИТ екипи. Нуждата от строг кодов одит, задълбочена проверка на зависимости и механизми за мониторинг на поведението на нови пакети става все по-належаща.









