Shai-Hulud прошёл через парадный вход. Официальный Tensorlake стал червём

leer en español

5061
Shai-Hulud прошёл через парадный вход. Официальный Tensorlake стал червём

Даже отзыв украденного ключа мог запустить механизм уничтожения файлов.

image

Обычное обновление SDK для ИИ-инфраструктуры оказалось ловушкой, которая запускалась ещё до первого импорта библиотеки. В npm появилась вредоносная версия tensorlake 0.5.144 с червём Shai-Hulud. Socket обнаружила релиз примерно через 11 минут после публикации, а официальный TypeScript-пакет Tensorlake скачивали около 12 тыс. раз в неделю.

Заражение начиналось через preinstall-хук, поэтому вредоносный код запускался автоматически при установке зависимости. Обфусцированный setup.mjs загружал среду Bun и передавал управление файлу Math_Symbol.js с основной нагрузкой. Пользователю не требовалось запускать Tensorlake или создавать ИИ-агента, достаточно было установить заражённый релиз.

Shai-Hulud собирал токены GitHub и npm, облачные ключи, SSH-ключи, секреты Kubernetes и Vault, данные CI/CD и локальные файлы конфигурации. Новая разновидность также искала хранилища 14 браузерных расширений для криптокошельков и запускала HackBrowserData, чтобы извлечь сохранённые учётные данные, файлы cookie и данные браузерных сессий.

Украденные токены превращали заражённую машину в новую точку распространения. Получив права на публикацию в npm, червь скачивал пакеты жертвы, добавлял собственную нагрузку, повышал номер версии и публиковал заражённые сборки. Такой механизм продолжает августовскую кампанию ChainDrop, когда Shai-Hulud затронул 444 npm-пакета с огромной суммарной аудиторией.

Отдельный механизм закреплялся в системе как gh-token-monitor и каждые 60 секунд проверял украденный GitHub-токен. Если владелец отзывал токен, вредоносный обработчик мог удалить домашний каталог пользователя. Червь также добавлял файлы настроек Claude Code и VS Code в доступные репозитории, чтобы снова запуститься при открытии проекта.

Атака затронула не сторонний клон, а официальный SDK Tensorlake. StepSecurity выяснила, что вредоносные файлы попали прямо в основную ветку GitHub под учётной записью сопровождающего, после чего штатный workflow выпустил пакет с корректной npm provenance-аттестацией. Такая подпись подтверждала происхождение сборки, но не безопасность исходного кода.

Версию 0.5.144 уже удалили из npm. На момент первых разборов предыдущая 0.5.143 оставалась чистой, а PyPI и Cargo-сборки Tensorlake признаков заражения не показывали. Командам, где успел установиться опасный релиз, рекомендуют считать доступные процессу секреты скомпрометированными и проверить историю публикаций пакетов, журналы GitHub и изменения репозиториев.

Перед отзывом GitHub-токенов источники советуют сначала изолировать заражённую систему и удалить gh-token-monitor, чтобы не сработал механизм удаления файлов. После очистки нужно заменить npm, GitHub и облачные ключи, SSH-секреты и другие учётные данные с чистого устройства, а затронутые среды пересобрать из доверенных источников и проверить на следы закрепления.

Рекламодатель
Реклама. АО «Позитив Текнолоджиз». ИНН 7718668887. 18+
Сайт рекламодателя: ptsecurity.com↗
АО «Позитив Текнолоджиз»