Выбор ответа Middle Зависимости и supply chain обновлено

Закрепление GitHub Actions

Вопрос

Почему сторонние GitHub Actions рекомендуют закреплять по полному SHA коммита, а не по тегу @v4?

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

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

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

Коротко

Правильный ответ: Тег можно перевесить на другой коммит и тихо подменить код; SHA неизменяем. При компрометации репозитория действия атакующий может переписать тег, и все, кто закреплён по тегу, выполнят вредоносный код с доступом к секретам.

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

  1. Теги действий не поддерживаются в приватных репозиториях и self-hosted раннерах
  2. SHA резолвится быстрее, а тег раннер ищет через API при каждом запуске пайплайна
  3. Тег можно перевесить на другой коммит и тихо подменить код; SHA неизменяемправильный ответ
  4. По тегу не приходят обновления безопасности, а по SHA Dependabot обновляет сам

Разбор

При компрометации репозитория действия атакующий может переписать тег, и все, кто закреплён по тегу, выполнят вредоносный код с доступом к секретам. Такие случаи были в реальности. SHA фиксирует конкретный код, обновления делает Dependabot или Renovate через PR. Остальные утверждения неверны.

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

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