CyberGlossary

Безопасность приложений

SAST (Static Application Security Testing)

Также известно как: Статический анализ, Тестирование белого ящика

Определение

Автоматический анализ исходного кода, байт-кода или бинарных файлов без их выполнения для поиска уязвимостей вроде инъекций, небезопасных API или слабой криптографии.

Инструменты SAST преобразуют код в промежуточные представления (AST, графы потока управления и данных) и применяют правила или taint-анализ для обнаружения небезопасных паттернов, связанных с CWE. Поскольку код не выполняется, SAST естественно встраивается в IDE, pre-commit-хуки и CI/CD-конвейеры и может анализировать ещё не выпущенный код. SAST хорошо находит детерминированные ошибки (SQL-инъекции, XSS-стоки, захардкоженные секреты, слабую криптографию), но даёт ложные срабатывания и пропускает рантайм-проблемы, поэтому обычно сочетается с SCA и DAST. Среди инструментов — Semgrep, GitHub CodeQL, SonarQube, Checkmarx, Fortify.

Примеры

  • Запуск Semgrep с правилами OWASP Top 10 для каждого pull request.
  • Использование GitHub CodeQL для обнаружения path traversal в Java-сервисе до мерджа.

Связанные термины