Комментарии 4
Если удаётся покрыть тестами 100% своего кода, это очень хорошо. Поверхность атаки искать не нужно, можно расслабиться.
Но ведь тесты обычно покрывают функциональную часть кода, успешное прохождение тестов ведь не означает, что он безопасен?
Тест может показать наличие ошибок, но ни один тест не может доказать их отсутствия.
(c) Дейкстра
Придерживаюсь позиции Шалыто А.А.
Для устранения возможности возникновения непредусмотренных состояний в программе следует на этапе проектирования явно определить все требуемые состояния и применять для их различения только одну многозначную управляющую переменную. 12
После этого необходимо явно определить все возможные переходы между состояниями и построить программу так, чтобы она не могла сойти с проложенных «рельсов»
Зачем искать поверхность атаки для своего проекта