Для получения триального ключа
заполните форму ниже
Team License (базовая версия)
Enterprise License (расширенная версия)
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Бесплатная лицензия PVS-Studio для специалистов Microsoft MVP
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

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

Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте папку
Spam/Junk и нажмите на письме кнопку "Не спам".
Так Вы не пропустите ответы от нашей команды.

>
>
PVS-Studio 7.18: обновления и улучшения

PVS-Studio 7.18: обновления и улучшения

13 Апр 2022

Мы выпустили новый релиз PVS-Studio – 7.18. В этой заметке расскажем, как развиваем security-направление, зачем нужна новая система типов в C++ анализаторе, как улучшили анализ кода для embedded-систем и не только.

0934_Release_7_18_ru/image1.png

Находим ещё больше дефектов безопасности: 9 из 10 категорий OWASP Top 10 2021

Мы продолжаем развивать PVS-Studio как SAST-решение. Это позволяет пользователям находить ещё больше потенциальных уязвимостей.

Одно из основных направлений – разработка security-диагностик для поиска дефектов из списка OWASP Top 10 2021. Теперь PVS-Studio покрывает 9 из 10 категорий этого списка. Посмотреть, как диагностики соотносятся с категориями OWASP Top 10, можно здесь.

Непокрытой осталась одна категория – A06:2021. Один из вариантов покрыть её – научить анализатор искать в проектах компоненты с известными уязвимостями. Другими словами – PVS-Studio должен проводить software composition analysis (SCA).

Для начала мы хотим добавить SCA в C# анализатор. Планируем сделать это в одном из будущих релизов.

Новый режим мониторинга компиляции на Windows: ловит все запуски компилятора

Система мониторинга компиляции на Windows нужна, чтобы анализировать проекты на C и C++. Причём сборочная система неважна. Важно только, чтобы PVS-Studio поддерживал компилятор, который используется в проекте.

Однако у системы мониторинга был недостаток: если процесс компилятора быстро завершался, система могла его не отследить. Из-за этого PVS-Studio не анализировал файлы, компиляцию которых не успевал перехватывать.

Чаще всего с проблемой сталкивались разработчики, которые пишут код под embedded-платформы.

Новый режим анализа решает описанную проблему. В нём PVS-Studio перехватывает все запуски компилятора. Быстро компилируется код или нет – неважно.

Подробнее режим описан в документации.

PVS-Studio и Visual Studio Code

С отчётами PVS-Studio можно работать из Visual Studio Code. Для этого нужно:

  • установить плагин Sarif Viewer;
  • преобразовать лог в формат SARIF;
  • загрузить отчёт анализатора.

Подробнее эти шаги мы описали в документации.

Анализ напрямую из Visual Studio Code запускать пока нельзя. Если вас интересует такая возможность – напишите об этом. По фидбеку оценим, насколько функциональность востребована.

Более глубокий анализ C++ кода

Мы обновили систему типов в C++ анализаторе. Теперь PVS-Studio лучше разбирает современный C++: стандартную библиотеку, сложные конструкции, шаблоны. Диагностики стали точнее, а значит, находят больше опасных мест и выдают меньше ложных предупреждений.

Подробнее рассказали об этом в докладе.

Интеграция PVS-Studio с CMake и GitHub Actions

В новых разделах документации мы описали, как можно интегрировать PVS-Studio в GitHub Actions и CMake.

Новые диагностики

C, C++

  • V1079. Parameter of 'std::stop_token' type is not used inside function's body.
  • V1080. Call of 'std::is_constant_evaluated' function always returns the same value.
  • V1081. Argument of abs() function is minimal negative value. Such absolute value can't be represented in two's complement. This leads to undefined behavior.
  • V1082. Function marked as 'noreturn' may return control. This will result in undefined behavior.

C#

  • V5619. OWASP. Possible log injection. Potentially tainted data is written into logs.
  • V5620. OWASP. Possible LDAP injection. Potentially tainted data is used in a search filter.
  • V5621. OWASP. Error message contains potentially sensitive data that may be exposed.

Почитать, посмотреть и попробовать

Почитать

С момента прошлого релиза проверили качество кода нескольких Open Source проектов:

Нашли несколько подтверждений тому, почему статический анализ лучше использовать регулярно. Как? Подробно описали здесь, если вкратце – алгоритм примерно такой:

  • разработчики пишут новый код для Open Source проектов;
  • мы анализируем его с помощью PVS-Studio;
  • смотрим отчёты анализатора и находим ошибки, которые пропустили разработчики;
  • пишем об этом.

Некоторые из найденных проблем описали в этих статьях:

Кроме того, написали статьи про безопасность. В них рассмотрели дефекты, связанные с обработкой XML-файлов, а именно:

  • как уязвимости выглядят в коде;
  • как провести атаку на приложение с уязвимостью;
  • какими будут последствия.

Описали это в двух статьях:

Больше статей – в нашем блоге.

Посмотреть

Мы не только пишем статьи, но и снимаем видео. Новые материалы на нашем YouTube-канале:

Кстати, в феврале мы участвовали в подкасте DotNet & More. Там поговорили о статическом анализе, Roslyn, security и не только. Посмотреть запись можно здесь. Если больше нравится слушать, в описании видео на YouTube есть ссылки на аудиозапись.

Попробовать

Нет лицензионного ключа

Если хотите попробовать PVS-Studio, нужно сделать 3 простых шага:

  • запросить триальный ключ;
  • загрузить дистрибутив;
  • проверить проект.

Пройти по шагам поможет эта страница. Не забудьте поделиться впечатлениями. :)

Лицензионный ключ есть

Последнюю версию PVS-Studio можно загрузить здесь.

Популярные статьи по теме
Релиз PVS-Studio 7.17: улучшаем работу с Unreal Engine, ASP.NET Core, Texas Instruments

Дата: 14 Фев 2022

Автор: Сергей Васильев

С радостью представляем вам сводку новостей о первом релизе PVS-Studio в 2022 году. Сегодня поговорим об улучшениях в работе с Unreal Engine и ASP.NET Core проектами, новых диагностиках, а также о то…
PVS-Studio 7.16, взятие рубежей: MISRA C, Visual Studio 2022, .NET 6

Дата: 10 Дек 2021

Автор: Андрей Карпов

Последний релиз в уходящем 2021 году закрывает сразу несколько важных задач, поставленных перед командой PVS-Studio. Добавлена поддержка Visual Studio 2022, платформы .NET 6 и C# 10.0. Для стандарта …
PVS-Studio 7.15: развитие MISRA, CWE, OWASP, Unreal Engine

Дата: 11 Окт 2021

Автор: Андрей Карпов

Инструмент PVS-Studio активно развивается в сторону выявления дефектов Safety и Security направленности. А именно: улучшается поддержка стандартов MISRA C:2012 и OWASP ASVS. Поддержан стандарт MISRA …
PVS-Studio 7.14: межмодульный анализ в С++ и плагин для JetBrains CLion

Дата: 16 Авг 2021

Автор: Андрей Карпов

Помимо увеличения количества диагностик с каждым новым релизом анализатор PVS-Studio развивается и в инфраструктурном плане. В данном случае это плагин для среды разработки JetBrains CLion, межмодуль…
PVS-Studio 7.13: SQL инъекции, Blame Notifier, .NET 5

Дата: 31 Май 2021

Автор: Андрей Карпов

Очередная версия статического анализатора PVS-Studio интересна следующими нововведениями: анализ непроверенных данных (tainted data analysis), поддержка .NET 5, утилита Blame Notifier научилась сорти…

Комментарии (0)

Следующие комментарии
Этот сайт использует куки и другие технологии, чтобы предоставить вам более персонализированный опыт. Продолжая просмотр страниц нашего веб-сайта, вы принимаете условия использования этих файлов. Если вы не хотите, чтобы ваши данные обрабатывались, пожалуйста, покиньте данный сайт. Подробнее →
Принять