Axiom JDK внедрила Svace для глубокого анализа кодовой базы JDK
Компания Axiom JDK (АО «Аксиом») сообщила о внедрении статического анализатора Svace и платформы управления предупреждениями Svacer, которые были разработаны Институтом системного программирования им. В.П. Иванникова Российской академии наук (ИСП РАН).
Компания Axiom JDK (АО «Аксиом») сообщила о внедрении статического анализатора Svace и платформы управления предупреждениями Svacer, которые были разработаны Институтом системного программирования им. В.П. Иванникова Российской академии наук (ИСП РАН). Внедрение Svace позволило подтвердить соответствие JDK установленным требованиям безопасности для прохождения сертификации. В ходе анализа 7 млн строк кода с помощью Svace было обнаружено и исправлено около 1,2 тыс. дефектов.
Инструменты SAST (Static Application Security Testing) используются для проверки кода на этапе разработки и позволяют заранее обнаружить уязвимости, которые должны соответствовать новым требованиям, а именно ГОСТу Р 71207—2024. Ранее компания Axiom JDK использовала мировые SAST-решения для поддержания безопасности и стабильности своего JDK. С изменением требований к сертификации ПО перед инженерной командой встала задача подобрать инструмент, который позволил бы учитывать требования сертификации и при этом обеспечил работу на высоком уровне в сложной и объемной кодовой базе с сохранением глубины поиска дефектов.
В результате был выбран сложный многоуровневый подход к безопасности с использованием нескольких SAST-инструментов с учетом масштаба кодовой базы. Это обусловлено тем, что разные движки анализа имеют уникальную внутреннюю механику и сильные стороны в обнаружении дефектов. Статический анализатор Svace был интегрирован в качестве основного для глубокого межпроцедурного анализа. К нему были добавлены другие анализаторы и open-source-линтеры для отслеживания специфических сценариев.
Для снижения нагрузки на разработчиков Axiom JDK внедрила структурированный процесс разметки результатов анализа с использованием Svacer и инструментов машинного обучения. Эта комбинация структурированного рабочего процесса Svacer и ML-классификации позволила команде эффективно обрабатывать тысячи предупреждений, отделяя критические уязвимости от низкоприоритетных замечаний к коду. Сейчас в этом отлаженном процессе один разработчик в среднем проверяет 50 срабатываний в день.

Алексей Захаров
Директор по технологическому консалтингу Axiom JDK