Вернуться к кейсам
Интеграция open source SAST в CI/CD для повышения безопасности разработки
DevSecOps
Senior DevSecOps

Интеграция open source SAST в CI/CD для повышения безопасности разработки

Тупаков Никита Михайлович

Senior DevSecOps

Клиент: Компания разработки маркетплейсов
Длительность: 6 месяцев
Команда: 4 специалиста

Использованные технологии

Semgrep
GitLab CI
Jenkins
Docker
Jira

Проблема

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

Решение

Интеграция open-source инструмента статического анализа кода (SAST) в CI/CD процесс

Результат

Сокращение уязвимостей, доходящих до пентестов, на 62% за 6 месяцев

Детали проекта

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

Ключевые метрики

  • Semgrep протестирован на репозитории с 250,000 строк кода
  • Время сканирования: 2-4 минуты на репозиторий
  • Сокращение времени исправления уязвимостей с 3 дней до 6 часов
  • Снижение ложных срабатываний с 20% до 5%
  • Стоимость устранения уязвимостей снижена в 4 раза

Задача

Заказчик - компания, занимающаяся разработкой маркетплейсов, столкнулась с ростом числа уязвимостей в коде, выявленных во время пентестов. Основной проблемой было позднее обнаружение ошибок безопасности, что увеличивало затраты на их исправление и задерживало релизы.

Цель

  • Автоматизировать выявление уязвимостей в коде на этапе разработки
  • Интегрировать open-source SAST-инструмент в существующий CI/CD-пайплайн
  • Сократить количество уязвимостей, доходящих до продакшена, на 50% за 6 месяцев
  • Минимизировать затраты на внедрение, используя бесплатные open-source решения

Решение

Этап 1: Выбор инструмента

После анализа open-source SAST-инструментов (Semgrep, SonarQube, Bandit и др.) компания выбрала Semgrep по следующим причинам:

  • Поддержка нескольких языков программирования (Java, Python, JavaScript, используемых в проекте)
  • Высокая скорость сканирования, подходящая для CI/CD
  • Гибкость в настройке правил и возможность создания собственных
  • Активное сообщество и регулярные обновления

Этап 2: Интеграция в CI/CD

CI/CD-пайплайн компании был построен на базе GitLab CI. Интеграция Semgrep включала:

  1. Создание конфигурации: файл .semgrep.yml с набором правил
  2. Настройка пайплайна: этап semgrep_scan в .gitlab-ci.yml
  3. Уведомления: результаты сканирования в Slack через GitLab Webhooks
  4. Блокировка релиза: для критических уязвимостей (CVSS ≥ 7.0)

Этап 3: Настройка и обучение

  • Кастомизация правил: команда создала 15 собственных правил
  • Обучение разработчиков: 3 тренинга по интерпретации результатов
  • Снижение ложных срабатываний с 20% до 5%

Этап 4: Мониторинг и улучшения

  • Дашборды в GitLab для отслеживания уязвимостей
  • Ежемесячные обновления правил
  • Автоматическое создание тикетов в Jira

Результаты

Достигнутые результаты:

  • ✅ Позднее обнаружение уязвимостей: решено интеграцией SAST в CI/CD
  • ✅ Высокие затраты на исправление: сокращены в 4 раза
  • ✅ Задержки релизов: устранены автоматизацией
  • ✅ Недостаток экспертизы: компенсирован обучением и простотой Semgrep

Хотите похожий результат для вашего проекта?

Наши эксперты готовы помочь решить ваши DevOps задачи

Наши услуги