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