В npm-пакете Tensorlake нашли червя Shai-Hulud, похищающего секреты

В npm-пакете tensorlake, TypeScript SDK для приложений, песочниц и облачных сервисов Tensorlake, обнаружили вредоносный релиз 0.5.144. По оценке Socket, он содержал обфусцированное ПО для сбора учётных данных, вывода секретов, закрепления на хосте и запуска кода, полученного от атакующих. Версия 0.5.144 уже удалена из npm.
Компрометация стала частью атаки на цепочку поставок ChainDrop / Shai-Hulud. StepSecurity сообщает, что первый вредоносный коммит появился в основной ветке репозитория tensorlakeai/tensorlake 7 октября 2026 года в 01:20 UTC, а на следующий день workflow релиза опубликовал пакет в npm.
Как работал вредоносный пакет
В релиз был добавлен preinstall-хук, запускавший файл package/lib/setup.mjs. Этот обфусцированный загрузчик через среду Bun стартовал основной модуль package/lib/Math_Symbol.js, совмещающий функции стилера и самораспространяющегося червя.
Вредоносная программа искала секреты в локальных файлах, CI-окружениях, Kubernetes и HashiCorp Vault. Среди потенциально похищаемых данных названы токены npm и GitHub, учётные данные AWS, SSH-ключи, файлы .env, криптокошельки, данные мессенджеров, а также конфигурации и MCP-файлы, связанные с Anthropic Claude, Cursor, Kiro, Windsurf и Zed.
Для сбора части информации вредоносное ПО развёртывало бинарный файл HackBrowserData. Затем данные могли быть выведены атакующим, а закрепление на хосте сохраняло риск доступа даже после удаления скомпрометированной зависимости.
Распространение и механизмы управления
Shai-Hulud перечислял пакеты, связанные с издательской учётной записью жертвы, создавал provenance Sigstore и публиковал заражённые версии. Socket также обнаружила строки, указывающие на поддельный workflow Copilot или Dependabot: они могут быть связаны с добавлением GitHub Actions workflow.
Для определения адреса командного сервера использовался контракт Ethereum, а резервным механизмом был GitHub. Зашифрованные похищенные данные могли размещаться в публичном репозитории с описанием Shai-Hulud: Here We Go Again.
Отдельный компонент «hostage token» через PowerShell регулярно проверял действительность украденного токена GitHub запросами к api.github.com/user. Если владелец отзывал токен, монитор запускал обработчик атакующих через Invoke-Expression; исследователи связывают это с вероятной деструктивной процедурой, замеченной в прежних волнах Shai-Hulud.
Что проверить после установки
StepSecurity также зафиксировала создание файлов .claude/settings.json и .vscode/tasks.json в доступных репозиториях. Они предназначены для повторного запуска вредоносного кода при открытии проекта в Claude Code или VS Code.
Организациям, установившим tensorlake 0.5.144, следует удалить эту версию, отозвать и заменить доступные процессу секреты, проверить CI, GitHub Actions и локальные репозитории на посторонние файлы конфигурации. Этот случай показывает, что проверка зависимостей должна охватывать не только код библиотеки, но и install-скрипты, права токенов и признаки публикаций от имени разработчиков.

