Заказчик
«Дикси» — одна из крупнейших розничных сетей России (входит в группу компаний «Магнит»), активно развивающая собственные ИТ-продукты для управления торговыми процессами, логистикой и клиентскими сервисами.
Задача заказчика
Создать надежный фундамент для безопасной разработки. Автоматизировать выявление и контроль критических уязвимостей в клиентских приложениях, актуализировать устаревшие библиотеки и воспитать культуру безопасной разработки среди инженеров.
Решение
Поэтапное внедрение платформы CodeScoring, начиная с модуля композиционного анализа (SCA). Интеграция с CI/CD-пайплайнами через консольный агент Johnny для автоматического сканирования зависимостей и с GitLab для точечной проверки отдельных проектов. Развитие процесса обучения разработчиков и формирование института security-чемпионов.
Для крупных ритейлеров, которые развивают собственные ИТ-продукты, безопасность компонентов с открытым исходным кодом — критически важная задача. Поэтому «Дикси» идет по пути встраивания проверок безопасности в CI/CD до выхода приложений в рабочее окружение. Так компания не просто вовремя находит и устраняет уязвимости, а создает систему, в которой вредоносные компоненты не могут попасть в финальный продукт.
Базовым инструментом для этого стал CodeScoring: платформа уже использовалась в компании для развития безопасной разработки, но процессы сканирования, триажа и поддержки еще предстояло выстроить.
Тимофей Афанасьев, DevSecOps «Дикси»:
Базовым инструментом для этого стал CodeScoring: платформа уже использовалась в компании для развития безопасной разработки, но процессы сканирования, триажа и поддержки еще предстояло выстроить.
Тимофей Афанасьев, DevSecOps «Дикси»:
«Ресурсы на старте были ограничены, поэтому требовалось сразу расставить приоритеты. Мы пошли по пути поэтапного подключения: уделили основное внимание безопасности клиентских приложений и критическим уязвимостям».
Ключевыми задачами на старте были:
- Закрытие критических уязвимостей в клиентских приложениях;
- Актуализация устаревших библиотек в унаследованном коде;
- Развитие культуры безопасной разработки среди разработчиков.
Автоматизация с помощью CodeScoring
Для автоматизации процессов компания использует комплексное решение CodeScoring, включающее модуль композиционного анализа (SCA).
Основной инструмент сканирования — консольный агент Johnny, который формирует SBOM и выявляет уязвимости. Johnny интегрирован с CI/CD и автоматически анализирует зависимости при переходе между контурами разработки. Результаты сканирования выгружаются в корпоративную ASOC-систему для дальнейшего триажа и назначения ответственных. Точечные проверки отдельных проектов дополнительно проводятся через интеграцию с GitLab. При обработке результатов сканирования компания ориентируется на метрики критичности и эксплуатируемости уязвимостей и в первую очередь работает с критическими уязвимостями, отдавая приоритет клиентским приложениям.
Благодаря такому подходу у команды безопасности всегда есть прозрачная картина компонентного состава приложений и актуальных рисков. И разработчики получают обратную связь о проблемах до того, как код попадает в продуктивную среду.
Сейчас проверки встроены в CI/CD. Следующие шаги включают в себя внедрение блокирующих Quality Gates, чтобы изменения с критическими уязвимостями не попадали в основную ветку. Такой подход не затягивает релизный цикл и сводит к минимуму риск того, что небезопасный компонент сможет попасть на прод.
Параллельно команда «Дикси» планирует запустить поиск секретов в коде, настроить интеграцию с корпоративным хранилищем артефактов для централизованного контроля зависимостей, внедрить проверку зависимостей в IDE и расширить зону сканирования на новые проекты.
Основной инструмент сканирования — консольный агент Johnny, который формирует SBOM и выявляет уязвимости. Johnny интегрирован с CI/CD и автоматически анализирует зависимости при переходе между контурами разработки. Результаты сканирования выгружаются в корпоративную ASOC-систему для дальнейшего триажа и назначения ответственных. Точечные проверки отдельных проектов дополнительно проводятся через интеграцию с GitLab. При обработке результатов сканирования компания ориентируется на метрики критичности и эксплуатируемости уязвимостей и в первую очередь работает с критическими уязвимостями, отдавая приоритет клиентским приложениям.
Благодаря такому подходу у команды безопасности всегда есть прозрачная картина компонентного состава приложений и актуальных рисков. И разработчики получают обратную связь о проблемах до того, как код попадает в продуктивную среду.
Сейчас проверки встроены в CI/CD. Следующие шаги включают в себя внедрение блокирующих Quality Gates, чтобы изменения с критическими уязвимостями не попадали в основную ветку. Такой подход не затягивает релизный цикл и сводит к минимуму риск того, что небезопасный компонент сможет попасть на прод.
Параллельно команда «Дикси» планирует запустить поиск секретов в коде, настроить интеграцию с корпоративным хранилищем артефактов для централизованного контроля зависимостей, внедрить проверку зависимостей в IDE и расширить зону сканирования на новые проекты.
Отказоустойчивость и поддержка
Важный критерий для «Дикси» — стабильность работы платформы. На начальном этапе обеспечить ее было непросто из-за скрытых проблем в унаследованной инфраструктуре. Сервер с уже развернутым CodeScoring нынешняя команда получила без документации, и при попытке обновления процесс блокировался из-за некорректно написанного Docker Compose. Устранить ошибку конфигурации и восстановить цикл обновлений помогла оперативная реакция команды CodeScoring.
Тимофей Афанасьев, DevSecOps «Дикси»:
Тимофей Афанасьев, DevSecOps «Дикси»:
«Ребята из CodeScoring после первого же обсуждения проблемы переработали конфигурацию, сохранив все наработки, и восстановили штатную работу обновлений. Для платформы, интегрированной в критичные процессы, оперативная реакция на инциденты относится к базовым требованиям, как и отказоустойчивость. И в этом отношении у нас нет нареканий: сбоев в работе продукта не зафиксировано, а единственный инцидент был связан с некорректной начальной конфигурацией и оперативно устранен».
Культура и обучение: главный вызов и главная возможность
Выстраивание безопасной разработки — молодое направление в компании. Поэтому в «Дикси» создали стратегию постепенного развития и особую систему мотивации:
Тимофей Афанасьев, DevSecOps-специалист «Дикси»:
- Команда безопасности активно взаимодействует с разработчиками, объясняет причины возникновения уязвимостей и способы их устранения.
- К каждой уязвимости прилагается комментарий: почему она критична и как ее исправить.
- В планах компании создание института security-чемпионов: разработчиков, которые будут брать на себя часть задач по триажу и выступать проводниками культуры безопасности внутри своих команд.
Тимофей Афанасьев, DevSecOps-специалист «Дикси»:
«Развитие культуры безопасной разработки предполагает поиск качественных обучающих материалов, развитие комьюнити внутри компании, воспитание security-чемпионов. Это одновременно помогает разработчикам актуализировать навыки на рынке и снимает часть нагрузки с команды безопасности».
Результаты
Вот несколько изменений, которые отмечает «Дикси»:
Алексей Смирнов, основатель платформы безопасной разработки CodeScoring:
- Система сканирования встроена в пайплайны для ключевых проектов;
- Выстроен процесс приоритизации уязвимостей на основе метрик и рекомендаций CodeScoring;
- Налажен процесс триажа уязвимостей;
- Сформирован запрос на обучение со стороны разработчиков;
- Создана основа для масштабирования процессов безопасной разработки.
Алексей Смирнов, основатель платформы безопасной разработки CodeScoring:
«Кейс “Дикси” доказывает: успешно внедрять практики DevSecOps можно даже в условиях ограниченных ресурсов. Команда CodeScoring со своей стороны всегда готова предложить стабильные инструменты и оперативно помочь с любыми вопросами и сложностями, чтобы инфраструктура безопасности работала бесшовно и не тормозила релизные циклы».
О вендоре
CodeScoring – платформа безопасной разработки программного обеспечения. Компания специализируется на защите цепочки поставки ПО (Supply Chain), композиционном анализе open source компонентов (SCA), анализе качества разработки. CodeScoring устанавливается в инфраструктуре заказчика, интегрируется с популярными инструментами разработки и развертывания ПО и поддерживает все ключевые экосистемы пакетных менеджеров. Продуктами CodeScoring пользуются компании, для которых критически важна кибербезопасность собственных ИТ-продуктов: крупные банки, ритейлеры, ИТ-компании, среди которых OZON, «Газпром нефть», «Ростелеком», «билайн», «Дикси».