SCA (software composition analysis) с помощью PVS-Studio
PVS-Studio ищет дефекты безопасности не только в коде, но и в компонентах, используемых в приложении. Зачем это нужно?
Опасность уязвимых компонентов
Современные приложения часто используют сторонние компоненты, некоторые из которых содержат дефекты безопасности. Если приложение использует уязвимый компонент, само оно также может быть уязвимо к атакам злоумышленников. Следовательно, возрастают репутационные и финансовые риски.
Использование уязвимых и устаревших компонентов выделено в отдельную категорию в списке OWASP Top 10 2021: A06:2021 – Vulnerable and Outdated Components.
Можно ли автоматически проверять, что приложение не использует компоненты с известными уязвимостями? Да. Для этого применяют инструменты, которые анализируют компонентный состав ПО (SCA, software composition analysis).
SCA-решения изучают, из каких компонентов состоит приложение, и сообщают, если находят уязвимые. После этого разработчики могут обновить компонент до безопасной версии, заменить его на другой или защититься иным способом.
PVS-Studio как SCA-решение
PVS-Studio анализирует компонентный состав ПО только для C# проектов. Интересна такая же функциональность для проектов на C, C++ или Java? Напишите нам об этом.
PVS-Studio анализирует проект и определяет, какие компоненты используются в нём. Если среди них есть уязвимый – выдаёт предупреждение. Оно содержит версию и название опасного компонента, описание уязвимости и CVE-ID.
Компонентный состав C# проектов анализирует диагностическое правило V5625. Как работать с предупреждениями SCA и настроить их под специфику проекта, описали в документации.