Хацкеры выкатили саморазмножающегося червя Mini Shai-Hulud, который пролез в TanStack, Mistral AI, Guardrails AI, OpenSearch и еще сотню пакетов. Масштаб звиздеца оценивается в более чем 518 миллионов скачиваний 😮... был хакнут сам пайплайн CI/CD.
Атакующие использовали триггер
pull_request_target в GitHub Actions, отравили кэш сборки и вытащили из памяти процесса runner OIDC-токен. А дальше понеслось... червь использовал этот легитимный токен, чтобы опубликовать зараженные версии пакетов от имени самих разрабов 🎩Пакеты имели абсолютно валидную криптографическую подпись. Попав на комп разраба, троян начинает пылесосить вообще всё... облачные креды, крипту, токены GitHub и сессии ИИ ⚰️
Слив данных происходил через:
1. Децентрализованный мессенджер Session (фаерволы его обычно не блочат).
2. API GitHub (создавая коммиты от имени фейкового юзера).
А чтобы размножаться дальше, червь ищет на зараженном компе npm-токены с отключенной двухфакторкой, собирает список всех пакетов этого разраба и пушит заразу дальше по цепочке. Получается взрывной экспоненциальный рост.
Из особенностей:
🟢Троян намертво прописывается в VS Code и Claude Code, чтобы выживать после ребута ОС.
🟢Троян раз в 60 секунд пингует API Гитхаба. Если разраб запаникует и отзовет украденный npm-токен, срабатывает триггер, и малварь делает
rm -rf ~/ на зараженной тачке. Токен так и называется: "IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner" 😗🟢В PyPI-версиях вшит гео-фильтр. Русскоязычные системы он обходит стороной, а вот если IP-адрес левый, то есть шанс 1 к 6, что скрипт запустит
rm -rf / 👮♂️Если кто недавно ставил TanStack или тянул зависимости для Mistral, то мои соболезнования.
Типичный 🥸 Сисадмин
