Продолжая тему атаки на цепочку поставок (supply chain), рекомендую обратить свое внимание на статью "Detecting zero days in software supply chain with static and dynamic analysis".



Автор пытается ответить на вопрос как можно обнаружить неизвестные уязвимости (0day) в пакетах и пакеты с backdoor'ами. И для статического обнаружения он предлагает использовать инструмент semgrep, а для динамического какой-либо трассировщик системных вызовов на базе eBPF, ptrace, strace и т.д.



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



Мое виденье, что спасением здесь будет полное понимание нормального поведения вашего приложения (взаимодействие процессов, файловые операции и сетевые). Так или иначе образ собирается и тестируется на DEV, TEST, STAGE и уже далее PROD кластере. За это время тестов можно и понять нормальное поведение и аномальное.