В npm обнаружена масштабная supply-chain атака на экосистему Mastra — open-source JavaScript/TypeScript-фреймворка для создания ИИ-приложений. По данным The Hacker News со ссылкой на Endor Labs, JFrog, SafeDep, Socket и StepSecurity, злоумышленники скомпрометировали 144 пакета пространства имён @mastra/* в кампании, получившей название easy-day-js.

Ключевой момент атаки в том, что сами пакеты Mastra не содержали вредоносного кода напрямую. Компрометация прошла через добавление сторонней зависимости easy-day-js, замаскированной под клон популярной библиотеки dayjs. Socket сообщает, что один npm-аккаунт, ehindero, массово опубликовал более 140 вредоносных версий в течение короткого окна 17 июня 2026 года. По оценке SafeDep, easy-day-js сначала появилась как чистая функциональная копия, а затем получила вредоносные изменения.

Вредоносная зависимость запускала obfuscated payload через postinstall hook. Loader отключал проверку TLS-сертификатов, загружал второй этап с инфраструктуры злоумышленников и запускал его как detached background process, после чего пытался стереть следы. Финальная стадия описана как кроссплатформенный инфостилер: он собирал историю браузеров, данные более чем 160 криптовалютных wallet-расширений, создавал persistence на Windows, macOS и Linux и отправлял информацию на C2-сервер.

Особенно опасно то, что Mastra применяется на стыке ИИ-разработки и облачной инфраструктуры. Такие пакеты могут устанавливаться на рабочих станциях, CI runners и build-серверах, где часто хранятся API-ключи, облачные токены, секреты моделей и доступы к репозиториям. StepSecurity прямо указывает, что это делает экосистему Mastra высокоценной целью для атак на цепочку поставки.

По данным исследователей, атакующие использовали легитимный аккаунт бывшего участника Mastra, у которого не был отозван доступ к scope. Нормальные релизы Mastra публиковались через trusted publisher flow и имели SLSA provenance attestations, однако политика не требовала их обязательно. Поэтому публикация через обычный npm token прошла без attestation, а установка с проверкой подписей или требованием provenance могла бы заблокировать волну.

Командам, которые устанавливали затронутые версии, рекомендуется считать окружения потенциально скомпрометированными: откатить пакеты, удалить вредоносную зависимость, проверить persistence и сетевые соединения, а также ротировать секреты, которые могли быть доступны на машине или CI runner.

Источник: The Hacker News, 17 июня 2026