PVS-Studio 8.01: поддержка OWASP Benchmark, JDK 25 и Go 1.27
В PVS-Studio 8.01 расширили поддержку OWASP, добавили совместимость с JDK 25 и Go 1.27, а также новые настройки отчётов и анализаторов.
Вышел PVS-Studio 8.01 — новый релиз статического анализатора с обновлениями для Java, Go, C, C++, JavaScript и TypeScript. В версии расширили поддержку практик OWASP, добавили совместимость с актуальными версиями платформ и языков, а также улучшили работу с отчётами и конфигурациями анализа.

Java-анализатор проверили по OWASP Benchmark
Команда PVS-Studio сопоставила SAST-правила Java с OWASP Benchmark for Java. Такой бенчмарк помогает оценивать качество диагностик на наборах кода с заранее известными дефектами безопасности. При проверке реальных проектов невозможно точно определить, сколько уязвимостей осталось незамеченными, поэтому бенчмарк позволяет выявить пробелы в правилах и дополнить их.
В результате в Java-анализатор добавили новые диагностические правила OWASP: V5341 обнаруживает создание cookie без атрибута Secure, V5342 — сохранение потенциально недоверенных данных в объекте, который может использоваться как источник доверенных данных, а V5343 — применение криптографически слабого генератора случайных чисел для чувствительных данных.
Поддержка новых платформ
Java-анализатор теперь поддерживает JDK 25, а анализатор Go — Go 1.27. Это позволяет проверять проекты, использующие новые возможности языков и стандартных библиотек, без задержки обновлений из-за ограничений инструментов анализа. JDK 25 относится к долгосрочным LTS-релизам, поэтому его поддержка особенно важна для команд, планирующих переход на новую долгосрочную версию Java.
Отчёты и конфигурации
Утилита PVS-Studio_Cmd.exe теперь сохраняет в JSON-отчёте конфигурации проектов, использованные во время анализа MSBuild-проектов. Это должно упростить разбор и исправление срабатываний, зависящих от конкретной платформы. В HTML-отчёте fullhtml, который создаёт PlogConverter.exe, предупреждения также группируются по конфигурации анализа.
В PVS-Studio 8.01 расширили возможности настройки анализаторов. Для JavaScript и TypeScript в файле pvs-settings.toml и утилите pvs-js.exe появилась опция max-old-space-size. Она задаёт объём памяти, доступный Node.js-серверу анализатора. В PVS-Studio_Cmd.exe пути к кэшам зависимостей теперь можно указывать относительно файла конфигурации .pvsconfig.
Для анализатора C и C++ добавили настройку типов, которые следует считать дешёвыми для копирования, а также возможность менять поведение диагностик с учётом целевой платформы. Для правила V719 появились дополнительные параметры: можно игнорировать ветку default и небольшие перечисления, задавать конкретные значения и ограничивать число игнорируемых констант.
В Plog Converter добавили фильтрацию срабатываний по номерам CWE и идентификаторам SAST. Это может пригодиться при подготовке отчётов по ГОСТ Р 71207—2024: критические ошибки, классифицируемые по этому стандарту, имеют идентификаторы SAST с приставкой SEC.
Изменения, влияющие на обратную совместимость
Релиз содержит изменение, нарушающее обратную совместимость с предыдущими версиями анализатора, поэтому в отдельных сценариях потребуется скорректировать способ его использования. Кроме того, установщик PVS-Studio для Windows теперь возвращает код 100, если не удалось установить плагины для Visual Studio. Для отключения ненулевого кода возврата добавлен флаг skipVSIXInstallErrorCode.
Сообщить о проблеме в публикации
Обращение принято Обращение будет рассмотрено. По результатам проверки публикация может быть исправлена, дополнена, временно скрыта или удалена.
Читайте новые материалы журнала — свежие сюжеты каждый день.
На главную