Выбор ответа Junior Безопасность цепочки поставки обновлено
curl | bash в пайплайне
Вопрос
В пайплайне есть шаг curl -s https://tool.example.com/install.sh | bash. Чем это опасно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Скрипт не проверяется: подменят на сервере, и он получит секреты. Именно так случился инцидент с Codecov: подменённый загрузчик отправлял переменные окружения CI на сторонний сервер.
Варианты ответа
- Скрипт не проверяется: подменят на сервере, и он получит секретыправильный ответ
- curl идёт по HTTP даже для https-адреса, если не указать
--proto - bash не может читать скрипт из stdin, если он больше 64 КБ
- Скрипт выполнится дважды: при скачивании и при запуске bash
Разбор
Именно так случился инцидент с Codecov: подменённый загрузчик отправлял переменные окружения CI на сторонний сервер. Безопаснее фиксировать версию, скачивать и проверять контрольную сумму или подпись, а ещё лучше брать инструмент из своего реестра или образа. curl по https-адресу ходит по HTTPS без лишних флагов, а bash читает из stdin скрипт любого размера.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.