Что такое SAST Templates в GitLab?

«Что такое SAST Templates в GitLab?» — вопрос из категории Безопасность, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

SAST Templates в GitLab — это готовые конфигурационные шаблоны для интеграции инструментов статического анализа безопасности кода (Static Application Security Testing) в CI/CD-пайплайн.

Как это работает на практике: В .gitlab-ci.yml достаточно добавить инклюд шаблона, и GitLab автоматически:

  1. Определит языки и фреймворки в вашем проекте.
  2. Запустит соответствующие сканеры (например, Semgrep для Python/Go/Java, Bandit для Python, ESLint для JavaScript).
  3. Сгенерирует отчёт о уязвимостях в формате SARIF и отобразит его в интерфейсе Merge Request.

Пример минимальной конфигурации:

include:
  - template: Security/SAST.gitlab-ci.yml

Кастомизация: Шаблон гибко настраивается через переменные окружения. Например:

  • SAST_EXCLUDED_PATHS: "vendor/*, node_modules/*" — для исключения каталогов из проверки.
  • SAST_BANDIT_EXCLUDED_PATHS: "*/tests/*" — для исключения тестов в Python-проектах.
  • Можно переопределять этапы, образы Docker или версии инструментов, создавая собственные задания после инклюда шаблона.

В моих проектах использование этих шаблонов позволило внедрить проверку безопасности на этапе разработки буквально за 5 минут, без написания сложных конфигураций с нуля.