Вторник, 28 октября, 2025
spot_img
ДомойБизнесВ реестре npm обнаружен вредоносный червь, похищающий конфиденциальные данные

В реестре npm обнаружен вредоносный червь, похищающий конфиденциальные данные

15 сентября произошла масштабная атака на репозиторий npm, используемый для хранения JavaScript-библиотек. Злоумышленники внедрили вредоносный код в популярные модули с миллионами еженедельных установок. Вирусная нагрузка собирала данные аутентификации, включая токены и криптографические ключи, а также автоматически распространялась на другие пакеты. Среди жертв — популярная библиотека @ctrl/tinycolor. Согласно данным Aikido Security, было затронуто около 150 модулей, включая продукты Crowdstrike.

Механизм заражения и действия вредоноса

Первоисточник атаки пока не установлен. Стиль исполнения напоминает недавний инцидент s1ngularity, что предполагает использование фишинга. Процесс распространения включает:

  • Инъекцию вредоносного скрипта bundle.js в пост-установочный хук пакетов. При установке модуля код активируется, работая во всех ОС, включая Windows и UNIX-системы.
  • Загрузку адаптированной под платформу версии утилиты TruffleHog для сканирования файловых систем и репозиториев на наличие высокоэнтропийных строк (API-ключей, токенов доступа).
  • Парсинг переменных окружения (GITHUB_TOKEN, NPM_TOKEN и др.) с последующей проверкой их валидности через запросы к API npm и GitHub.
  • Автоматическое обновление версий доступных жертве пакетов: скрипт скачивает текущую версию модуля, инкрементирует номер подверсии, добавляет ссылку на bundle.js и публикует модифицированный код в npm.
  • Перевод приватных репозиториев разработчиков в публичный статус для упрощения доступа к данным.

Эксплуатация украденной информации

Утечка конфиденциальных данных реализована двумя путями:

Использование GitHub-репозитория. С использованием скомпрометированного токена создается публичное хранилище Shai-Hulud, куда помещается JSON-файл с собранными секретами и метаданными системы.

Применение GitHub Actions. Запускается автоматизированный процесс (github/workflows/shai-hulud-workflow.yml), который кодирует украденные данные и отправляет их через вебхук на контролируемый злоумышленниками домен webhook[.]site.

Меры по устранению последствий

Информация о заражении tinycolor и других пакетов появилась в ночь на 16 сентября. К утру npm начал удаление вредоносных версий, восстановив исходный код модулей. В официальной истории пакетов следы атаки отсутствуют, но факт компрометации подтверждён уведомлениями GitHub. После 5 часов отсутствия новых инцидентов угроза считалась нейтрализованной. Однако из-за червячной природы атаки возможны повторные взломы, если npm не запретит использование опасных файлов.

Для пострадавших рекомендованы следующие действия:

  • восстановление предыдущих версий пакетов и очистка npm-кэша;
  • проверка инфраструктуры CI/CD и рабочих станций на признаки вмешательства;
  • мониторинг логов на предмет подозрительных операций npm publish;
  • смена всех критических токенов и ключей (npm, GitHub, AWS, GCP, Azure), которые могли быть раскрыты.

Продукты «Лаборатории Касперского» классифицируют угрозу как Worm.Script.Shulud.*. Полный список заражённых модулей доступен на GitHub.

Также по теме

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь

- Advertisment -spot_img

Популярное

Последние комментарии