PVS-Studio 8.01: OWASP Benchmark, поддержка JDK 25, Go 1.27 и многое другое

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

OWASP Benchmark for Java

В этом релизе мы проверили соответствие SAST-правил анализатора Java бенчмарку OWASP Benchmark for Java.

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

Использование бенчмарка позволило нам закрыть пробелы в 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, срабатывания теперь группируются по конфигурации анализа.

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

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

В анализаторе JavaScript и TypeScript появилась настройка max-old-space-size, доступная в файле конфигурации pvs-settings.toml и в утилите командной строки pvs-js.exe. Она позволяет задать объём памяти, который использует Node.js-сервер анализатора.

В утилите PVS-Studio_Cmd.exe пути к кэшам зависимостей теперь можно задавать относительно файла конфигурации .pvsconfig.

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

Для диагностического правила V719 теперь можно настроить игнорирование default-ветки и небольших enum, задать конкретные игнорируемые значения и допустимое количество игнорируемых констант.

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

В утилите для конвертации и фильтрации отчётов Plog Converter появилась возможность фильтрации срабатываний по номерам CWE и идентификаторам SAST. Это может быть удобно для отображения критических ошибок по ГОСТ Р 71207—2024. Срабатывания, которые по этому стандарту классифицируются как критические ошибки, имеют идентификатор SAST с приставкой SEC.

Breaking Change

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

В установщике PVS-Studio для Windows был добавлен код возврата 100, который выдается при неудачной установке плагинов для Visual Studio. Также был добавлен флаг skipVSIXInstallErrorCode для отключения ненулевого кода возврата в таком случае.

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

Java

  • 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.

Статьи

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

C и C++

  • Худший язык программирования всех времён /s

C#

  • Что скрывают популярные ORM для C#: проверка проектов RepoDB и SqlSugar

Java

  • Нововведения Java 27

  • Нашёл ошибки в моде Create и проверил их в игре

JavaScript и TypeScript

  • Проверка исходников VSCode

Go

  • PVS-Studio для Go: краткий обзор новых диагностических правил

Security

  • Сопротивляйтесь добавлению в проект новых библиотек — 10 лет спустя

  • Как внедрить статический анализ кода по ГОСТ Р 71207—2024

  • Список инструментов для РБПО

Другое

  • Зачем мы интегрируем свой анализатор в такое количество инструментов?

  • 10 лет с PVS-Studio: как обратная связь команды разработки KasperskyOS влияет на развитие анализатора

Вебинары

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

Мы продолжаем цикл вебинаров, посвящённый использованию генеративного искусственного интеллекта в разработке.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Завершение

Если вы хотите получать новости о новых релизах PVS-Studio, можете подписаться на нашу рассылку.

А если вы ещё не проверяли свой проект с помощью PVS-Studio, начните с пробной лицензии.

Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Valerii Filatov. PVS-Studio 8.01: OWASP Benchmark, JDK 25 and Go 1.27 support, and much more.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев