Common Security Pipeline

Описание проекта:

Данный проект является вариантом реализации DevSecOps практик, на базе:

Используйте данный репозиторий чтобы построить безопасность в цикле CI/CD.

Quick Start

  1. Склонировать к себе Common Security Pipeline
  2. Исправить все места где встречается комментарий CHECK IT или FIX IT
  3. Изменить в ./pipeline/security_tools.yml путь до контейнеров с Security Tools
  4. Поднять у себя DefectDojo
  5. Прописать у себя в GitLab необходимые переменные:
  • API-ключ
  • Путь до DefectDojo для доступа к вашему DefectDojo в файле ./dd_prepare/dd_prepare.py.
  • Если у вас используется Vault или аналогичное решение, то дороботать код проекта для получения API в runtime самостоятельно

Security Tools

Мы не поставляем вместе с проектом исходники контейеров с security-тулами. Вам необходимо сбилдить и положить в регистре самостоятельно с учетом ваших политик безопасности. Так же важно добавить во все контейнеры следующие пакеты:

  • openssh - ssh-клиент, нужен чтобы в некоторых случаях выполнять дополнительное клонирвоание проектов
  • curl - для отправки данных в DefectDojo
  • jq - для красивого отображания получаемого в ответ json

Пример реализации на инфраструктуре gitlab

Просто смотреть исходник на github не очень интересно. Лучше смотреть на работающие пайплайны.

TODO:

  • генерация пайплайна в рантайме на основе шаблонов jinja2
  • добавление security-тулов

GitHub

GitHub - city-mobil/common_security_pipeline: GitLab CI security tools runner
GitLab CI security tools runner. Contribute to city-mobil/common_security_pipeline development by creating an account on GitHub.