Задание 3.2. из руководства R4. Причинность, интервенции и контрфактичность в инженерии и менеджменте

Опишите найденные причинно-следственные связи в виде пар «причина – следствие».

Поищите ещё пары «причина-следствие», важные для вашего объяснения в контексте выдвинутых гипотез.

Укажите для каждой пары, какой типы причины вы предполагаете (необходимая, достаточная, способствующая).

Собрал все предыдущие пункты в таблицу с типами:

Причина Следствие Тип
Замена обычных базовых образов на Docker Hardened Images Меньше пакетов в базовых образах и работы с уязвимостями в них, меньше итоговый размер Достаточная
Замена обычных базовых образов на chainguard Меньше пакетов в базовых образах и работы с уязвимостями в них, меньше итоговый размер Достаточная
Замена обычных базовых образов на distroless Отстутствие shell в продовых образах Необходимая
Использование более компактных базовых образов в проде Меньше пакетов в базовых образах и работы с уязвимостями в них, меньше итоговый размер Достаточная
Ограничивать добавление новых пакетов в базовые образы вместо перехода на distroless Меньше лишних пакетов в базовых образах, только минимально необходимые Необходимая (но если вообще пакеты не добавлять, то как будто просто одна из достаточных)
Ограничивать добавление новых пакетов в базовые образы вместо перехода на distroless Лишние пакеты установлены в базовый образ до нас (например, тот же shell) Достаточная
Удаление лишних пакетов из обычных базовых образов От части лишних пакетов удастся избавиться Необходимая
Удаление лишних пакетов из обычных базовых образов Размер образов от этого не уменьшается Достаточная (можно ничего не удалять и будет то же самое)
Автоматическая пересборка базовых образов Обновление пакетов с исправлениями уязвимостей Достаточная (сами они не обновляются, но у команд тоже есть возможность обновлять пакеты)
Более частая пересборка базовых образов Меньше уязвимостей будут обнаружено на более поздних этапах жизненного цикла ПО Достаточная (у команд тоже есть возможность обновлять пакеты, могут это делать в любой момент)
Более частая пересборка базовых образов Уязвимости в базовых образах автоматически закрываются, команды разработки не блокируются найденными уязвимостями Достаточная (у команд тоже есть возможность обновлять пакеты, могут это делать в любой момент)
Добавление distroless базовых образов рядом с обычными Меньше пакетов в базовых образах для большей части приложений (они типовые) и работы с уязвимостями в них Достаточная (добавление от замены тут почти не отличается)

Обязательно придумайте хотя бы один пример контрфактического рассуждения по теме вашего исследования (возможно, ещё расширьте список причин и сделствий), и опишите отдельно возможный мир, соответствующий этому рассуждению.

Будем считать, что гипотеза 4 из предыдущего задания является таким контрфактическим рассуждением: если не цепляться за distroless-образы, можно ли как-то уменьшить ручные усилия на закрытие уязвимостей в базовых образах? Distroless-образы не видели живых динозавров, до того, как их начали предлагать вендоры, не все компании тихо собирали их у себя, и до этого уязвимости в ПО как-то закрывали и требованиям соответствовали. В вебинаре “Ошибка - не вариант”, Анатолий рассказывал про оценку вариантов, и как раз упоминал комплаенс/безопасность - нужно приемлемое решение, а не лучшее, максимизировать характеристику в нашем случае нет смысла.

Эссе о продолжении исследования с примерами написано и размещено в клубе Мастерской.
Для подробного описания результатов вашей работы сделайте табличный формат.
Вы продолжите выполнения этого задания после изучения следующего раздела.

Будем считать, что выполнение задания и есть эссе.