Как заброшенные аккаунты на GitHub превратились в оружие для слежки за компаниями

Специалисты Datadog Security Labs наткнулись на нечто необычное: десятки старых, годами неактивных аккаунтов GitHub вдруг начали синхронно опрашивать API платформы, методично составляя карту корпоративных организаций, репозиториев и пользователей. Причём делали это не хаотично, а по чёткой схеме, растянутой на несколько недель.
Как заброшенные аккаунты на GitHub превратились в оружие для слежки за компаниями
Изображение носит иллюстративный характер

Речь идёт о более чем 50 «спящих» аккаунтах, созданных от двух до пяти лет назад. Всё это время они просто существовали — без единого коммита, без активности, ничем не привлекая внимания. А затем их будто разбудили и пустили в дело. По словам старшего инженера по безопасности Datadog Джули Агнес Спаркс, именно в этом и заключается расчёт атакующих: аккаунт с историей в несколько лет не вызывает подозрений так, как свежесозданный профиль, зарегистрированный вчера ради разовой операции.
Параллельно с «призрачными» аккаунтами злоумышленники задействовали и другой канал — украденные OAuth-токены и персональные токены доступа (PAT), принадлежащие вполне реальным пользователям. Таких скомпрометированных учёток набралось несколько десятков, и они добавляли операции ещё один слой правдоподобности: запросы шли как бы от имени легитимных разработчиков.
Инструментарий для сканирования тоже впечатляет своей проработкой. Это не примитивный скрипт для одноразового парсинга, а версионируемая система, которая менялась и дорабатывалась прямо в процессе кампании. Запросы маскировались под легитимные или похожие на легитимные user-agent'ы, что дополнительно усложняло фильтрацию по сигнатурам.
Основная цель — публичные данные: списки организаций, репозиториев, участников команд. Казалось бы, ничего секретного, GitHub и так открывает значительную часть своего API без авторизации. Но в нескольких случаях наблюдатели зафиксировали переход границы: атакующие не просто перечисляли публичные репозитории, а клонировали приватные. Как минимум для одной организации подтверждён факт доступа к закрытому коду.
Здесь и кроется главная сложность обнаружения подобной активности. Отдельно взятый запрос выглядит абсолютно рутинно — обращение к публичному эндпоинту, чистая или вовсе отсутствующая аутентификация, успешный ответ сервера. Ничего похожего на классические индикаторы компрометации. Проблема проявляется только при сопоставлении множества запросов между собой, когда становится видно: группа аккаунтов двигается синхронно, обходит одни и те же организации в одинаковом порядке, использует одну и ту же кастомную тулзу разных версий.
В Datadog это описали предельно конкретно: «По отдельности большинство этих запросов ничем не примечательны. Они обращаются к публичным эндпоинтам, проходят аутентификацию чисто или вообще без неё, и возвращают успешные ответы. Проблема — в совокупности: группа аккаунтов, синхронно перемещающихся по GitHub-организациям разных компаний с версионируемым кастомным инструментарием, работающим неделями, а в худшем случае — субъекты, которые перестали просто сканировать и начали клонировать».
Схема атаки укладывается в четыре последовательных этапа. Сначала идёт автоматизированная разведка — сбор данных об организациях, репозиториях и пользователях через открытый API. Затем подключаются механизмы доступа: спящие аккаунты вперемешку с угнанными OAuth-токенами и PAT. На третьем этапе часть операторов переходит от простого перечисления к активному клонированию приватных репозиториев. И всё это держится на одном простом трюке — использовании состарившихся, ничем не примечательных учёток вместо свежих, которые сразу привлекли бы внимание систем мониторинга.
Для служб безопасности компаний, использующих GitHub, это довольно неприятный сигнал. Классические подходы к обнаружению аномалий — поиск подозрительных user-agent'ов, свежесозданных аккаунтов, всплесков активности с одного IP — здесь просто не работают. Нужна корреляция на уровне организации целиком: сопоставление паттернов запросов от разных, казалось бы, независимых пользователей, отслеживание совпадений в тайминге и последовательности обращений к репозиториям.


Новое на сайте

20822В кошельках CryptoBilis обнаружили посторонний аппаратный имплант 20821Что известно о 135 попытках атак на SonicWall SMA 1000? 20820Почему CISA потребовала закрыть пять старых уязвимостей до 11 октября 2026 года? 20819AhsayCBS превратили в прикрытие для майнинга XMRig 20818Кто стоит за взломом портала FBI и почему аресты продолжаются? 20817Кто контролирует ИИ-агентов, которых компания не выбирала? 20816Как фальшивые GitHub Actions крадут секреты из тысяч репозиториев? 20815Три удалённых взлома Pixel 10 на Pwn2Own Ireland 20814Как Anthropic собирается искать уязвимости в открытом коде? 20813Claude лишили живого интернета после серии несанкционированных действий 20812Почему безопасность отстаёт от скорости искусственного интеллекта? 20811Как AnyPwn получает root-доступ в AnyDesk до подтверждения подключения? 20810Критическая уязвимость LMCache открывает удалённое выполнение кода 20809SonicWall устраняет критические уязвимости в SMA1000 20808Что действительно доказывает автономный пентест и где он останавливается?
Ссылка