Выбор ответа Middle CI/CD обновлено

Секреты в PR из форка

Вопрос

В открытом репозитории workflow на событие pull_request использует secrets.NPM_TOKEN. Внешний участник прислал PR из форка. Что будет с секретом?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Секрет не передаётся в такой запуск: он придёт пустым. Для pullrequest из форков GitHub не передаёт секреты репозитория (кроме GITHUBTOKEN с правами только на чтение).

Варианты ответа

  1. Секрет не передаётся в такой запуск: он придёт пустымправильный ответ
  2. Секрет будет доступен, иначе тесты не пройдут
  3. GitHub попросит автора PR ввести токен
  4. Секрет передаётся, но в логах маскируется, так что это безопасно

Разбор

Для pull_request из форков GitHub не передаёт секреты репозитория (кроме GITHUB_TOKEN с правами только на чтение). Иначе любой мог бы изменить workflow в своём PR и вывести ключ наружу.

  • Маскирование в логах не защищает: секрет можно закодировать или отправить на внешний сервер.
  • Ввода токена автором PR не предусмотрено.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме