144 пакета Mastra в npm скомпрометированы через взломанный аккаунт контрибьютора

Сразу 144 npm-пакета из пространства имён Mastra (@mastra/*) оказались скомпрометированы в результате атаки на цепочку поставок программного обеспечения, получившей название easy-day-js. Об инциденте сообщили исследователи из JFrog, SafeDep, Socket и StepSecurity.

Mastra — это популярный фреймворк с открытым исходным кодом для создания приложений искусственного интеллекта на JavaScript и TypeScript.

По данным Socket, один npm-аккаунт под именем ehindero за короткий промежуток времени опубликовал более 140 вредоносных пакетов в пространстве имён Mastra 17 июня 2026 года.

При этом сами заражённые пакеты не содержали вредоносного кода напрямую. Он попадал в них через стороннюю библиотеку easy-day-js, которая была добавлена в список зависимостей каждого пакета в рамках автоматизированной кампании публикации, продолжавшейся около 88 минут.

Вредоносная библиотека easy-day-js

По данным SafeDep, пакет easy-day-js представляет собой копию популярной библиотеки для работы с датами dayjs, дополненную функциональностью для загрузки и запуска трояна удалённого доступа, предназначенного для кражи криптовалюты.

Пакет был опубликован пользователем npm под именем sergey2016 16 июня 2026 года в 07:05 UTC как полностью рабочая и безопасная копия оригинальной библиотеки. Вредоносные изменения были внесены позже 17 июня 2026 года в 01:01 UTC.

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

Как работает атака

Пакет easy-day-js запускает обфусцированную полезную нагрузку через хук postinstall, который срабатывает во время установки пакета.

На первом этапе запускается загрузчик, который отключает проверку TLS-сертификатов и получает следующий компонент атаки с подконтрольного злоумышленникам сервера 23.254.164[.]92.

После загрузки вредоносный код запускается как отдельный фоновый процесс. Затем загрузчик удаляет собственные следы, чтобы усложнить расследование инцидента.

Финальный этап представляет собой кроссплатформенный инфостилер, способный:

  • собирать историю браузеров;

  • извлекать данные более чем из 160 браузерных расширений криптовалютных кошельков;

  • обеспечивать постоянное присутствие в системах Windows, macOS и Linux;

  • отправлять украденные данные на сервер управления 23.254.164[.]123.

Как злоумышленники получили доступ

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

После обнаружения инцидента npm удалил вредоносные версии наиболее популярных пакетов и откатил их последние теги на безопасные версии.

Почему вредоносные публикации удалось выпустить

SafeDep сообщил, что официальные релизы Mastra публикуются через CI с использованием механизма Trusted Publisher от npm и сопровождаются аттестациями происхождения SLSA.

Однако злоумышленник публиковал вредоносные версии с использованием персонального токена npm и не включал аттестации происхождения.

Исследователи отметили, что во всех заражённых пакетах наблюдался одинаковый набор признаков. Хотя Mastra генерировала аттестации для публикаций через CI, их наличие не было обязательным требованием. Поэтому любой владелец обычного npm-токена мог публиковать пакеты без подтверждения происхождения.

По словам специалистов, установка с обязательной проверкой подписей и аттестаций происхождения, например через npm audit signatures или соответствующие политики безопасности, позволила бы заблокировать публикацию всех вредоносных пакетов этой кампании.

Рекомендации для пользователей

Исследователи рекомендуют считать потенциально скомпрометированными любые рабочие станции, CI-раннеры и среды сборки, на которых были установлены затронутые версии пакетов.

Рекомендуется:

  • откатиться на безопасные версии пакетов;

  • заменить все учётные данные и секреты, которые могли находиться в системе;

  • провести аудит хостов на наличие артефактов, связанных с данной кампанией.

По данным Socket, среди затронутых пакетов находится @mastra/core, который получает более 918 тысяч загрузок в неделю через npm. Это значительно увеличивает потенциальный масштаб последствий атаки.

Дополнительный риск связан с тем, что вредоносный код выполняется уже во время установки пакета. В результате система может быть заражена ещё до того, как разработчик импортирует пакет в проект или начнёт его использовать.

Источник: HN

Похожие статьи

Рекомендательные технологии Подробнее
Кибербезопасность • 6 месяцев назад

Критическая уязвимость nginx-ui позволяет захватить сервер

Критическая уязвимость в nginx-ui позволяет обходить аутентификацию и полностью захватывать сервер через открытый MCP-эндпоинт. Эксплуатация требует минимальных усилий и уже используется в атаках.

Кибербезопасность • 4 месяца назад

Нулевая уязвимость в Cisco Catalyst SD-WAN использовалась для получения root-доступа

Mandiant раскрыла подробности эксплуатации уязвимости CVE-2026-20245 в Cisco Catalyst SD-WAN. Злоумышленники использовали zero-day для повышения привилегий до root и тщательно скрывали следы своей деятельности.

Кибербезопасность • 8 месяцев назад

Уязвимости Claude Code: RCE и кража API-ключей

Недавно обнаруженные критические уязвимости в инструменте Claude Code, которые могли допустить удалённое выполнение команд и кражу API-ключей через открытие вредоносных репозиториев. Описаны категории проблем, способы их эксплуатации и исправления.

Кибербезопасность • 2 недели назад

PHP выпустила экстренные исправления двух критических уязвимостей PHP2Shell

PHP выпустила экстренные обновления для двух критических уязвимостей PHP2Shell, позволяющих выполнять код без авторизации и читать память процессов PHP. Исправления доступны для PHP 8.5, 8.4, 8.3 и 8.2. Уязвимости затрагивают различные способы запуска PHP, включая PHP-FPM и Apache mod_php.