CrowdSec: атака через npm-пакеты TanStack привела к копированию 170 приватных репозиториев GitHub

Материал подготовлен искусственным интеллектом на основе нескольких источников — ссылки на оригиналы приведены ниже.
Злоумышленник скопировал около 170 приватных репозиториев GitHub компании CrowdSec 22 мая, использовав учётную запись бывшего сотрудника, сообщила CrowdSec 18 сентября. Французская компания заявила, что ноутбук сотрудника был скомпрометирован в ходе майской атаки на цепочку поставок npm-пакетов TanStack. Украденный код появился на онлайн-форуме 16 сентября вместе с адресами электронной почты 83 пользователей и 51 потенциального инвестора.
Ключевые факты
- CrowdSec сообщила, что злоумышленник скопировал около 170 её приватных репозиториев GitHub 22 мая, использовав учётную запись бывшего сотрудника.
- Ноутбук сотрудника был скомпрометирован в ходе майской атаки на цепочку поставок npm-пакетов TanStack, отслеживаемой как CVE-2026-45321.
- Украденный код появился на онлайн-форуме 16 сентября вместе с адресами электронной почты 83 пользователей CrowdSec и 51 потенциального инвестора из 2020 года.
- CrowdSec удалила учётную запись бывшего сотрудника из своей организации GitHub 25 мая, через три дня после копирования и за несколько месяцев до того, как узнала об утечке.
- Та же атака TanStack затронула Mistral AI и OpenAI, при этом был получен несанкционированный доступ к ограниченному набору внутренних репозиториев кода OpenAI.
Компрометация TanStack
11 мая было опубликовано 84 вредоносных версии 42 npm-пакетов TanStack, отслеживаемых как CVE-2026-45321. Установка одной из этих версий запускала код, который крал учётные данные с машины, включая токены GitHub, SSH-ключи и облачные учётные данные, согласно рекомендации TanStack. CrowdSec сообщает, что копирование было выполнено 11 дней спустя с помощью OAuth-токена GitHub из учётной записи бывшего сотрудника, которую компания оставила открытой, чтобы он мог завершить работу. Токен не оставил следов в журналах GitHub, которые CrowdSec могла проверить, и уже не существовал, когда компания узнала об утечке. Позже служба поддержки GitHub проследила историю токена и подтвердила подозрение CrowdSec, что источником был TanStack.
Содержимое утёкшего кода
Утёкший код взят из приватных репозиториев CrowdSec, а не из её публичного open-source движка Security Engine. По данным CrowdSec, код включает веб-консоль, скрипты и модели для анализа данных, скрипты автоматизации и алгоритм консенсуса, определяющий, какие IP-адреса добавляются в блок-листы. Утечка также раскрыла пороговые значения, используемые алгоритмом консенсуса, например, сколько обнаружений требуется для добавления IP-адреса в блок-лист, что ранее не было публичным. CrowdSec сообщает, что коду почти четыре месяца, и с тех пор он сильно изменился.