﻿# PVS\-Studio 8\.01: OWASP Benchmark, поддержка JDK 25, Go 1\.27 и многое другое

Вышел новый релиз PVS\-Studio — 8\.01\. В нём: расширение поддержки OWASP, поддержка новых версий Java и Go и многое другое\. 

![1420_release_8_01_ru/image1.png](https://import.viva64.com/docx/blog/1420_release_8_01_ru/image1.png)

## OWASP Benchmark for Java

В этом релизе мы проверили соответствие SAST\-правил анализатора Java бенчмарку [OWASP Benchmark for Java](https://owasp.org/www-project-benchmark/)\.

На реальных проектах довольно трудно оценить качество диагностических правил, направленных на поиск дефектов безопасности\. Мы не знаем заранее, сколько в коде уязвимостей, а значит, не понимаем, какие дефекты были пропущены\.

Использование бенчмарка позволило нам закрыть пробелы в SAST\-части анализатора Java, сделав его более эффективным в обнаружении дефектов безопасности\.

## Новые версии Java и Go

В PVS\-Studio 8\.01 мы добавили поддержку новых версий платформ: анализатор Java теперь работает с JDK 25, а анализатор Go — с версией 1\.27\. 

Это позволяет проверять проекты, которые используют актуальные версии языков и их стандартных библиотек, и не откладывать обновление из\-за ограничений инструментов анализа\. 

JDK 25 при этом относится к LTS\-выпускам, поэтому его поддержка особенно важна для команд, которые переходят на новую долгосрочную версию\.

## Отчёты с конфигурацией анализа

Утилита `PVS-Studio_Cmd.exe` для проверки MSBuild\-проектов теперь сохраняет в JSON\-отчёт конфигурации проектов, которые использовались при анализе\. Это упрощает исправление срабатываний, возникающих на некоторых платформах\. 

Кроме того, в отчёте `fullhtml`, который генерирует [утилита `PlogConverter.exe`](https://pvs-studio.ru/ru/docs/manual/0038/), срабатывания теперь группируются по конфигурации анализа\.

## Расширения конфигурации

В этой версии мы расширили возможности настройки анализаторов и утилит, чтобы их можно было точнее подстроить под особенности проекта и окружения\.

В анализаторе JavaScript и TypeScript появилась настройка `max-old-space-size`, доступная в [файле конфигурации `pvs-settings.toml`](https://pvs-studio.ru/ru/docs/manual/7193/) и в [утилите командной строки `pvs-js.exe`](https://pvs-studio.ru/ru/docs/manual/7195/)\. Она позволяет задать объём памяти, который использует Node\.js\-сервер анализатора\.

В утилите `PVS-Studio_Cmd.exe` пути к кэшам зависимостей теперь можно задавать относительно [файла конфигурации `.pvsconfig`](https://pvs-studio.ru/ru/docs/manual/6630/)\.

В анализаторе C и C\+\+ расширились возможности настройки диагностических правил\. Например, можно вручную указать типы, которые анализатор будет считать дешёвыми для копирования, и настроить поведение анализатора в зависимости от целевой платформы\.

Для диагностического правила [V719](https://pvs-studio.ru/ru/docs/warnings/v719/) теперь можно настроить игнорирование `default`\-ветки и небольших `enum`, задать конкретные игнорируемые значения и допустимое количество игнорируемых констант\.

## Расширенная фильтрация срабатываний

В [утилите для конвертации и фильтрации отчётов Plog Converter](https://pvs-studio.ru/ru/docs/manual/0038/) появилась возможность фильтрации срабатываний по номерам CWE и идентификаторам SAST\. Это может быть удобно для отображения критических ошибок по [ГОСТ Р 71207—2024](https://pvs-studio.ru/ru/pvs-studio/gost-71207/)\. Срабатывания, которые по этому стандарту классифицируются как критические ошибки, имеют идентификатор SAST с приставкой SEC\.

## Breaking Change

В этом релизе произошло изменение, которое ломает обратную совместимость с предыдущими версиями анализатора\. В связи с этим вам может потребоваться изменить способ его использования\.

В установщике PVS\-Studio для Windows [был добавлен код возврата 100](https://pvs-studio.ru/ru/docs/manual/0025/), который выдается при неудачной установке плагинов для Visual Studio\. Также был добавлен флаг `skipVSIXInstallErrorCode` для отключения ненулевого кода возврата в таком случае\.

##  Новые диагностические правила

### Java

* [V5341](https://pvs-studio.ru/ru/docs/warnings/v5341/)\. OWASP\. A cookie was created without enabling the 'Secure' attribute\. This may lead to the exposure of sensitive data\.
* [V5342](https://pvs-studio.ru/ru/docs/warnings/v5342/)\. OWASP\. Potentially tainted data is stored in an object that can be used as a source of trusted data\.
* [V5343](https://pvs-studio.ru/ru/docs/warnings/v5343/)\. OWASP\. A cryptographically weak random number is used for sensitive data\.

## Статьи

А вот и традиционная подборка публикаций из нашего блога\! За прошедшие два месяца мы выпустили статьи, в которых искали ошибки в популярных C\# ORM RepoDB и SqlSugar, проверяли исходники VSCode, разбирали нововведения Java 27, находили баги в моде Create и многое другое\. Полный список представлен ниже\.

### C и C\+\+

* [Худший язык программирования всех времён /s](https://pvs-studio.ru/ru/blog/posts/cpp/1409/)

### C\#

* [Что скрывают популярные ORM для C\#: проверка проектов RepoDB и SqlSugar](https://pvs-studio.ru/ru/blog/posts/csharp/1411/)

### Java

* [Нововведения Java 27](https://pvs-studio.ru/ru/blog/posts/java/1412/)
* [Нашёл ошибки в моде Create и проверил их в игре](https://pvs-studio.ru/ru/blog/posts/java/1417/)

### JavaScript и TypeScript

* [Проверка исходников VSCode](https://pvs-studio.ru/ru/blog/posts/js/1407/)

### Go

* [PVS\-Studio для Go: краткий обзор новых диагностических правил](https://pvs-studio.ru/ru/blog/posts/go/1413/)

### Security

* [Сопротивляйтесь добавлению в проект новых библиотек — 10 лет спустя](https://pvs-studio.ru/ru/blog/posts/1408/)
* [Как внедрить статический анализ кода по ГОСТ Р 71207—2024](https://pvs-studio.ru/ru/blog/posts/1415/)
* [Список инструментов для РБПО](https://pvs-studio.ru/ru/blog/posts/1416/)

### Другое

* [Зачем мы интегрируем свой анализатор в такое количество инструментов?](https://pvs-studio.ru/ru/blog/posts/1410/)
* [10 лет с PVS\-Studio: как обратная связь команды разработки KasperskyOS влияет на развитие анализатора](https://pvs-studio.ru/ru/blog/posts/1414/)

## Вебинары

### Качество и безопасность в эпоху GenAI

Мы продолжаем [цикл вебинаров](https://pvs-studio.ru/ru/webinar/cycle/genai-code-quality/), посвящённый использованию генеративного искусственного интеллекта в разработке\. 

Завышенное доверие к генеративному искусственному интеллекту \(GenAI\) усиливает проблемы владения кодом, безопасностью, bus\-фактором, обучения персонала и так далее\. Вместе с экспертами из разных компаний посмотрим на эти проблемы с разных сторон и разберём, как их можно минимизировать\. GenAI теперь с нами, и нет смысла отказываться от его возможностей\. Но важно видеть в нём инженерный инструмент — иногда опасный, — а не волшебного помощника\.

### Агенты пишут код, а кто его проверяет?

AI\-агенты постепенно меняют привычный процесс разработки: человек всё меньше пишет код напрямую и всё больше выступает в роли оркестратора, который ставит задачи, направляет агентов, проверяет результат и выстраивает вокруг них целую экосистему инструментов\.

В первой части вебинара разобрали, как выглядит работа с агентами в продакшене уже сегодня: от планирования и итераций до ревью, файлов\-памяти и автоматизации проверки кода\. Посмотрели, куда развивается агентная экосистема и почему агенты постепенно выходят за пределы IDE — в мессенджеры и другие среды, где они могут работать практически 24/7\. Отдельно поговорили о главном компромиссе этой эволюции: возможностях агентов и безопасности их работы\.

Во второй части разобрали, как контролировать результат такой разработки\. Несмотря на весь шум вокруг AI, задача остаётся знакомой: нужно проверять код, независимо от того, кто его написал — человек или агент\. Посмотрели, как тестирование, статический анализ и другие QA\-инструменты помогают находить проблемы и обеспечивать качество и безопасность без необходимости изобретать новый подход к контролю\.

В конце поговорили о том, как адаптировать привычные инженерные практики к новой реальности: использовать возможности AI\-агентов на полную, но не забывать главное правило: не доверяй, проверяй\.

<https://vk.com/video_ext.php?oid=-11805870&id=456239789>

Стратегия без иллюзий: как превращать цели в результаты

Большие цели редко достигаются благодаря одному удачному рывку\. Их определяют понятная стратегия, системный подход и ежедневные действия\. Но как сделать, чтобы планы не оставались в презентациях, а действительно влияли на работу и жизнь? Именно это мы и разберём на вебинаре\.

Александр Швец \(CTO Авито Товары, ex\-CTO Яндекс Еда\) расскажет, как пройти путь "От мечты — к миссии, от миссии — к стратегии, от стратегии — к жизни"\. Вы узнаете, как создавать стратегию, которая работает не только на бумаге, почему повседневные действия определяют итоговый результат и что делает любые амбиции достижимыми, при этом наполняя смыслом дорогу к ним\.

Константин Волоховский \(руководитель направления разработки Java в PVS\-Studio\) расскажет про "Цели на год, или как действовать системно"\. Он разберёт методику постановки годовых целей Павла Комаровского, расскажет, как формулировать цели, отслеживать прогресс, а главное, поделится собственным опытом её применения\.

< https://vk.com/video_ext.php?oid=-11805870&id=456239785>

Go\-Go\-Gadg\.\.\.Error? Смотрим, как ошибаются Go разработчики\!

В Go разработчики ошибаются так же, как и разработчики в любом другом языке: опечатки, дубликаты, нерабочие условия проверок и тому подобное\.

Но почему? Ведь многие используют тот же go vet который прекрасно находит всё это\.\.\. ведь так, да?

На вебинаре разобрали частые и типовые ошибки Go разработчиков в известных проектах, а также узнали, какие ошибки не могут найти стандартные инструменты и подходы и что с этим делать\.

<https://vk.com/video_ext.php?oid=-11805870&id=456239786>

### Как разговорить человека и договориться

Small talk — это не просто короткая беседа, а способ устанавливать контакт, создавать доверие и открывать новые возможности для общения\. На вебинаре разберём, как легко начинать и поддерживать такие разговоры, а также как использовать small talk в рабочих ситуациях: от нетворкинга и новых знакомств до сложных обсуждений, переговоров и договорённостей\.

Юлия Лантратова \(специалист по развитию персонала в PVS\-Studio\) в своём докладе "Вам предстоят сложные переговоры — с чего начать?" расскажет о том, что small talk может быть не просто приятным началом разговора, а инструментом, который помогает наладить контакт перед сложной коммуникацией\. Разберём, как использовать его в рабочих ситуациях: от договорённостей о задачах до командных обсуждений и переговоров — и как понять, когда контакт уже установлен и можно переходить к делу\.

Дарья Мулык \(бизнес\-тренер по коммуникации и публичным выступлениям, коуч для руководителей и команд\) в своём докладе "SMALL talk: искусство короткой беседы" разберёт три ключевых элемента успешного small talk: как легко начать разговор, как поддерживать и развивать беседу, а также как красиво её завершить, оставив приятное впечатление\. Вы получите простые инструменты, которые помогут чувствовать себя увереннее на конференциях, деловых встречах, нетворкинге и в любых компаниях\.

<https://vk.com/video_ext.php?oid=-11805870&id=456239788>

### Автоматизация контроля качества и безопасности ПО

Вебинар посвящен тому, как встроить практики качества и безопасности в ежедневный цикл разработки\. Эксперты PVS\-Studio и Apsafe рассказали, почему статический анализ и автоматизированные проверки стали доступными инструментами для любой команды и как регулярный контроль безопасности помогает успевать за современным ритмом релизов без перестройки CI/CD\.

Валерий Филатов \(Developer Advocate в PVS\-Studio\) рассказал в своем докладе "Зачем платить за то, что уже работает?" о том, что когда\-то код\-ревью, автотесты и CI/CD казались лишней бюрократией — дорогой и доступной немногим\. Со временем выяснилось, что без них инциденты обходятся дороже, чем сама практика, а инструменты подтянулись настолько, что теперь это может себе позволить любая команда\. На примере статического анализа посмотрели, почему Best Practices давно перестали быть недостижимым идеалом\.

Виктор Тимашков \(руководитель группы Apsafe\) в своем докладе "Безопасность приложения — это не разовая проверка, а ритм релиза" объяснил, что разовые пентесты и квартальные аудиты не успевают за поставкой: код уходит в прод чаще, чем его успевают "проверить снаружи"\. Разобрали, почему контроль должен повторяться вместе с релизом, что меняется в процессе разработки и как облачный контур \(на примере Apsafe\) встраивает проверки в этот ритм без перестройки CI/CD\.

<https://vk.com/video_ext.php?oid=-11805870&id=456239793>

### Применение ЗОСРВ "Нейтрино" и PVS\-Studio для разработки ПО согласно требованиям МЭК 61508

На вебинаре разобрали подходы к разработке функционально безопасного ПО для ЗОСРВ "Нейтрино" в соответствии с требованиями МЭК 61508 и показали, какую роль в этом процессе играют инструменты статического анализа\.

В первой части поговорили о принципах разработки ПО для "Нейтрино", рассмотрели требования МЭК 61508 к инструментальным средствам и продемонстрировали работу PVS\-Studio в комплекте разработчика "Нейтрино"\.

Во второй части подробнее остановились на статическом анализе как инструменте для обеспечения безопасности\. Разобрали требования МЭК 61508 и МЭК 26262, их связь со стандартами MISRA и рассмотрели, как PVS\-Studio помогает контролировать качество и соответствие кода требованиям стандартов\.

В завершение рассказали о новой мажорной версии PVS\-Studio — 8\.0\. Рассмотрели ключевые изменения и нововведения релиза и обозначили дальнейшие направления развития инструмента, включая функциональную безопасность\.

<https://vk.com/video_ext.php?oid=-11805870&id=456239794>

### Каждая идиома когда\-то была проблемой

Красивый и надёжный код почти никогда не рождается с первого раза\. Сначала появляются ошибки, а уже потом идиомы, которые помогают их избегать\. На вебинаре рассмотрели реальные фрагменты кода из открытых проектов на языке C\+\+, нашли в них проблемные места с помощью статического анализа и разобрали более 10 идиом и паттернов, которые позволят защитить ваш код\.

<https://vk.com/video_ext.php?oid=-11805870&id=456239797>

### Можно ли быть тимлидом, но не быть экспертом? Или тренеры не играют

Должен ли тимлид быть лучшим разработчиком в команде? На этом вебинаре поговорили о том, в чём на самом деле заключается ценность тимлида, можно ли эффективно руководить командой, не являясь техническим экспертом, и как решать проблемы, в которых вы сами не разбираетесь\.

Инна Пристягина \(руководитель развития персонала в PVS\-Studio\) рассказала о практиках хорошего тимлида, но плохого тех\.эксперта\. Разбрала, почему неумение лично выполнять задачи команды — не слабость руководителя, а вполне осознанная и эффективная модель работы\.

Александра Бутузова \(TeamLead кросс\-функциональной команды в F\.Doc\) разобрала, как решать проблемы как тимлид\. Ведь лидеру регулярно приходится сталкиваться с задачами и ситуациями, в которых он не является экспертом\. Как действовать в таких случаях и в чём заключается истинная ценность работы руководителя — обсудили на вебинаре\.

<https://vk.com/video_ext.php?oid=-11805870&id=456239800>

### Go vet не поможет\.\.\. Как сделать свой анализатор кода для Go?

Статический анализатор — это полезный инструмент, и Go разработчики знают это не понаслышке благодаря go vet\. Но что, если его возможностей не хватает? Искать новый инструмент? Или сделать\.\.\. свой?\!

В докладе разобрали встроенные в Go инструменты и возможности для разбора кода\. Узнали, что лежит под капотом статического анализа, что такое семантическая модель, и построили синтаксическое дерево\.

А нужно это всё для того, чтобы в итоге написать собственный анализатор, который будет искать ошибки под ваш конкретный проект\.

<https://vk.com/video_ext.php?oid=-11805870&id=456239799>

## Завершение

Если вы хотите получать новости о новых релизах PVS\-Studio, можете [подписаться на нашу рассылку](https://pvs-studio.ru/ru/subscribe/)\.

А если вы ещё не проверяли свой проект с помощью PVS\-Studio, [начните с пробной лицензии](https://pvs-studio.ru/ru/pvs-studio/try-free/)\.