В связи с новостью об удалении/отказе/замене от Pod Security Policies и анализом последних уязвимостей, атак, в голове образовалась следующая параллель с развитием методов атак и защит из мира бинарной эксплуатации (скорее всего большинство далеки от данной темы, но я надеюсь мысль уловите).



Сначала для перехвата потока управления программы атакующие влияли тем или иным способом на Код. Чтобы это предотвратить Код обложили большим количеством механизмов безопасности типа DEP/SEHOP/ASLR/CFG/PAC/.... В итоге, были придуманы так называемые Data-Oriented Attacks, Data-only Attacks - они в свою очередь помогали перехватить поток управления не через влияния на Код, а Данные. Защиты от таких атак можно встретить только в академических работах, ввиду большого overhead'а и ряда других ограничений. При этом Данные как вы понимаете у каждой программы различаются очень сильно - нельзя стандартизировать.



Вот так же и с PodSecurityPolicy. Он был заточен только под контроль workload (Pod'ов). А в итоге, атакующий может сделать много всего “интересного” и без влияния на сущности, представляющие workload'ы - через kubernetes ресурсы чисто описывающие некоторые настройки. Тут примеры и с `PersistentVolumes и с LoadBalancer и т.д. Но ввиду что эти ресурсы (Данные и все есть `YAML) стандартизированы и есть как минимум такой механизм как Admission Controller это все можно проверять перед применением. На лицо преимущество декларативной системы и подхода Something as Code в целом.