В период с середины мая по начало июня 2026 года злоумышленники провели скоординированную атаку на несколько организаций, использующих GitHub для хранения исходного кода и внутренней документации. Инструментом проникновения стали личные токены доступа - специальные ключи, которые разработчики используют для автоматизации работы с репозиториями. Получив контроль над такими токенами, атакующие смогли прочитать закрытые репозитории, скопировать их содержимое и попытаться использовать украденные учётные данные для дальнейшего проникновения в облачные среды.
Описание
Кампания развивалась постепенно. Сначала злоумышленники провели разведку: через один из серверов Amazon Web Services они запрашивали информацию об описаниях репозиториев, определяя, какие проекты представляют наибольшую ценность. Затем последовал этап проверки: с небольшого числа серверов было скопировано ограниченное количество репозиториев, чтобы убедиться в работоспособности похищенных токенов. Кульминацией стал массовый вынос данных в начале июня, когда в течение нескольких часов автоматизированные средства скопировали тысячи репозиториев для каждой из пострадавших компаний.
Как выяснила команда Wiz CIRT, атака имела три чётко выраженные фазы. Разведка велась 15 мая, проверка токенов - с 29 по 31 мая, а основное копирование произошло 1 июня. При этом все операции выполнялись с использованием легитимных учётных записей сотрудников, что делало атаку незаметной для стандартных средств защиты. По оценкам аналитиков, злоумышленники применяли автоматизированные инструменты, которые параллельно обрабатывали множество репозиториев и действовали без участия человека.
Особую тревогу вызывает то, что источник утечки токенов так и не был установлен. Следствие не обнаружило следов токенов в коде, облачных хранилищах или конфигурационных файлах. Наиболее вероятной причиной компрометации считается заражение рабочих компьютеров сотрудников, однако подтвердить это не удалось. Это означает, что атакующие могли получить доступ к токенам через вредоносное программное обеспечение на конечных устройствах, которое остаётся незамеченным до сих пор.
Последствия подобной утечки выходят далеко за рамки потери исходного кода. В скопированных репозиториях часто содержатся учётные данные для облачных сервисов, ключи шифрования, пароли к базам данных и внутренним системам. Если злоумышленники успеют использовать эти данные до того, как их отзовут, они смогут проникнуть в инфраструктуру компании, похитить персональные данные клиентов или нарушить работу критических сервисов. Кроме того, публикация украденного исходного кода может нанести непоправимый ущерб репутации и конкурентным преимуществам.
Для реагирования на такие инциденты Wiz CIRT рекомендует действовать по чёткому плану. Первым шагом должно быть немедленное отозвание скомпрометированных токенов и временное отключение пострадавших пользователей от организаций GitHub. Параллельно необходимо расширить временные границы расследования: изучить журналы активности за несколько недель до обнаружения атаки, чтобы выявить более ранние следы злоумышленников. Важно также проверить, не были ли украдены другие секреты, хранящиеся в репозиториях, и оценить масштаб ущерба.
Ключевой элемент защиты - ротация всех учётных данных, которые могли оказаться в украденных репозиториях. Это касается не только токенов GitHub, но и облачных ключей, сертификатов, паролей от внутренних сервисов. После ротации необходимо проверить журналы на предмет подозрительной активности с использованием этих учётных данных, чтобы понять, не проникли ли злоумышленники глубже. Любой секрет, попавший в руки атакующих, должен считаться скомпрометированным, даже если признаков его использования пока не найдено.
Сложность расследования таких инцидентов заключается в том, что улики разбросаны по разным системам: журналы GitHub, облачные платформы, кодовые базы. Без единой точки сбора данных сложно восстановить полную картину атаки и вовремя заметить переход злоумышленников из GitHub в облачную среду. Решением может стать потоковая передача журналов GitHub в централизованную платформу безопасности, которая сопоставляет события из разных источников и автоматически выявляет подозрительные цепочки действий.
Координация между командами разработки, эксплуатации и безопасности становится критически важной. В рассмотренном случае атака затронула несколько организаций одновременно, что указывает на хорошо подготовленного противника, возможно, действующего в автоматическом режиме. Своевременное обнаружение массового клонирования репозиториев и быстрая реакция на него могли бы значительно сократить ущерб. Однако без предварительно настроенного мониторинга и отработанных процедур реагирования организации рискуют обнаружить проблему только после того, как данные уже будут использованы во вред.
Wiz CIRT подчёркивает, что угроза, связанная с личными токенами доступа, будет только расти, поскольку компании всё активнее переносят разработку в облачные среды. Токены стали новым видом ценных активов, которые злоумышленники целенаправленно охотятся за ними. Регулярная проверка прав доступа, использование короткоживущих токенов, многофакторная аутентификация и обучение разработчиков правилам гигиены безопасности - базовые, но необходимые меры, позволяющие снизить риск подобных инцидентов.