Мы продолжаем рассказывать, как компании используют PVS-Studio. В этом кейсе — опыт компании YADRO.

YADRO — ведущий производитель высокотехнологичного оборудования в России. Компания ориентирована на разработку и производство высокопроизводительных вычислительных платформ, систем обработки и хранения данных, сетевого и телекоммуникационного оборудования, персональных устройств.
Подразделение Телеком реализует полный цикл создания телекоммуникационного оборудования: от аппаратной платформы до программного обеспечения. В состав подразделения входят специализированные команды, сопровождающие процесс разработки и отвечающие за надёжность и безопасность конечных продуктов.
Департамент обеспечения безопасной разработки осуществляет контроль качества программного обеспечения базовых станций, радиомодулей, GSM-контроллеров и систем управления, используемых в сетевой инфраструктуре.
Подразделение Телеком в составе компании YADRO было сформировано в 2022 году и приступило к разработке продуктов телекоммуникационного оборудования.
По мере того, как решения развивались, возникла необходимость выстраивать системные процессы безопасности и внедрять их на ранних этапах жизненного цикла разработки. Статический анализ стал естественной отправной точкой. Как метод проверки, позволяющий выявлять уязвимости непосредственно на этапе написания кода, он лёг в основу широкой системы обеспечения качества и безопасности.
"К 2023 году программное обеспечение телеком-продуктов достигло зрелости, при которой стало возможным системно применять методы анализа кода. Статический анализ был выбран одним из первых применяемых методов — это соответствует принципам подхода shift-left", — Павел Недошивин, инженер по информационной безопасности.
Перед командой отдела безопасности продуктов встала задача не просто внедрить инструменты анализа кода, а выстроить процессы безопасной разработки, которые будут масштабироваться вместе с продуктовой линейкой. Количество продуктов, команд и реализуемых функций постоянно увеличивается, а вместе с ними растёт число репозиториев и объём кода, требующего регулярной проверки.
"У нас постоянно появляются новые функции и новые продукты, поэтому мы расширяем покрытие security-тестами, в том числе статическим анализом", — Павел Недошивин, инженер по информационной безопасности.
Отдельным вызовом стало вовлечение разработчиков: важно было не просто внедрить инструмент, а сделать его частью повседневного рабочего процесса.
Дополнительную сложность создавала инфраструктура: часть телеком-продуктов работает на собственной операционной системе, что требовало от инструмента статического анализа гибкости и способности адаптироваться к специфике среды разработки.
В этих условиях команде было важно выбрать инструмент, который не только обеспечит необходимое покрытие кода и точность анализа, но и органично встроится в существующие процессы разработки, а также будет способен масштабироваться вместе с продуктами.
По итогам сравнительного анализа нескольких инструментов команда остановила выбор на PVS-Studio для статического анализа C и C++ кода.
Внедрение началось с исследования и применения диагностических правил группы General Analysis, и по мере освоения возможностей инструмента команда последовательно расширяла его использование:
"Мы начали с правил общего назначения, а затем исследовали и подключили правила по стандартам MISRA и OWASP. Регулярные обновления поддержки стандартов в PVS-Studio позволяют нам поддерживать код в чистом и актуальном состоянии", — Павел Недошивин, инженер по информационной безопасности.
В релизе 7.41 был завершён очередной этап расширения покрытия диагностическими правилами анализатора PVS-Studio стандарта MISRA C 2023. На первую половину 2026 года обеспечено покрытие на уровне 86%. В дальнейшем планируется повысить покрытие стандарта MISRA C++ 2023. Подробнее о статусе поддержки стандартов MISRA в анализаторе PVS-Studio можно прочитать здесь.
PVS-Studio поддерживает классификацию своих диагностических правил согласно редакции рейтинга OWASP Top 10 версии 2021.
Настройка инструмента под специфику инфраструктуры потребовала отдельной проработки нескольких технических задач и дополнительной конфигурации анализатора под потребности проектов, однако сложности удалось преодолеть. Сейчас команда подразделения придерживается единого подхода:
"Мы один раз сконфигурировали анализатор и стараемся распространять эту конфигурацию на все продукты — так нам удалось определить оптимальные настройки для наших проектов", — Павел Недошивин, инженер по информационной безопасности.
Статический анализ полностью интегрирован в CI/CD и запускается автоматически, в том числе при создании merge request'ов.:
"Работа с выдаваемыми предупреждениями была передана непосредственно разработчикам и сейчас многие их них активно работают с PVS-Studio самостоятельно", — Павел Недошивин, инженер по информационной безопасности.
На практике PVS-Studio показал высокую эффективность в поиске дефектов, которые напрямую влияют на безопасность, стабильность и качество кода. Особенно часто анализатор помогает выявлять нарушения правил стандарта MISRA, включая отсутствие const-модификаторов, неинициализированные переменные и логические ошибки, например присваивания в условиях или ветки с заведомо ложными выражениями.
Такие проблемы не только повышают риск дефектов в работе программы, но и усложняют чтение и сопровождение кода. Использование PVS-Studio позволило команде системно обнаруживать и устранять подобные ошибки.
"Неинициализированные переменные одно время были нашей настоящей проблемой. Но благодаря PVS-Studio мы всё это выявили и скорректировали подходы команд к написанию кода", — Павел Недошивин, инженер по информационной безопасности.
Кроме того, команда отдела безопасности продуктов регулярно собирает обратную связь от разработчиков, использующих анализатор, и передаёт её в отдел поддержки PVS-Studio: вопросы точности срабатываний, запросы на доработку логики анализатора и интеграции с другими инструментами разработки.
За время сотрудничества команда PVS-Studio реализовала ряд улучшений по запросам специалистов YADRO:
fullhtml.Многие улучшения PVS-Studio появляются благодаря обратной связи от Enterprise-пользователей. Полный список улучшений, реализованных по запросам пользователей, мы публикуем здесь.
Политика нулевой терпимости к ошибкам в коде
Выстраивая процессы безопасной разработки с момента основания подразделения Телеком, команда сформировала чёткие практики контроля качества кода. Одна из ключевых — политика нулевой терпимости к предупреждениям PVS-Studio высокого уровня:
"У нас политика нулевой терпимости к предупреждениям уровня High и Critical. Мы просто запрещаем заливать в продакшн код, в котором PVS-Studio находит предупреждения этих уровней", — Павел Недошивин, инженер по информационной безопасности.
Снижение количества предупреждений как метрика улучшения качества кода
Команда подразделения оперативно обновляет анализатор с каждым новым релизом PVS-Studio несмотря на то, что каждое обновление может добавлять новые предупреждения для уже существующего кода. Это отражает подход команды к качеству: каждое обновление анализатора рассматривается как возможность улучшить кодовую базу. Устойчивая динамика снижения количества выдаваемых предупреждений служит для команды практическим индикатором результата.
"Мы отслеживаем, насколько код стал чище: смотрим на количество выдаваемых предупреждений и на сколько процентов оно снижается", — Павел Недошивин, инженер по информационной безопасности.
Распространение экспертизы внутри подразделения
Команда отдела безопасности продуктов накопила глубокую экспертизу в работе с анализатором и активно передаёт её командам разработки: проводит обучения, разбирает типичные предупреждения и помогает улучшать качество написания кода.
"Мы периодически проводим обучения в рамках общих security info-sharing сессий в дивизионе: рассказываем про популярные предупреждения и типичные ошибки в коде. Стараемся следить за тем, чтобы разработчики проактивно их замечали и не допускали", — Павел Недошивин, инженер по информационной безопасности.
Опыт компании YADRO показывает, что выстроить системные и масштабируемые процессы безопасной разработки можно даже в условиях быстрого роста: когда продуктовая линейка расширяется, команды множатся, а требования к качеству кода только растут. Системный подход, чёткая политика контроля и последовательная работа с командами разработки позволили подразделению Телеком удерживать высокие стандарты качества кода, не жертвуя скоростью развития продуктов.
В этом команде помогает анализатор PVS-Studio, а сам инструмент продолжает развиваться вместе с её потребностями.
Хотите оценить эффективность внедрения статического анализа в вашей компании? Протестируйте бесплатную пробную версию PVS-Studio по ссылке и свяжитесь с нами для получения информации о ценах.
0