GitHub может временно запрашивать авторизацию для клонирования публичных репозиториев
При аномальном трафике GitHub может временно требовать авторизацию для отдельных операций git clone и git fetch по HTTPS. Разработчикам стоит проверить автоматические сборки, которые получают код без авторизации.
GitHub может временно требовать авторизацию для отдельных операций с публичными репозиториями по HTTPS при аномальном трафике. Об этом 20 октября 2026 года пишет Хабр со ссылкой на сообщение сервиса. Мера касается части запросов git clone и git fetch: если Git выдаст ошибку о необходимости авторизации, можно войти и повторить команду либо дождаться снятия ограничения и попробовать снова без неё.
Когда запрос на клонирование может не пройти
Ограничение должно помогать сохранять доступность github.com при повышенной подозрительной активности. GitHub будет включать его выборочно, по признакам аномального трафика. При этом обязательную авторизацию для всех публичных репозиториев сервис не вводит.
Ошибка может появиться и у обычного пользователя. Признаки, на которые ориентируется защита, иногда совпадают у подозрительных и легитимных запросов. Поэтому, если открытый репозиторий внезапно перестал клонироваться без авторизации, причина может быть не в изменении доступа к самому репозиторию, а в ограничении конкретной операции.
GitHub не указывает, сколько будут действовать ограничения: это зависит от ситуации с трафиком. Для процессов, которые забирают код автоматически, такая неопределённость важна. Нельзя заранее рассчитать, когда повторная попытка без авторизации пройдёт успешно.
Какие операции остаются без изменений
Защита касается части операций получения данных из публичных репозиториев через HTTPS без авторизации. Операции Git по HTTPS с авторизацией она не затрагивает. Доступ к репозиториям по SSH и отправка изменений через git push также остаются без изменений.
Остальные обращения к веб-интерфейсу GitHub и API, не связанные с этой защитой, под неё не подпадают. Поэтому проверять стоит конкретный способ доступа: успешное открытие репозитория в браузере само по себе не показывает, пройдёт ли анонимный git clone в автоматическом процессе.
Мера распространяется на репозитории github.com на всех тарифных планах. Разница для команды не в плане, а в том, как именно её сценарий получает изменения. Один процесс может использовать HTTPS с авторизацией, а другой — обращаться к открытому репозиторию без неё. Сообщение GitHub касается второго случая, если его запрос попадёт под защиту.
Что проверить в сборках и рабочих сценариях
Разработчикам и командам, поддерживающим сайты, прежде всего стоит найти автоматизированные шаги, которые регулярно выполняют git clone или git fetch по HTTPS без авторизации. Если такой шаг участвует в сборке, ошибка Git может остановить процесс, хотя в самом проекте ничего не меняли. Проверка зависимости здесь полезнее, чем попытка заранее угадать, какие запросы сервис сочтёт аномальными.
GitHub рекомендует настроить авторизацию для автоматизации, которая регулярно клонирует репозитории или забирает изменения. В GitHub Actions для этого можно использовать встроенный GITHUB_TOKEN. Для других CI-систем предпочтителен токен доступа установленного приложения GitHub App; ещё один указанный вариант — персональный токен доступа, PAT.
Если настроить авторизацию невозможно, можно дождаться снятия защиты и повторить операцию. Для ручной команды это понятный выход. В автоматическом сценарии, который должен проходить без участия человека, ожидание менее удобно: ошибка оставит сборку незавершённой до новой попытки. Поэтому имеет смысл выяснить, где используется анонимный HTTPS-доступ и насколько этот шаг важен для выпуска изменений.
Владельцу сайта или маркетологу не обязательно разбираться в командах Git. Вопрос к команде проще: зависит ли публикация изменений от автоматической загрузки публичного репозитория с GitHub и авторизован ли этот процесс? Если такой зависимости нет, из сообщения сервиса не следует, что привычный порядок выпуска сайта нужно менять.
Моё мнение: сначала проверить зависимость, потом менять схему
Я бы не стал из-за этого перестраивать всю сборку. Сначала хочется увидеть конкретный шаг, который регулярно обращается к публичному репозиторию по HTTPS без авторизации. Если он есть, настройка доступа выглядит обоснованной: GitHub допускает, что ограничение заденет и обычные запросы.
Подвох, по-моему, в двух крайностях. Можно назвать ошибку редким исключением и не проверить зависимость сборки. А можно на всякий случай усложнить рабочую схему, даже не выяснив, как она получает код. Я бы начал со способа доступа и только после этого выбирал подходящий вариант авторизации.
Источники
Откуда новость. Текст — пересказ своими словами, факты — из источника, мнение — автора.
начинающий backend-разработчик
Учу Python и делаю небольшие API для учебных проектов. Пока не понимаю, где заканчивается нормальная архитектура и начинается усложнение ради красивой схемы.
Все публикации автораПохожие статьи
GitHub с 2 декабря ограничит pull_request_target в публичных репозиториях
С 2 декабря GitHub начнёт по умолчанию блокировать запуск pull_request_target в публичных репозиториях. Командам стоит заранее проверить сценарии Actions и настройки политик.
В публичных репозиториях GitHub нашли 543 тысячи действующих секретов
Truffle Security изучила 224 млн публичных репозиториев GitHub и нашла 543 тысячи действующих секретов. Многие из них оставались открытыми годами, а часть не распознаёт встроенная блокировка утечек.
GhostAction: взломаны около 1 900 аккаунтов GitHub, затронуты более 30 000 репозиториев
Кампания GhostAction затронула около 1 900 аккаунтов GitHub и более 30 000 репозиториев. Злоумышленники пытались похитить секреты CI/CD, облачные ключи и API-ключи ИИ-сервисов.
Обсуждение 4
Али Джафаров
У меня в учебной сборке `git clone` публичного репозитория работал без токена, но после такого ограничения пайплайн может просто упасть; сначала проверю, можно ли повторить запрос, а не буду сразу тащить секреты в конфиг.
Леа Майер
повторить запрос можно, но для сборки это скорее костыль: лучше заранее предусмотреть авторизацию для `clone` и `fetch`, чем ловить падение пайплайна в самый неподходящий момент
Самир Гулиев
@lena.meyer авторизация заранее — не всегда лучшее решение: для публичного репозитория это лишний секрет в сборке, который ещё надо хранить и ротировать. Я бы сначала добавил повтор запроса при ошибке, а токен подключал только если ограничение реально ломает пайплайн регулярно.
Росио Гил
в учебном макете пайплайна я бы тоже сначала добавила повтор для временной ошибки: так публичный репозиторий не тянет за собой лишний секрет. но если сборка должна быть предсказуемой, стоит отдельно проверить, что будет при повторном отказе — одного retry может не хватить 🙂