Об итогах испытаний статических анализаторов исходного кода при организационной и методической поддержке ФСТЭК России в 2025 году (часть 6 из 6)
Итоги по испытаниям
Все анализаторы запускаются на отечественных операционных системах. По разным причинам не все предложенные проекты удалось проанализировать каждым из анализаторов. Причины могут быть разными и, скорее всего, при настройке или изменении сценариев запуска возможно добиться отчётов от всех анализаторов.
На данный момент беспроблемные запуски нагрузочных тестов продемонстрировали:
Для C/C++: ISP RAS, PVS, Solar.
Для C#: ISP RAS, PT, PVS, Echelon, Solar.
Для Java: ISP RAS, PVS, Echelon.
Для Go: ISP RAS, PT, Echelon, Solar.
Для Python: ISP RAS, Solar.
JavaScript: ISP RAS, PT, Solar.
Синтетические тесты в каком-то виде были проведены только для языков C/C++ и Java. Делать глобальные заключения, основываясь на приведённых данных, нерационально. В целом можно сказать, что все анализаторы в какой-то степени решают задачи, поставленные в тестах. Для уточнения требуются дополнительные исследования и новый раунд испытаний.
Информации по синтетическим тестам для языков C#, Go, Python, JavaScript нет. Для какого-то представления можно только взглянуть на этап домашнего задания. Подробнее касательно PVS-Studio на этапе домашнего задания см. этот пост и вебинар.
Мы для себя по итогу испытаний выписали большой пул задач по доработке PVS-Studio, которыми будем заниматься в 2026. Например, мы начали внедрять альтернативный IR подход для решения задач анализа потока данных в C++ анализатор. Так что в целом испытания пошли нам и, думаю, другим анализаторам на пользу.
Блок Б целиком не вошёл в оценку. Т. е. не выполнен анализ работы детекторов на реальных проектах. Соответственно, все числовые данные, представленные в презентации, сделаны на основе синтетических тестов.
Общие выводы
Если говорить о подходах к выбору анализаторов кода, как я понимаю, пока ничего не изменилось. По-прежнему актуальна методическая рекомендация ФСТЭК № 2025-07-011. Можно выбирать разные удобные вам инструменты, обращая внимание на отмеченные в рекомендации нюансы. Также смотри выдержку из эфира AM Live "Разработка безопасного программного обеспечения (РБПО)".
Начинать выбор лучше с перечисленных здесь инструментов, принявших участие в испытаниях. В любом случае они уже лучше адаптированы под ГОСТ Р 71207-2024: есть выборка критических ошибок (пример реализации в PVS-Studio), поддержка SARIF, возможность запуска на отечественных ОС, классификация ошибок согласно CWE и так далее.
Post #514
1.07K
- 👍 8