Инструменты безопасности: обзор

Ручной аудит не масштабируется — на помощь приходят инструменты, каждый со своей зоной ответственности.

Инструменты безопасности — автоматические помощники, которые ищут известные классы уязвимостей в коде, зависимостях и работающем приложении.

Ни один инструмент не заменяет понимания и ревью, но вместе они дёшево ловят массу типовых проблем. Важно понимать, кто за что отвечает.

SAST: анализ исходного кода

SAST (Static Application Security Testing) — статический анализ: проверяет исходный код, не запуская его. Сюда же относятся линтеры с правилами безопасности. Они ловят опасные паттерны: конкатенацию SQL, использование небезопасных функций, захардкоженные секреты. Удобно встраивать в CI, чтобы проверять каждый коммит.

DAST: проверка работающего приложения

DAST (Dynamic Application Security Testing) — динамический анализ: тестирует уже запущенное приложение снаружи, как это делал бы внешний пользователь. Известный открытый инструмент — OWASP ZAP. Он умеет обходить сайт, искать типовые уязвимости и показывать недостающие заголовки безопасности.

Важно: запускать DAST-сканеры можно только против своих систем или с письменного разрешения владельца — об этом подробно в следующем уроке.

SCA и сканеры секретов

  • SCA (Software Composition Analysis) — сверяет зависимости с базой CVE (см. A06): npm audit, pip-audit и аналоги.
  • Сканеры секретов — ищут случайно закоммиченные ключи и токены (см. урок про секреты).
ИнструментЧто проверяет
SAST / линтерисходный код (без запуска)
DAST / OWASP ZAPработающее приложение
SCAзависимости на известные CVE
Secret scannerутёкшие ключи и токены

Как защищаться

  • Встройте SAST-линтеры и SCA-сканеры в CI: проверка на каждый коммит.
  • Периодически прогоняйте DAST (например, OWASP ZAP) против своих стендов.
  • Включите сканирование секретов в репозитории.
  • Помните: инструменты дают много «шума» — результаты нужно проверять руками, это не диагноз, а подсказка.

Частые ошибки разработчиков

  • Считают, что «прогнали сканер — значит, безопасно»: инструменты ловят известное, но не всё.
  • Игнорируют предупреждения сканера, пока их не накопится так много, что никто не разбирает.
  • Запускают сканеры против чужих систем без разрешения — это незаконно (см. следующий урок).

Итог

  • SAST/линтеры проверяют код, DAST (OWASP ZAP) — работающее приложение.
  • SCA сверяет зависимости с CVE, сканеры секретов ловят утёкшие ключи.
  • Инструменты дополняют, но не заменяют ревью и понимание; сканировать — только своё.
Проверьте себя
1. Чем SAST отличается от DAST?
AНичем
BSAST анализирует исходный код без запуска, DAST тестирует уже работающее приложение
CSAST для фронтенда, DAST для бэкенда
DSAST платный, DAST бесплатный
2. OWASP ZAP относится к какому типу инструментов?
ASAST (анализ кода)
BDAST (проверка работающего приложения)
CМенеджер паролей
DСистема контроля версий