Блог CodeScoring

Как «Дикси» выстраивает безопасную разработку с CodeScoring

Заказчик

«Дикси» — одна из крупнейших розничных сетей России (входит в группу компаний «Магнит»), активно развивающая собственные ИТ-продукты для управления торговыми процессами, логистикой и клиентскими сервисами.

Задача заказчика

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

Решение

Поэтапное внедрение платформы CodeScoring, начиная с модуля композиционного анализа (SCA). Интеграция с CI/CD-пайплайнами через консольный агент Johnny для автоматического сканирования зависимостей и с GitLab для точечной проверки отдельных проектов. Развитие процесса обучения разработчиков и формирование института security-чемпионов.

Для крупных ритейлеров, которые развивают собственные ИТ-продукты, безопасность компонентов с открытым исходным кодом — критически важная задача. Поэтому «Дикси» идет по пути встраивания проверок безопасности в CI/CD до выхода приложений в рабочее окружение. Так компания не просто вовремя находит и устраняет уязвимости, а создает систему, в которой вредоносные компоненты не могут попасть в финальный продукт.

Базовым инструментом для этого стал CodeScoring: платформа уже использовалась в компании для развития безопасной разработки, но процессы сканирования, триажа и поддержки еще предстояло выстроить.

Тимофей Афанасьев, DevSecOps «Дикси»:
«Ресурсы на старте были ограничены, поэтому требовалось сразу расставить приоритеты. Мы пошли по пути поэтапного подключения: уделили основное внимание безопасности клиентских приложений и критическим уязвимостям».
Ключевыми задачами на старте были:

  • Закрытие критических уязвимостей в клиентских приложениях;
  • Актуализация устаревших библиотек в унаследованном коде;
  • Развитие культуры безопасной разработки среди разработчиков.

Автоматизация с помощью CodeScoring

Для автоматизации процессов компания использует комплексное решение CodeScoring, включающее модуль композиционного анализа (SCA).

Основной инструмент сканирования — консольный агент Johnny, который формирует SBOM и выявляет уязвимости. Johnny интегрирован с CI/CD и автоматически анализирует зависимости при переходе между контурами разработки. Результаты сканирования выгружаются в корпоративную ASOC-систему для дальнейшего триажа и назначения ответственных. Точечные проверки отдельных проектов дополнительно проводятся через интеграцию с GitLab. При обработке результатов сканирования компания ориентируется на метрики критичности и эксплуатируемости уязвимостей и в первую очередь работает с критическими уязвимостями, отдавая приоритет клиентским приложениям.

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

Сейчас проверки встроены в CI/CD. Следующие шаги включают в себя внедрение блокирующих Quality Gates, чтобы изменения с критическими уязвимостями не попадали в основную ветку. Такой подход не затягивает релизный цикл и сводит к минимуму риск того, что небезопасный компонент сможет попасть на прод.

Параллельно команда «Дикси» планирует запустить поиск секретов в коде, настроить интеграцию с корпоративным хранилищем артефактов для централизованного контроля зависимостей, внедрить проверку зависимостей в IDE и расширить зону сканирования на новые проекты.

Отказоустойчивость и поддержка

Важный критерий для «Дикси» — стабильность работы платформы. На начальном этапе обеспечить ее было непросто из-за скрытых проблем в унаследованной инфраструктуре. Сервер с уже развернутым CodeScoring нынешняя команда получила без документации, и при попытке обновления процесс блокировался из-за некорректно написанного Docker Compose. Устранить ошибку конфигурации и восстановить цикл обновлений помогла оперативная реакция команды CodeScoring.

Тимофей Афанасьев, DevSecOps «Дикси»:
«Ребята из CodeScoring после первого же обсуждения проблемы переработали конфигурацию, сохранив все наработки, и восстановили штатную работу обновлений. Для платформы, интегрированной в критичные процессы, оперативная реакция на инциденты относится к базовым требованиям, как и отказоустойчивость. И в этом отношении у нас нет нареканий: сбоев в работе продукта не зафиксировано, а единственный инцидент был связан с некорректной начальной конфигурацией и оперативно устранен».

Культура и обучение: главный вызов и главная возможность

Выстраивание безопасной разработки — молодое направление в компании. Поэтому в «Дикси» создали стратегию постепенного развития и особую систему мотивации:

  • Команда безопасности активно взаимодействует с разработчиками, объясняет причины возникновения уязвимостей и способы их устранения.

  • К каждой уязвимости прилагается комментарий: почему она критична и как ее исправить.

  • В планах компании создание института security-чемпионов: разработчиков, которые будут брать на себя часть задач по триажу и выступать проводниками культуры безопасности внутри своих команд.

Тимофей Афанасьев, DevSecOps-специалист «Дикси»:
«Развитие культуры безопасной разработки предполагает поиск качественных обучающих материалов, развитие комьюнити внутри компании, воспитание security-чемпионов. Это одновременно помогает разработчикам актуализировать навыки на рынке и снимает часть нагрузки с команды безопасности».

Результаты

Вот несколько изменений, которые отмечает «Дикси»:

  • Система сканирования встроена в пайплайны для ключевых проектов;
  • Выстроен процесс приоритизации уязвимостей на основе метрик и рекомендаций CodeScoring;
  • Налажен процесс триажа уязвимостей;
  • Сформирован запрос на обучение со стороны разработчиков;
  • Создана основа для масштабирования процессов безопасной разработки.

Алексей Смирнов, основатель платформы безопасной разработки CodeScoring:
«Кейс “Дикси” доказывает: успешно внедрять практики DevSecOps можно даже в условиях ограниченных ресурсов. Команда CodeScoring со своей стороны всегда готова предложить стабильные инструменты и оперативно помочь с любыми вопросами и сложностями, чтобы инфраструктура безопасности работала бесшовно и не тормозила релизные циклы».
О вендоре
CodeScoring – платформа безопасной разработки программного обеспечения. Компания специализируется на защите цепочки поставки ПО (Supply Chain), композиционном анализе open source компонентов (SCA), анализе качества разработки. CodeScoring устанавливается в инфраструктуре заказчика, интегрируется с популярными инструментами разработки и развертывания ПО и поддерживает все ключевые экосистемы пакетных менеджеров. Продуктами CodeScoring пользуются компании, для которых критически важна кибербезопасность собственных ИТ-продуктов: крупные банки, ритейлеры, ИТ-компании, среди которых OZON, «Газпром нефть», «Ростелеком», «билайн», «Дикси».
Получить демо