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

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

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

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

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

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

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


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

>
>
PVS-Studio 7.13: SQL инъекции, Blame No…

PVS-Studio 7.13: SQL инъекции, Blame Notifier, .NET 5

31 Май 2021

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

0829_Release_713_ru/image1.png

Хотим обратить внимание, что сайт продукта PVS-Studio сменил свой адрес и дизайн. Теперь он располагается здесь: https://pvs-studio.com. Если вы заметите на сайте какие-то ошибки, то мы будем рады, если вы сообщите нам про них.

Также хотим отметить, что теперь анализатор PVS-Studio включен в реестр отечественного ПО.

Tainted data analysis, SQL инъекции

В PVS-Studio для C++ уже давно имеются механизмы для поиска фрагментов кода, где используются непроверенные исходные данные. Про это ещё в 2018 году Сергей Васильев написал заметку "Стреляем в ногу, обрабатывая входные данные". Сейчас Сергей является руководителем C# направления, и он применил свои знания и опыт, чтобы развить tainted data analysis в ядре C# анализатора.

В C# анализаторе PVS-Studio появилось первое диагностическое правило из стандарта OWASP ASVS, ищущее в коде ошибки, связанные с непроверенными данными (tainted data). Это диагностическое правило V5608 для поиска потенциальных SQL инъекций. Данный класс ошибок занимает важное место в рейтинге OWASP Top 10, и в будущих релизах PVS-Studio мы будем добавлять диагностические правила для поиска множества других видов потенциальных tainted data уязвимостей.

.NET 5

Теперь PVS-Studio полноценно поддерживает анализ проектов, ориентированных на .NET 5 и использующих возможности C# 9. Кроме того, C# анализатор под Linux и macOS также использует платформу .NET 5 для своей работы. Таким образом, на этих системах потребуется наличие установленного пакета .NET 5 SDK. Версия анализатора под Windows, как и раньше, использует .NET Framework 4.7.2.

Более подробно об этом можно прочитать в статье "Свершилось! PVS-Studio поддерживает анализ проектов под .NET 5".

Blame Notifier

Утилита Blame Notifier для автоматической рассылки отчётов о найденных анализатором предупреждениях на основе blame информации из системы контроля версий теперь может сортировать предупреждения по номерам и датам коммитов. Это позволяет видеть предупреждения на код, появившиеся только за определённый день.

Раньше аналогичная функциональность была доступна только при использовании PVS-Studio в связке с SonarQube. Не все наши пользователи хотят использовать SonarQube, но им нужна возможность сортировки предупреждений по датам. Теперь стало больше вариантов и сценариев. Подробнее: Новые возможности PVS-Studio по оповещению разработчиков о найденных ошибках.

Примечание. Продолжая тему отчётов, следует отметить новую стороннюю утилиту. Теперь автоматическую публикацию отчётов можно делать не только с помощью Blame Notifier. Наш пользователь написал легковесный аналог (не требующий .NET для работы) данной утилиты, который вы можете попробовать на GitHub (Blame Notifier Script).

16 новых диагностик

  • V832. It's better to use '= default;' syntax instead of empty body.
  • V1070. Signed value is converted to an unsigned one with subsequent expansion to a larger type in ternary operator.
  • V1071. Consider inspecting the 'foo' function. The return value is not always used.
  • V1072. The buffer is securely cleared not on all execution paths.
  • V1073. Consider checking for misprints. Check the following code block after the 'if' statement.
  • V2577. MISRA. The function argument corresponding to a parameter declared to have an array type should have an appropriate number of elements.
  • V2578. MISRA. An identifier with array type passed as a function argument should not decay to a pointer.
  • V2579. MISRA. Macro should not be defined with the same name as a keyword.
  • V2580. MISRA. The 'restrict' specifier should not be used.
  • V2581. MISRA. Single-line comments should not end with a continuation token.
  • V2582. MISRA. Block of memory should only be freed if it was allocated by a Standard Library function.
  • V3170. Both operands of the '??' operator are identical.
  • V3171. Potentially negative value is used as the size of an array.
  • V3551. AUTOSAR. An identifier with array type passed as a function argument should not decay to a pointer.
  • V5013. OWASP. Storing credentials inside source code can lead to security issues.
  • V5608. OWASP. Possible SQL injection. Potentially tainted data is used to create SQL command.

Прочее

  • В C++ анализаторе улучшена поддержка проверки Ninja проектов на Windows с использованием JSON Compilation Database (compile_commands.json).
  • Использование компилятора Clang для сборки C++ анализатора PVS-Studio позволило сократить на 10% время его работы при проверке исходных файлов.
  • Плагин PVS-Studio для JetBrains Rider теперь поддерживает работу с версией Rider 2021.1.
  • В утилиту для поверки C++ и C# Visual Studio проектов PVS-Studio_Cmd.exe добавлена возможность передавать файл подавленных сообщений напрямую. До этого подавленные сообщения можно было добавлять только на уровне проектов и solution'а.

Некоторые статьи, опубликованные с момента предыдущего релиза

Популярные статьи по теме
PVS-Studio 7.18: обновления и улучшения

Дата: 13 Апр 2022

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

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

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

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