﻿# Кратко о PVS\-Studio как SAST решении

PVS\-Studio является средством статического тестирования защищённости приложений \(Static Application Security Testing, SAST\)\. Другими словами, анализатор PVS\-Studio выявляет не только выход за границы массива, опечатки, мёртвый код и прочие ошибки, но и потенциальные уязвимости\.

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

Существует два подхода к выявлению уязвимостей в коде\.

В первом случае анализатор, основываясь на базе общеизвестных уязвимостей [CVE](https://ru.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures), производит поиск опасных фрагментов кода\. Это похоже на то, как работают антивирусы\. Подход эффективен для выявления известных уязвимостей, которые могли попасть в проект при использовании старых библиотек или методом Copy\-Paste\.

Рассмотренный подход не отвечает на вопрос, что делать с ещё не выявленными уязвимостями и новым написанным кодом\.

Поэтому существует второй подход, когда превентивно выявляются и исправляются участки кода, содержащие дефекты безопасности\. Инструмент PVS\-Studio на данный момент [реализует](https://pvs-studio.ru/ru/pvs-studio/sast/) именно эту стратегию\.

Существует база Common Weakness Enumeration \([CWE](https://cwe.mitre.org/)\), описывающая паттерны ошибок, которые при стечении обстоятельств можно начать эксплуатировать как уязвимости\. На практике только малая часть из найденных CWE\-ошибок представляет опасность\. С точки зрения разработчика, нет смысла рассуждать, можно или нет использовать тот или иной дефект для атаки\. Нужно просто исправить все эти дефекты, и тем самым повысить надёжность приложения\.

Анализатор PVS\-Studio поддерживает классификацию ошибок согласно CWE\. Если PVS\-Studio выдал предупреждение и сопоставил его с одним из CWE ID, то обнаружена потенциальная уязвимость, которую следует исправить\.

![0625_Briefly_about_PVS_Studio_SAST_ru/image2.png](https://import.viva64.com/docx/blog/0625_Briefly_about_PVS_Studio_SAST_ru/image2.png)

Рекомендуем ознакомиться с ретроспективной статьёй "[Как PVS\-Studio может помочь в поиске уязвимостей](https://pvs-studio.ru/ru/blog/posts/cpp/0514/)"\. В ней рассматриваются некоторые уязвимости, которые можно было бы выявить с помощью PVS\-Studio ещё на этапе написания кода\.

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