Выбор ответа Middle Зависимости и supply chain обновлено
Закрепление GitHub Actions
Вопрос
Почему сторонние GitHub Actions рекомендуют закреплять по полному SHA коммита, а не по тегу @v4?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Тег можно перевесить на другой коммит и тихо подменить код; SHA неизменяем. При компрометации репозитория действия атакующий может переписать тег, и все, кто закреплён по тегу, выполнят вредоносный код с доступом к секретам.
Варианты ответа
- Теги действий не поддерживаются в приватных репозиториях и self-hosted раннерах
- SHA резолвится быстрее, а тег раннер ищет через API при каждом запуске пайплайна
- Тег можно перевесить на другой коммит и тихо подменить код; SHA неизменяемправильный ответ
- По тегу не приходят обновления безопасности, а по SHA Dependabot обновляет сам
Разбор
При компрометации репозитория действия атакующий может переписать тег, и все, кто закреплён по тегу, выполнят вредоносный код с доступом к секретам. Такие случаи были в реальности. SHA фиксирует конкретный код, обновления делает Dependabot или Renovate через PR. Остальные утверждения неверны.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.