Группа скоординированных и пересекающихся кампаний, проводимых на протяжении нескольких месяцев, злоупотребляет API GitHub и использует десятки «призрачных» аккаунтов, которые не активизировались в течение многих лет, для составления карт организаций и их разработчиков.
По данным исследователей из Datadog, многие из этих операций используют API для сбора общедоступной информации; некоторые пошли еще дальше, в том числе клонируя частные репозитории, взламывая токены пользователей и, в одном случае, вынося данные из частного репозитория.
Эти кампании не являются результатом действий одного злоумышленника, а представляют собой, по словам Джули Агнес Спаркс, старшего инженера по безопасности в Datadog, «сочетание настраиваемых автоматизированных сканирующих инструментов, ситуативного злоупотребления утечёнными учетными данными и скоординированных сетей одноразовых («призрачных») аккаунтов».
«По отдельности большинство этих запросов ничем не примечательно», - написала Спаркс. «Они обращаются к общедоступным конечным точкам, проходят аутентификацию без проблем или не проходят её вовсе и получают успешные ответы. Опасность заключается в совокупности: группа аккаунтов, синхронно действующая в организациях компаний на GitHub с помощью настраиваемых инструментов с управлением версиями, повторяющих свои действия в течение нескольких недель, а в худшем случае - злоумышленники, которые перестали проводить перебор и начали клонировать».
Угроза для публичных репозиториев
В более широком контексте эти скоординированные кампании являются ещё одним примером того, как группы злоумышленников всё чаще нацеливаются на среды разработчиков, взламывая репозитории кода - такие как GitHub, npm и Python Package Index (PyPI) - на которые они полагаются. Фортран отметил, что GitHub стал «стандартом для управления версиями и совместной разработки программного обеспечения», учитывая, что на этой платформе размещено более 420 миллионов репозиториев и ею пользуются более 150 миллионов разработчиков по всему миру.
Угроза только растет. По словам Джейкоба Малимбана, кибераналитика из Cofense, количество вредоносных кампаний, направленных против репозиториев Git, растет с 2021 года - причем почти 50 % всех злоупотреблений за этот период пришлось на 2025 год - в основном с целью фишинга учетных данных или доставки вредоносного ПО.
Cofense обнаружила, что 95 % кампаний были направлены против GitHub, а 5 % - против GitLab. Кроме того, 58 % кампаний были направлены на фишинг учетных данных, а остальные 42 % - на распространение вредоносного ПО.
Аутентификация не требуется
По словам Спаркса из Datadog, к большей части ресурсов, доступных через API GitHub, можно получить доступ без аутентификации. Сюда входят публичные репозитории организации, списки подписчиков и тех, на кого подписаны пользователи, репозитории, отмеченные звездочкой, а также членство в организациях. Аналогичным образом, запуск запросов GraphQL к общедоступным объектам также позволяет получить данные. Учитывая, что все эти каналы являются общедоступными, никаких предупреждений об аутентификации не возникает.
«Злоумышленник может составить подробную карту организации - включая её общедоступные репозитории, членов, тех, на кого эти члены подписаны, и проекты, с которыми они работают, - исключительно на основе общедоступных данных», - написала она. «Этот трафик не выделяется на фоне обычного использования API».
Еще одна сложность заключается в том, что при использовании внешних ресурсов GitHub не собирает данные геолокации для событий, что ограничивает возможность атрибуции на основе места происхождения сигнала и используемого VPN или прокси. Тем не менее, в журналах фиксируются данные о пользователе GitHub, отправляющем запрос, и типе используемых им токенов доступа.
Использование «призрачных» аккаунтов
Еще один способ, с помощью которого кампании остаются незамеченными, - это использование «призрачных» аккаунтов. Datadog обнаружила более 50 таких аккаунтов, используемых злоумышленниками, которые простояли без дела от двух до пяти лет, прежде чем были активированы для отправки API-трафика в адрес нескольких организаций. Спаркс отметил, что аккаунт, существующий в течение нескольких лет, часто считается более легитимным, чем тот, который был зарегистрирован в ту же неделю, когда он начал собирать данные.
Злоумышленники, как правило, используют «призрачные» аккаунты в течение одной-трех недель, после чего прекращают их использование. Во время использования этим аккаунтам присваиваются самые разные имена - от GitHub-Company-Scraper и GitHub-Scraper-Tool/1.0 до более безобидно звучащих, таких как GitHubAnalytics/1.5.
Большинство из них нацелены на GraphQL - язык запросов с открытым исходным кодом для API, - в то время как другие обращают внимание на REST, что, по словам Спаркса, вполне ожидаемо, когда речь идет о сопоставлении организаций. Это не даст злоумышленникам доступа, но позволит провести разведку.
Утечка личных токенов
В некоторых кампаниях использовались токены личных учетных записей (PAT), раскрытые пользователями, которые случайно их опубликовали или чьи системы были взломаны. В одной кампании, проведённой в период с декабря по январь, использовались три украденных токена, полученных последовательно с одних и тех же пользовательских агентов, а инфраструктура работала на хостинг-провайдере 3xK Tech, в отношении которого поступало несколько сообщений о злоупотреблениях.
«Десятки различных легитимных учетных записей пользователей GitHub отправляли запросы API к одной организации в течение всего нескольких минут», - написал Спаркс. «Их запросы были направлены на пути коммитов в частных репозиториях, и в ходе этой кампании попытки закончились неудачей. Функциональная направленность этой кампании была узкой и последовательной: перечисление репозиториев организации, извлечение коммитов и зондирование путей к частным репозиториям».
Было несколько случаев, когда участникам кампаний удалось получить доступ к данным. В одном из них пользовательский агент с псевдонимом «repo-dumper» похитил данные из частного репозитория, используя сочетание клонирования Git и запросов к API.
Следите за индикаторами
Спаркс написал, что среди признаков несанкционированной активности в среде организации - пользовательские агенты, активность событий и имена злоумышленников. Исследователи Datadog фиксируют рост числа легитимных инструментов с кодом vibe или пользовательских инструментов, имена которых похожи на идентифицированные ими пользовательские агенты.
«Важно знать, как выглядит нормальная активность в вашей среде», - написал Спаркс. «Мы рекомендуем включить потоковую передачу журналов аудита GitHub, составить базовые показатели для ваших пользовательских агентов, проактивно выявлять угрозы и разрабатывать механизмы обнаружения, уникальные для вашей организации GitHub».
Читайте также
- Как MCP и синтетические данные меняют подход к обеспечению соответствия требованиям в эпоху агентов
- 3 шага, чтобы избежать ловушки «починил-сломал»
- Хотите веб-плеер Apple Music? Попробуйте это
Подписывайтесь на наш канал в Телеграм
⚡ Подписаться