Компания CrowdSec раскрыла подробности крупного инцидента, в результате которого злоумышленник получил доступ к содержимому примерно 170 приватных репозиториев организации на GitHub. Для скачивания исходного кода использовался OAuth-токен бывшего сотрудника, доступ которого после увольнения некоторое время оставался активным для завершения рабочих задач.
Само скачивание репозиториев произошло 22 мая 2026 года в течение примерно девяти минут — с 05:52 до 06:01 UTC. По данным CrowdSec, архив был получен с IP-адреса в Торонто. Компания связывает действия злоумышленника с участником BreachForums под ником diencracked, а опубликован архив с кодом был только 16 сентября.
CrowdSec считает, что первоначальной причиной компрометации могла стать майская атака на цепочку поставок TanStack. В рамках этой кампании злоумышленники внедряли вредоносный код в npm-пакеты и использовали его для перехвата учетных данных и токенов разработчиков. По версии компании, таким способом был скомпрометирован и GitHub-доступ бывшего сотрудника.
Сотрудник к моменту инцидента уже покинул CrowdSec, однако его учетная запись некоторое время сохраняла доступ к GitHub. Компания объясняет это тем, что разработчик должен был завершить оставшуюся работу после увольнения. Доступ был окончательно отозван 25 мая, то есть спустя три дня после скачивания репозиториев.
Расследование показало, что полученный OAuth-токен использовался для клонирования репозиториев и не применялся для изменения исходного кода. CrowdSec утверждает, что злоумышленники не вносили изменения в открытые или закрытые проекты, не получили доступ к сборочным конвейерам и не проникли в основную облачную инфраструктуру компании.
В опубликованном архиве находились более 130 публичных репозиториев, а также значительное количество закрытых проектов. Среди них были код веб-консоли CrowdSec, скрипты автоматизации, инструменты обработки данных и некоторые внутренние алгоритмы. По оценке самой компании, большая часть этих материалов без связанной инфраструктуры и рабочих данных имеет ограниченную практическую ценность.
Полностью избежать попадания чувствительных данных в архив не удалось. В коде находился действующий токен для Amazon Web Services SNS, который использовался для отправки уведомлений. CrowdSec подчеркивает, что его права были строго ограничены одной задачей и не позволяли получить широкий доступ к инфраструктуре AWS.
Кроме того, в утечку попали адреса электронной почты 83 пользователей. Эти данные использовались командой Data Science для анализа реакции на новые функции и статистики использования сервиса. По оценке CrowdSec, речь идет менее чем о 0,05% пользовательской базы, которая насчитывает около 150 тысяч человек.
В архиве также оказалась информация о 51 потенциальном инвесторе, с которыми компания взаимодействовала в 2020 году. Среди раскрытых данных были имена, адреса электронной почты и контекст инвестиционной переписки. CrowdSec планирует отдельно уведомить затронутых людей и соответствующие органы.
Компания заявляет, что клиентские базы данных и информация партнеров в утечку не попали. Также не обнаружено признаков дальнейшего проникновения злоумышленников в облачную инфраструктуру после получения исходного кода. Большинство найденных в репозиториях токенов к моменту публикации архива уже были отозваны или заменены, а оставшиеся компания оперативно сменила после обнаружения инцидента.
Помощь в расследовании оказала команда GitHub. Поскольку использованный OAuth-токен к сентябрю уже не существовал, CrowdSec не смогла самостоятельно восстановить всю историю его использования через стандартные журналы. GitHub предоставила дополнительные сведения, которые позволили связать токен с учетной записью бывшего сотрудника и подтвердить временные рамки скачивания репозиториев.
После инцидента CrowdSec пересмотрела часть внутренних мер защиты. На рабочих устройствах разработчиков стала обязательной более активная защита конечных точек, рассчитанная в том числе на обнаружение вредоносных пакетов и расширений. Компания также намерена усилить журналирование действий в GitHub и дополнительно пересмотреть процедуры отключения учетных записей после ухода работников.
Инцидент показывает, что даже многофакторная аутентификация и строгое разделение прав не полностью защищают компании от атак через цепочку поставок. В данном случае основным слабым местом оказался действующий токен учетной записи уже ушедшего сотрудника, который злоумышленники смогли использовать для доступа к большому объему закрытого исходного кода.