GitHub объявил об изменении правил безопасности GitHub Actions. С 2 декабря 2026 года платформа по умолчанию будет блокировать запуск сценариев автоматизации по событию pull_request_target в публичных репозиториях. Чтобы сохранить такие сценарии, потребуется явно разрешить событие в настройках политик GitHub Actions.
Изначально ограничение планировали ввести 2 ноября, но срок перенесли на месяц.
Почему GitHub вводит ограничение
Событие pull_request_target позволяет запускать автоматизацию при работе с запросами на включение изменений (pull request), в том числе поступающими из форков. Например, его используют для автоматического назначения меток или добавления комментариев.
Проблема в том, что такие сценарии выполняются в контексте основного репозитория и могут получать доступ к его секретам. Если сценарий при этом запускает непроверенный код из стороннего форка, злоумышленник потенциально может украсть секреты или скомпрометировать процесс CI/CD.
Новая политика должна снизить риск подобных атак. При этом GitHub оставляет возможность использовать pull_request_target там, где без него действительно не обойтись.
Как будет проходить переход
Сейчас ограничение работает в режиме оценки (evaluate). Сценарии продолжают запускаться, но администраторы уже могут посмотреть, какие из них будут заблокированы после вступления новых правил в силу.
Перед окончательным включением защиты GitHub проведёт две временные блокировки:
-
9 ноября 2026 года — с 16:00 до 18:00 UTC (19:00–21:00 мск).
-
16 ноября 2026 года — с 16:00 до 18:00 UTC (19:00–21:00 мск).
В эти промежутки сценарии, подпадающие под ограничение, не будут выполняться. Вместо этого GitHub создаст запись о неудачном запуске с сообщением об ошибке.
После каждого такого периода система вернётся в режим оценки. С 2 декабря блокировка станет постоянной.
Что нужно проверить разработчикам
Если в публичном репозитории используется pull_request_target, до 9 ноября стоит проверить раздел Policy insights в настройках GitHub Actions. Там можно увидеть, какие сценарии затронет новая политика.
Дальше возможны три варианта:
-
Если
pull_request_targetне нужен, заменить его более безопасным событием, напримерpull_request, где это возможно. -
Если без него не обойтись, явно разрешить событие через политику GitHub Actions. При необходимости разрешение можно ограничить конкретными файлами сценариев.
-
Если событие не должно использоваться, оставить блокировку по умолчанию.
При этом само разрешение pull_request_target не устраняет связанных с ним рисков. GitHub рекомендует не выполнять непроверенный код из сторонних запросов на изменения с доступом к секретам репозитория или привилегированному GITHUB_TOKEN.
Изменение касается всех публичных репозиториев на тарифах GitHub Free, GitHub Team и GitHub Enterprise Cloud. Приватные и внутренние репозитории оно не затронет. На GitHub Enterprise Server новое правило также не распространяется.
Подробнее о настройке ограничений — в документации GitHub.
Все бесплатные вебинары от экспертов в IT уже доступны в календаре Otus.
Источник: habr.com