Злоумышленник скачал данные из 472 из 638 репозиториев GitHub раньше, чем команда безопасности успела вмешаться: на массовую выгрузку ушло около 15 секунд, на обнаружение — пять минут. Такие атаки на машинной скорости меняют привычную экономику инцидента: даже хороший SOC может увидеть компрометацию вовремя, но проиграть несколько минут ручному согласованию. Для российских команд разработки и ИБ это повод пересмотреть не только правила MFA, но и сценарии автоматического ограничения доступа.
Об этом сообщает BleepingComputer со ссылкой на разбор Exaforce нескольких инцидентов: кражи токенов разработчиков, вредоносных установщиков инструментов для ИИ и телефонного мошенничества под видом службы поддержки. Общий паттерн один: после получения действующей учётной записи или сессии атакующие почти сразу запускают перечисление ресурсов и выгрузку данных. Защита, которая ждёт аналитика, тикет и одобрение, в этой гонке работает с заведомой задержкой.
Самый показательный случай связан с OAuth-токеном GitHub. В марте разработчик установил GitHub Desktop, авторизовался и больше программой не пользовался. Созданный токен 95 дней лежал в связке ключей macOS, а 19 июня его начал использовать посторонний. Через резидентские прокси более чем в двух десятках европейских городов он получил 76 репозиториев примерно за 15 секунд. Система Exaforce зафиксировала аномалию в течение пяти минут, ещё около пяти минут заняла первичная проверка аналитиками. Но к этому моменту выгрузка уже затронула большую часть репозиториев.
Проблема не сводится к одной настройке GitHub. По описанию Exaforce, штатные механизмы сервиса в большей степени ищут секреты и подозрительный код, а не оценивают поведение уже выданного токена. В том эпизоде тревогу дала комбинация слабых по отдельности признаков: незнакомые города и сети, массовая загрузка ZIP-архивов, пользовательский агент Windows у аккаунта, который прежде работал только с macOS. Каждый факт можно объяснить, вместе они выглядят как захват доступа. OAuth-токены с префиксом gho_ не имеют срока действия, а отключение сотрудника в провайдере идентификации само по себе не обязательно прекращает их работу в GitHub.
Для команд, активно использующих ИИ-инструменты, отдельным риском становятся цепочки поставки на рабочих ноутбуках. Разработчики устанавливают пакеты npm, подключают MCP-серверы и тестируют утилиты вне привычных CI/CD-конвейеров. Если пакет оказался заражённым, инфостилер может искать токены GitHub и облачных сервисов сразу после установки — ещё до первого коммита. Поэтому проверка репозиториев после новости о вредоносном пакете отвечает лишь на часть вопроса: нужно также понимать, какие секреты и сессии могли оказаться на машине разработчика и где они успели примениться.
Второй сценарий использует доверие к популярным ИИ-сервисам. Сотрудник, искавший команду установки Claude Code, открыл общедоступный диалог Claude с короткой инструкцией. Выполненная команда загрузила программу для macOS, которая показала поддельный запрос пароля, а затем собрала связку ключей, cookie браузера, сохранённые пароли и облачные учётные данные. Пользователь сам запускает команду, поэтому почтовые фильтры и часть средств контроля загрузок остаются за бортом. Здесь полезны средства защиты конечных точек, но расследование не должно заканчиваться удалением файла: необходимо проверить все токены и учётные данные, выпущенные для скомпрометированного пользователя.
Третий путь — вишинг, то есть звонки «из IT-поддержки». В разобранных Exaforce случаях атакующий убеждал сотрудника одобрить настоящее MFA-уведомление или зарегистрировать своё устройство MFA через похожую страницу входа. Скрипт массового скачивания запускался через 2,5–7 минут после подтверждения. В одном случае были выгружены 140 тысяч файлов, после чего злоумышленники потребовали выкуп. Поставщик идентификации может посчитать вход легитимным, если MFA действительно прошла: в одном июльском эпизоде Microsoft сначала признал вход рискованным, а затем снял риск после успешного подтверждения пользователем. Позднее украденный токен был воспроизведён из двух других стран с разницей в секунду.
Практический вывод не в том, чтобы автоматически блокировать всё подряд. Exaforce предлагает делить действия по цене ошибки. Отозвать подозрительную сессию, убрать зарегистрированный в той же сессии метод MFA или временно деактивировать ключ обычно менее болезненно, чем сбросить пароль руководителю либо остановить производственную интеграцию. Первые меры можно запускать автоматически при высокой уверенности, вторые стоит оставить человеку. При этом реагирование должно охватывать не только IdP: завершение сессии в Okta не отменяет уже выданные токены Microsoft 365, Google Workspace или GitHub.
Атаки на машинной скорости заставляют ИБ-команды измерять не только время обнаружения, но и время реального сдерживания: от первого подозрительного события до отзыва всех пригодных сессий и ключей. Чем больше доступов живёт на ноутбуках разработчиков и между облачными сервисами, тем важнее поведенческие сигналы, единая картина идентичности и заранее утверждённые низкорисковые автоматические действия. Иначе пять минут до алерта будут выглядеть неплохо лишь в отчёте, а не после утечки.
