19 октября GitHub сообщил о новой защитной мере: в периоды необычного трафика платформа может временно требовать аутентификацию для части HTTPS-клонов и fetch-запросов к публичным репозиториям на github.com.
Как это работает
- Мера включается точечно, по сигналам, связанным с аномальным трафиком, и действует для репозиториев на всех тарифах.
- Затронутая операция завершится ошибкой с сообщением, что нужна аутентификация.
- GitHub признаёт, что под ограничение иногда могут попасть и легитимные анонимные запросы.
- Это не общее требование входа для публичных репозиториев: защита временная, но конкретных сроков и порогов GitHub не называет.
Что не затронуто
Аутентифицированные операции по HTTPS, Git по SSH, push, а также веб-интерфейс и API.
Что сделать
Самые уязвимые места — сборочные пайплайны, Dockerfile, скрипты установки и менеджеры пакетов, которые анонимно клонируют чужие репозитории по HTTPS. Рекомендации GitHub:
- в GitHub Actions использовать встроенный
GITHUB_TOKEN; - в других CI — токен установки GitHub App, в крайнем случае personal access token;
- если аутентифицироваться нельзя — повторять попытку после снятия защиты.
Имеет смысл заранее добавить токены в CI, где сборки зависят от публичных репозиториев, и предусмотреть ретраи: иначе при следующей волне трафика сборки начнут падать по причине, которая не имеет отношения к вашему коду.
On Oct 19 GitHub announced a new protective measure: during periods of unusual traffic it may temporarily require authentication for some HTTPS clones and fetches of public repositories on github.com.
How it works
- It is applied narrowly, based on signals associated with anomalous traffic, and covers repositories on all plans.
- An affected operation fails with a message saying authentication is required.
- GitHub acknowledges that legitimate anonymous requests may occasionally be caught too.
- It is not a general login requirement for public repositories: the protection is temporary, but GitHub gives no duration or thresholds.
What is not affected
Authenticated HTTPS operations, Git over SSH, pushes, and the web UI and API.
What to do
The most exposed places are build pipelines, Dockerfiles, install scripts and package managers that anonymously clone third-party repos over HTTPS. GitHub recommends:
- in GitHub Actions, use the built-in
GITHUB_TOKEN; - in other CI systems, a GitHub App installation token, or a personal access token as a fallback;
- if you cannot authenticate, retry once the protection lifts.
It makes sense to add tokens to CI jobs that depend on public repos and to build in retries now — otherwise the next traffic wave will break builds for reasons unrelated to your code.