Компания PVS-Studio, разрабатывающая решение для обеспечения качества, надежности и защищенности исходного кода...
19 Октября 2026 17:45 19 Окт 2026 17:45 |
Компания PVS-Studio, разрабатывающая решение для обеспечения качества, надежности и защищенности исходного кода, представила новый релиз продукта — PVS-Studio 8.01. В него вошли новые диагностические правила для Java, поддержка JDK 25 и Go 1.27, а также расширенные возможности настройки анализа и фильтрации отчетов. Об этом CNews сообщили представители PVS-Studio.
В новом релизе команда разработчиков проверила SAST-правила анализатора Java на бенчмарке OWASP Benchmark for Java, предназначенном для оценки инструментов поиска уязвимостей в программном коде.
«При проверке на реальных проектах сложно объективно оценить полноту обнаружения уязвимостей: заранее неизвестно, сколько дефектов безопасности содержится в коде и какие из них анализатор мог пропустить. Использование специализированного бенчмарка позволило выявить недочеты в SAST-правилах Java анализатора и повысить эффективность обнаружения дефектов безопасности», — сказал Project Lead отдела Java разработки PVS-Studio Кирилл Епифанов.
В новой версии также появились три диагностических правила для Java, ориентированные на требования стандарта OWASP ASVS: V5341. OWASP. A cookie was created without enabling the Secure attribute. This may lead to the exposure of sensitive data; V5342. OWASP. Potentially tainted data is stored in an object that can be used as a source of trusted data; V5343. OWASP. A cryptographically weak random number is used for sensitive data.
В релизе 8.01 добавили поддержку новых версий платформ: анализатор Java теперь работает с JDK 25, а анализатор Go — с Go 1.27.
Это позволяет командам проверять проекты, использующие актуальные версии языков и стандартных библиотек, без необходимости откладывать обновление из-за ограничений инструментов статического анализа. Поддержка JDK 25 особенно актуальна для организаций, которые переходят на новую версию Java с долгосрочной поддержкой (LTS).
Для проверки MSBuild-проектов появилась возможность сохранять в JSON-отчете конфигурации проектов, которые использовались при анализе. Это упрощает исправление срабатываний, возникающих на некоторых платформах.
В отчете fullhtml, который генерирует утилита PlogConverter.exe, срабатывания теперь группируются по конфигурации анализа.
В версии 8.01 появились дополнительные параметры, позволяющие адаптировать анализатор к особенностям проекта и среды разработки.
Так, в анализаторах JavaScript и TypeScript появилась настройка max-old-space-size. Ее можно задать в файле конфигурации pvs-settings.toml или через утилиту командной строки pvs-js.exe. Параметр позволяет управлять объемом памяти, доступным Node.js-серверу анализатора.
В утилите PVS-Studio_Cmd.exe пути к кэшам зависимостей теперь можно задавать относительно файла конфигурации .pvsconfig.
В анализаторе для C и C++ расширились возможности настройки диагностических правил. Например, можно вручную указать типы, которые анализатор будет считать дешевыми для копирования, и настроить поведение анализатора в зависимости от целевой платформы.
Дополнительные параметры появились и у диагностического правила V719. Теперь можно настроить игнорирование default-ветки и небольших перечислений enum, задать конкретные игнорируемые значения и допустимое количество игнорируемых констант.
В PlogConverter — утилите для преобразования и фильтрации отчетов — появилась возможность фильтрации срабатывания по идентификаторам CWE и SAST. Эта функция может быть полезна при анализе результатов с учетом требований ГОСТ Р 71207—2024. В частности, она позволяет выделять срабатывания, которые классифицируются стандартом как критические ошибки и имеют идентификатор SAST с префиксом SEC.
В этом релизе произошло изменение, которое ломает обратную совместимость с предыдущими версиями анализатора. В связи с этим может потребоваться изменить способ его использования.
В установщике PVS-Studio для Windows был добавлен код возврата 100, который выдается при неудачной установке плагинов для Visual Studio. Также был добавлен флаг skipVSIXInstallErrorCode для отключения ненулевого кода возврата в таком случае.