Французская компания по кибербезопасности CrowdSec сообщила 18 сентября, что злоумышленник скопировал около 170 её закрытых репозиториев GitHub. Копирование произошло 22 мая через учётную запись недавно уволившегося сотрудника. Доступ к GitHub ему намеренно оставили, чтобы он закончил оставшуюся работу. О случившемся CrowdSec узнала спустя почти четыре месяца: 16 сентября архив с исходным кодом появился на интернет-форуме.

Предполагаемая точка входа связана с атакой на цепочку поставок TanStack. 11 мая злоумышленники опубликовали 84 вредоносные версии 42 пакетов TanStack в npm; инцидент получил идентификатор CVE-2026-45321. Согласно уведомлению TanStack, установка заражённой версии запускала код, похищавший GitHub-токены, SSH-ключи и облачные учётные данные. CrowdSec считает, что один из таких пакетов попал на ноутбук бывшего сотрудника, а украденный GitHub OAuth-токен использовали 22 мая, через 11 дней после публикации вредоносных пакетов.
Из организации CrowdSec в GitHub бывшего сотрудника удалили 25 мая, через три дня после копирования репозиториев и задолго до обнаружения утечки. Остальные его доступы к тому моменту уже отозвали, поэтому следов подозрительной активности в AWS компания не нашла. Сам OAuth-токен не отображался в доступных CrowdSec журналах GitHub, а к сентябрю уже не существовал. Служба поддержки GitHub позднее восстановила его историю и, по словам CrowdSec, подтвердила связь с атакой на TanStack. При этом компания не назвала конкретный заражённый пакет, не установила дату его установки и не опубликовала собственные выводы GitHub. Проверка компьютеров действующих разработчиков заражения не обнаружила.
По версии CrowdSec, скомпрометированную учётную запись применили только для выгрузки кода. Доступа к инфраструктуре и базам данных не было, исходники никто не менял, подозрительных операций в среде AWS также не выявили. Утечка затронула частные репозитории, а не публичный продукт Security Engine. Этот движок обнаруживает атаки на серверы; пользователи, которые передают сведения о найденных угрозах, получают общую блок-листу вредоносных IP-адресов.
В архив вошёл код веб-консоли, скрипты автоматизации, модели и скрипты для анализа данных, а также алгоритм консенсуса, по которому IP-адреса добавляются в блок-листы CrowdSec. На момент публикации код был почти четырёхмесячной давности и, как утверждает компания, с мая существенно изменился. Тем не менее наружу вышли ранее закрытые пороговые значения алгоритма, включая число обнаружений, необходимое для блокировки адреса.
CrowdSec утверждает, что знание этих порогов всё равно не позволяет легко «отравить» блок-лист, заставив систему заблокировать безвредный IP-адрес. Для этого потребовались бы десятки обнаружений от десятков доверенных движков, работающих в десятках независимых сетей, что обошлось бы атакующему недёшево. Пороговые значения можно менять, и компания, по её словам, делает это регулярно.
Единственными ещё работавшими учётными данными в архиве оказался ключ Amazon Web Services Simple Notification Service, или AWS SNS. Его права были узкими: только публикация сообщений и только в одну тему SNS. 17 августа кто-то попытался воспользоваться ключом, примерно за месяц до появления архива на форуме, но дальше отправки запроса не продвинулся. Остальные обнаруженные токены, насколько известно CrowdSec, уже заменили либо ими нельзя было воспользоваться из общедоступного интернета. Все раскрытые учётные данные компания дополнительно обновила 16 и 17 сентября.
В архиве находились адреса электронной почты 83 пользователей CrowdSec. Их сохранила команда анализа данных, изучавшая использование продукта. На фоне примерно 150 000 пользователей компании число невелико, но данные всё равно считаются раскрытыми; CrowdSec собирается уведомить каждого затронутого человека. Там же обнаружилась информация о 51 потенциальном инвесторе: имена, электронные адреса и контекст возможных вложений, собранные системой 2020 года, которая не предназначалась для публикации.
Об утечке сведений об инвесторах CrowdSec намерена сообщить самим пострадавшим и соответствующим органам. Генеральный директор Philippe Humeau обратился к ним в отчёте со словами: «За это я лично приношу извинения». На момент майского инцидента компания не требовала обязательной установки средств защиты конечных устройств на компьютеры разработчиков. После утечки такое программное обеспечение внедрили на ноутбуках сотрудников, работающих с исходным кодом и системами CrowdSec. Ни первоначальное заявление, ни подробный отчёт не предписывали клиентам предпринимать какие-либо действия.
Та же атака на TanStack задела и другие технологические компании. Mistral AI сообщила об участии в инциденте устройства одного разработчика. OpenAI обнаружила заражение двух устройств сотрудников и несанкционированный доступ к ограниченному набору внутренних репозиториев с кодом. Эти случаи укладываются в механику атаки через npm: вредоносный пакет исполнялся на рабочем компьютере, после чего похищенные токены позволяли действовать от имени разработчика без взлома самой платформы GitHub.
Первое заявление CrowdSec, опубликованное 17 сентября, заметно расходилось с полным отчётом от 18 сентября. Сначала компания утверждала: «Никакие клиентские данные, логины или пароли, имена, названия организаций или что-либо ещё не утекли». Тогда же ущерб называли ограниченным самой CrowdSec, а причиной считали, вероятнее всего, внедрённый в мае бэкдор в использовавшийся внутри компании компонент. По первоначальной версии, компонент похитил API-ключ с правом чтения частного кода; отдельно заявлялось, что имена инвесторов не раскрыты. Уже на следующий день CrowdSec признала, что вредоносных версий пакетов TanStack в её собственном коде не нашли, доступ получили через OAuth-токен бывшего сотрудника, а архив всё-таки содержал адреса 83 пользователей и сведения о 51 потенциальном инвесторе, включая их имена.[/final]

Изображение носит иллюстративный характер
Предполагаемая точка входа связана с атакой на цепочку поставок TanStack. 11 мая злоумышленники опубликовали 84 вредоносные версии 42 пакетов TanStack в npm; инцидент получил идентификатор CVE-2026-45321. Согласно уведомлению TanStack, установка заражённой версии запускала код, похищавший GitHub-токены, SSH-ключи и облачные учётные данные. CrowdSec считает, что один из таких пакетов попал на ноутбук бывшего сотрудника, а украденный GitHub OAuth-токен использовали 22 мая, через 11 дней после публикации вредоносных пакетов.
Из организации CrowdSec в GitHub бывшего сотрудника удалили 25 мая, через три дня после копирования репозиториев и задолго до обнаружения утечки. Остальные его доступы к тому моменту уже отозвали, поэтому следов подозрительной активности в AWS компания не нашла. Сам OAuth-токен не отображался в доступных CrowdSec журналах GitHub, а к сентябрю уже не существовал. Служба поддержки GitHub позднее восстановила его историю и, по словам CrowdSec, подтвердила связь с атакой на TanStack. При этом компания не назвала конкретный заражённый пакет, не установила дату его установки и не опубликовала собственные выводы GitHub. Проверка компьютеров действующих разработчиков заражения не обнаружила.
По версии CrowdSec, скомпрометированную учётную запись применили только для выгрузки кода. Доступа к инфраструктуре и базам данных не было, исходники никто не менял, подозрительных операций в среде AWS также не выявили. Утечка затронула частные репозитории, а не публичный продукт Security Engine. Этот движок обнаруживает атаки на серверы; пользователи, которые передают сведения о найденных угрозах, получают общую блок-листу вредоносных IP-адресов.
В архив вошёл код веб-консоли, скрипты автоматизации, модели и скрипты для анализа данных, а также алгоритм консенсуса, по которому IP-адреса добавляются в блок-листы CrowdSec. На момент публикации код был почти четырёхмесячной давности и, как утверждает компания, с мая существенно изменился. Тем не менее наружу вышли ранее закрытые пороговые значения алгоритма, включая число обнаружений, необходимое для блокировки адреса.
CrowdSec утверждает, что знание этих порогов всё равно не позволяет легко «отравить» блок-лист, заставив систему заблокировать безвредный IP-адрес. Для этого потребовались бы десятки обнаружений от десятков доверенных движков, работающих в десятках независимых сетей, что обошлось бы атакующему недёшево. Пороговые значения можно менять, и компания, по её словам, делает это регулярно.
Единственными ещё работавшими учётными данными в архиве оказался ключ Amazon Web Services Simple Notification Service, или AWS SNS. Его права были узкими: только публикация сообщений и только в одну тему SNS. 17 августа кто-то попытался воспользоваться ключом, примерно за месяц до появления архива на форуме, но дальше отправки запроса не продвинулся. Остальные обнаруженные токены, насколько известно CrowdSec, уже заменили либо ими нельзя было воспользоваться из общедоступного интернета. Все раскрытые учётные данные компания дополнительно обновила 16 и 17 сентября.
В архиве находились адреса электронной почты 83 пользователей CrowdSec. Их сохранила команда анализа данных, изучавшая использование продукта. На фоне примерно 150 000 пользователей компании число невелико, но данные всё равно считаются раскрытыми; CrowdSec собирается уведомить каждого затронутого человека. Там же обнаружилась информация о 51 потенциальном инвесторе: имена, электронные адреса и контекст возможных вложений, собранные системой 2020 года, которая не предназначалась для публикации.
Об утечке сведений об инвесторах CrowdSec намерена сообщить самим пострадавшим и соответствующим органам. Генеральный директор Philippe Humeau обратился к ним в отчёте со словами: «За это я лично приношу извинения». На момент майского инцидента компания не требовала обязательной установки средств защиты конечных устройств на компьютеры разработчиков. После утечки такое программное обеспечение внедрили на ноутбуках сотрудников, работающих с исходным кодом и системами CrowdSec. Ни первоначальное заявление, ни подробный отчёт не предписывали клиентам предпринимать какие-либо действия.
Та же атака на TanStack задела и другие технологические компании. Mistral AI сообщила об участии в инциденте устройства одного разработчика. OpenAI обнаружила заражение двух устройств сотрудников и несанкционированный доступ к ограниченному набору внутренних репозиториев с кодом. Эти случаи укладываются в механику атаки через npm: вредоносный пакет исполнялся на рабочем компьютере, после чего похищенные токены позволяли действовать от имени разработчика без взлома самой платформы GitHub.
Первое заявление CrowdSec, опубликованное 17 сентября, заметно расходилось с полным отчётом от 18 сентября. Сначала компания утверждала: «Никакие клиентские данные, логины или пароли, имена, названия организаций или что-либо ещё не утекли». Тогда же ущерб называли ограниченным самой CrowdSec, а причиной считали, вероятнее всего, внедрённый в мае бэкдор в использовавшийся внутри компании компонент. По первоначальной версии, компонент похитил API-ключ с правом чтения частного кода; отдельно заявлялось, что имена инвесторов не раскрыты. Уже на следующий день CrowdSec признала, что вредоносных версий пакетов TanStack в её собственном коде не нашли, доступ получили через OAuth-токен бывшего сотрудника, а архив всё-таки содержал адреса 83 пользователей и сведения о 51 потенциальном инвесторе, включая их имена.[/final]