Экосистема NPM снова испытывает серьёзные атаки на цепочку поставок. Популярный пакет @ctrl/tinycolor, который еженедельно скачивается более 2 миллионов раз, был скомпрометирован, как и более 40 других пакетов, принадлежащих нескольким разработчикам. Эта атака продемонстрировала опасную эволюцию угроз для цепочек поставок: вредоносное ПО содержит механизм саморазмножения, который автоматически заражает нижестоящие пакеты, создавая каскадный эффект компрометации по всей экосистеме.
Компрометированные версии были удалены из NPM после того, как инцидент был обнаружен пользователем @franky47, который незамедлительно уведомил сообщество через проблему на GitHub. Технический анализ атаки раскрывает сложный механизм распространения с использованием скрипта, запакованного с помощью Webpack, который нацелен на разработчиков, работающих с Linux и macOS, и имеющих доступ к NPM, GitHub и облачным учетным данным.
Основой атаки является минифицированный файл bundle.js размером около 3.6 МБ, который выполняется во время установки NPM пакетов. Запуск атаки, вероятно, инициируется через перехваченный скрипт postinstall, встроенный в компрометированный package.json. Вредоносное ПО также использует открытые инструменты, такие как TruffleHog, для сканирования файловой системы в поисках секретов, таких как ключи AWS.
Кроме того, вредоносное ПО вводит файл потока для GitHub Actions, который обеспечивает стойкость на уровне репозиториев, а затем выводит собранные учетные данные в новую публичную репозиторий, созданный для работы сервера команд и управляющих центров.
Пользователи, использующие скомпрометированные пакеты, должны немедленно предпринять меры по идентификации и удалению этих пакетов, кроме того, рекомендуется сменить все потенциально угрожаемые учетные данные и провести аудит инфраструктуры для обнаружения подозрительных действий.