Пакеты MemTensor в npm и PyPI заразили стилером sckit

Неизвестные атакующие скомпрометировали пакеты MemTensor в npm и Python Package Index: вредоносный Go-имплант sckit обнаружен в версиях 0.1.21, 0.1.23 и 0.1.25 пакета @memtensor/memos-cloud-openclaw-plugin, а также в MemoryOS 2.0.34 на PyPI. Стилер рассчитан на Windows, Linux и macOS; версии 0.1.22 и 0.1.24 npm-пакета исследователи назвали чистыми.
StepSecurity, Aikido, SafeDep и Socket сообщили, что вредоносная логика была встроена в легитимные библиотеки. PyPI-проект MemoryOS на момент публикации материала был помещён на карантин, тогда как заражённые версии npm-пакета оставались доступными для загрузки.
Как запускается вредоносная нагрузка
Плагин MemOS Cloud подключает среду агентов OpenClaw к сервису памяти: он извлекает релевантные данные перед обработкой запроса и добавляет память после выполнения задачи. В заражённых npm-версиях полезная нагрузка запускается при старте agent gateway и при обработке события извлечения памяти.
По наблюдениям StepSecurity, при запуске обработчик передаёт исполняемому файлу окружение хост-процесса, а во время обращения к памяти — текст пользовательского запроса. В MemoryOS для PyPI статически скомпонованный Go-бинарник запускается сразу после импорта модуля memos в приложение.
Какие данные собирает sckit
Цель sckit — сбор учётных данных и секретов разработчика с последующей отправкой на внешний сервер skyleen[.]fr. Socket перечисляет среди интересующих стилер данных файлы .npmrc, .vault-token, id_ecdsa, credentials.db, access_tokens.json и stored_tokens.
Имплант также ищет переменные окружения с токенами, паролями, API- и приватными ключами, cookie сессий и строками подключения к базам данных или брокерам сообщений. Среди конкретных целей названы ключи AWS, токены GitHub, GitLab, npm и PyPI, а также секреты Hugging Face, HashiCorp Vault, Slack, Stripe, SendGrid и JWT.
Компрометация могла затронуть CI
SafeDep считает, что атакующие получили токены публикации из release-пайплайнов MemTensor в GitHub Actions: они отправляли коммиты, из-за которых workflow передавал токен npm или PyPI. Исследователи также отмечают, что sckit способен получать подписанные задания от управляющего сервера и содержит шаблоны установки в npm- и Python-пакеты, а также GitHub Actions workflows.
Эта цепочка укладывается в картину, которую описывает доверенные инструменты разработки становятся точкой входа, где доверенные инструменты разработки становятся точкой входа в инфраструктуру и получают доступ к ценным секретам. Пока неизвестно, были ли скомпрометированы пакеты помимо MemTensor.
Что проверить командам
Для npm-плагина рекомендуется закрепить безопасную базовую версию 0.1.20, для PyPI-пакета — 2.0.33. Организациям следует отозвать и перевыпустить секреты, которые могли быть доступны заражённым процессам, завершить процессы sckit и заблокировать skyleen[.]fr вместе со всеми поддоменами.
Особое внимание стоит уделить рабочим станциям разработчиков и CI-задачам: именно там процессы могут одновременно получать облачные конфигурации, доступ к репозиториям, токены публикации и секреты конкретного задания. Практический вывод для бизнеса — проверять версии зависимостей и доступы CI до установки обновлений, а при обнаружении затронутых версий считать связанные секреты потенциально раскрытыми.

