Tensorlake npm SDK скомпрометирован: кража учетных данных и распространение через ChainDrop
Tensorlake npm SDK содержит вредоносное ПО для кражи учетных данных
Socket обнаружил скомпрометированную версию npm SDK для инфраструктуры AI-агентов Tensorlake. Релиз 0.5.144 содержит обфусцированный вредоносный код, который крадет учетные данные, эксфильтрует секреты, устанавливает персистентность и выполняет удаленно поставляемый код. Пакет загружают около 12 тысяч раз в неделю, он имеет более 1 тысячи звезд на GitHub. Tensorlake предоставляет изолированные песочницы для выполнения непроверенного кода, сгенерированного LLM. Его npm SDK позволяет разработчикам создавать и управлять этими средами из TypeScript-приложений. Вредоносная версия была опубликована 8 октября 2026 года в 01:12:07 UTC. Socket отметил ее в 01:23:10 UTC, примерно через 11 минут после публикации.
Вредоносный код запускается через preinstall hook
Манифест затронутого релиза содержит preinstall hook: "preinstall": "node lib/setup.mjs". Этот хук предоставляет вредоносному загрузчику путь для выполнения во время установки пакета. Разработчикам не нужно импортировать SDK или запускать агент, чтобы хук сработал. Socket выявил два файла в опубликованном пакете: package/lib/setup.mjs — обфусцированный загрузчик, запускающий полезную нагрузку с помощью Bun; package/lib/Math_Symbol.js — обфусцированная полезная нагрузка для кражи учетных данных и самораспространения. Анализ Socket идентифицирует кражу учетных данных из локальных файлов, CI-сред, Kubernetes и Vault. Вредоносный код также эксфильтрует собранные данные, устанавливает персистентность и поддерживает выполнение удаленно поставляемого кода. Такая комбинация расширяет риск за пределы одной украденной пары API-ключей.
Атака ChainDrop затрагивает AI-инфраструктуру
Хук установки и имена файлов полезной нагрузки соответствуют структуре, задокументированной в августовских компрометациях ChainDrop / Shai-Hulud пакетов keyv, cacheable и других. В той кампании загрузчик setup.mjs выполнял обфусцированную полезную нагрузку Math_Symbol.js, а украденные учетные данные издателя позволяли червю распространяться на дополнительные пакеты. Компрометация Tensorlake переносит эту схему атаки в инструменты, используемые для создания и эксплуатации AI-агентов. Команды могут изолировать сгенерированный код агента, устанавливая его SDK на рабочей станции разработчика, сервере приложений или в системе сборки с доступом к учетным данным развертывания и другим секретам. Код, выполняемый во время установки, наследует разрешения процесса установки. Цифра в 12 тысяч еженедельных загрузок описывает общее использование пакета, а не загрузки вредоносной версии или подтвержденные заражения.
Полезная нагрузка крадет учетные данные и распространяется через npm
Полезная нагрузка представляет собой универсальный крадник учетных данных и самораспространяющийся червь. Цели сбора включают: npm-токены, токены GitHub, учетные данные AWS, HashiCorp Vault, учетные данные Kubernetes, SSH-ключи, файлы .env, кошельки криптовалют и данные приложений обмена сообщениями. Для распространения червь перебирает пакеты, связанные с идентификатором издателя жертвы, создает Sigstore provenance и повторно публикует скомпрометированные версии. Строки, ссылающиеся на поддельный рабочий процесс Copilot/Dependabot, предполагают, что он также внедряет рабочие процессы GitHub Actions. Для связи с командным центром используется Ethereum-контракт, а не жестко закодированный домен.
Механизм "dead-man switch" реагирует на отзыв токена
Компонент "hostage token" использует PowerShell-монитор, который сохраняется через запланированную задачу ONLOGON. Он опрашивает api.github.com/user с использованием украденного токена GitHub, чтобы проверить его действительность. При отзыве токена монитор выполняет предоставленный злоумышленником обработчик через Invoke-Expression. Код также содержит строку "IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner", ранее замеченную в предыдущих волнах Shai-Hulud.
Удалите затронутый релиз и проверьте скомпрометированные хосты
Команды, использующие Tensorlake, должны проверить манифесты зависимостей, lock-файлы, логи сборки и развернутые артефакты для tensorlake@0.5.144. Заблокируйте затронутую версию и предотвратите дальнейшую установку. Определите среды, где выполнялись ее скрипты установки. Рассматривайте хосты, где выполнялся вредоносный код, как скомпрометированные. Изолируйте затронутые хосты и расследуйте персистентность. Удаление зависимости npm само по себе не удаляет персистентный имплант. Перед отзывом любых токенов удалите монитор токенов. На каждом затронутом хосте остановите и удалите persistence gh-token-monitor. Только после выполнения предыдущего шага отзовите и замените скомпрометированные учетные данные. Отзыв украденного токена GitHub при работающем мониторе активирует "dead-man switch" для очистки домашнего каталога пользователя. Проведите аудит подключенных учетных записей на предмет несанкционированного доступа, неожиданных публикаций пакетов и изменений в репозиториях или системах развертывания. Пересоберите затронутые среды из доверенных источников и используйте проверенную чистую версию перед восстановлением доступа к секретам.
Опубликовано в канале 8 октября, 12:09
Каждый материал сайта выходит в канале в тот же момент.
Источники: Socket · The Hacker News