Что это: Метод анализа исходного кода, байт-кода или бинарного кода приложения без его выполнения ("белый ящик"). Анализатор ищет шаблоны, соответствующие известным уязвимостям (CWE).
Как работает: Сканирует файлы проекта, строит абстрактное синтаксическое дерево (AST), анализирует потоки данных (data flow) и управляющие потоки (control flow) для выявления таких проблем, как SQL-инъекции, XSS, использование небезопасных функций, ошибки работы с памятью (в C/C++).
Плюсы: Находит проблемы на ранних этапах (Shift Left), проверяет 100% кода, не требует работающего приложения.
Минусы: Высокий уровень ложноположительных срабатываний (false positives), может пропускать логические уязвимости, сложность анализа в динамически типизированных языках.
Примеры инструментов: SonarQube (также для качества кода), Checkmarx, Fortify, Semgrep (легковесный, на основе шаблонов).
Когда использовать: На этапе коммита (pre-commit hooks) и в CI-пайплайне после сборки (build stage).