Прошедший год для развития нашего статического анализатора Svace оказался очень продуктивным. Прежде всего хочется отметить прошедшие испытания статических анализаторов под эгидой ФСТЭК России и поблагодарить организаторов, площадку — МГТУ им. Н. Э. Баумана и отдельно кафедру ИУ10, коллег-вендоров, принявших участие. Для нас испытания стали поистине событием года, источником бесценного опыта, выразившегося в подготовке тестов анализаторов и изучении тестов, сделанных коллегами.
Удалось увидеть множество деталей, которые раньше не всегда были сделаны на должном уровне. При этом надёжная основа в виде качественного масштабируемого межпроцедурного анализа, системы перехвата сборки, механизмов чувствительности к путям выполнения и других необходимых алгоритмов позволили Svace показать лучшие — с существенным отрывом — результаты для языков C/C++ и Java, полностью соответствующие ГОСТ Р 71207–2024.
Главное, на наш взгляд, что от испытаний выиграли все — организаторы, получившие обратные связи от сообщества вендоров анализаторов; сами вендоры, лучше узнавшие сильные и слабые стороны своих инструментов и обменявшиеся опытом с коллегами; пользователи, увидевшие объективную расстановку сил на рынке анализаторов и получившие более качественные инструменты.
Весь опыт, который мы вобрали в ходе испытаний, вошёл в последний релиз Svace 5.0. Помимо многочисленных улучшений анализа, мы отдельно выделили категорию детекторов, обнаруживающих критические по ГОСТ ошибки. Будем оперативно обновлять эту категорию по мере того, как будет дорабатываться и сам ГОСТ.
Отметим несколько важных новшеств анализа. Из новых языков Svace теперь поддерживает анализ программ на Lua, пока легковесный — на уровне универсального синтаксического дерева. Будем развивать его вместе с анализами других динамических языков — Python и JavaScript.
Продолжает развиваться интерфейс SvaceAPI для создания пользовательских детекторов. Его очень удобно использовать для поиска специфических ошибок, затрагивающих неизвестные анализу библиотеки или связанных с нарушением правил использования критических для безопасности компонент. При этом задействуется вся мощь основного движка анализа Svace. Мы сами использовали SvaceAPI для создания ряда специфичных детекторов для ГОСТ-ошибок и приглашаем пользователей активно его применять. Ваши обратные связи помогут нам развивать интерфейс в полезных для всех направлениях.
Серьёзно улучшен сервер удалённого анализа, позволяющий теперь работать с клиентами разных версий и конфигурировать различные дистрибутивы, гибко управляя пулом агентов анализа. Эта часть Svace востребована в крупных компаниях, которые могут единообразно настраивать анализ для различных подразделений с учётом их специфики.
Появилось два новых режима анализа. Анализ «сверху вниз» позволяет находить ошибки, для которых естественно распространение информации от источников к приёмникам. Его комбинация с привычным анализом «снизу вверх» позволяет увеличить полноту (количество находимых ошибок) за счёт большего времени работы. Покомпонентный анализ позволяет анализировать независимые подпрограммы большой программной системы отдельно, сокращая потребление памяти; при этом выделение независимых модулей выполняется автоматически по данным графа компоновки — зависимые компоненты по-прежнему будут анализироваться вместе.
Активно развивается направление по применению в Svace алгоритмов машинного обучения. Уже можно попробовать ИИ-ассистенты, которые предсказывают истинность срабатывания по данным метрик программы (собранным Svace) и изнутри сервера работы с результатами Svacer. В будущем интерфейсы Svacer работы с ИИ-ассистентами будут позволять подключать различные модели, которые исследуются в ИСПРАН, в том числе разрабатываемую в настоящий момент функциональность предсказывания истинности и объяснения предупреждений через специализированные большие языковые модели.
Следите за нашими обновлениями!
Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных
Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных