Вопрос или проблема
Сканер уязвимостей для скриптов CDN [закрыто]
Я ищу сканер уязвимостей (SAST, SCA или другой), который определяет в коде сценарии CDN, где сценарий ссылается на уязвимый пакет (например, jQuery 1.9 подвержен XSS). Обычно сканеры SCA находят уязвимые сторонние пакеты, ищя их в package.json, nuget или эквивалентных списках пакетов; но они не сканируют сам исходный код. Сканеры SAST проверяют пользовательский код, но не отмечают конкретные версии найденных пакетов (скриншот ниже отметит отсутствие использования SRI, но не отметит уязвимые версии). Существуют ли компании SAST/SCA, которые проверяют это, или какой-то нишевый инструмент, который может их выявить?
Ответ или решение
К сожалению, ваш вопрос о сканерах уязвимостей для скриптов CDN был закрыт, так как он подходит под категорию "поиск рекомендаций по продуктам", что считается неуместным. Однако я постараюсь ответить на него, объяснив общую концепцию и подходы к решению проблемы, с которой вы сталкиваетесь.
Какие инструменты использовать для проверки уязвимостей в скриптах CDN?
Ваша задача требует анализа как исходного кода, так и зависимостей, подключаемых через CDN, чтобы обнаружить уязвимости в конкретных версиях библиотек, таких как jQuery. Вот несколько подходов и инструментов, которые могут помочь в этой области.
-
Статический анализ (SAST):
- SonarQube: Это инструмент для статического анализа кода, который позволяет проверять качество кода и выявлять уязвимости. Однако его возможности по сравнению с CDN-скриптами могут быть ограничены.
- Checkmarx: Еще один инструмент для статического тестирования, который может обнаруживать уязвимости в коде, но также требует настройки для глубокого анализа CDN.
-
Анализ уязвимостей зависимостей (SCA):
- Snyk: Этот инструмент может сканировать ваш код и зависимости, обнаруживая уязвимые версии библиотек. Он также может проверять код на наличие указаний на CDN, но эффективность анализа может варьироваться.
- npm audit: Если ваш проект использует npm, то вы можете выполнять команды для проверки зависимостей на наличие уязвимостей. Однако это не охватывает внешние источники (такие как CDN) напрямую.
-
Кастомизированные решения:
- Создание собственного скрипта: Если существующие инструменты не удовлетворяют вашим требованиям, возможно, стоит рассмотреть разработку собственного инструмента или скрипта, который будет анализировать ваш код и искать упоминания о CDN, сопоставляя их с базой данных известных уязвимостей (например, CVE).
- Использование API сервисов уязвимостей: Вы можете интегрировать API, которые предоставляют информацию о последних уязвимостях. проверяя используемые вами бибилотеки на предмет уязвимостей.
- Внешние библиотеки и плагины:
- Существуют также различные плагины для IDE (такие как Visual Studio Code), которые могут помочь в выявлении уязвимых версий библиотек. Например, некоторые плагины анализируют ваши зависимости в проекте и сравнивают их с актуальной информацией о безопасности.
Заключение
Хотя решение вашей задачи может потребовать многоступенчатого подхода, комбинируя различные инструменты и настраивая их на анализ специфических сценариев, это вполне осуществимо. Наилучший вариант — это найти средство, которое будет охватывать как код, так и зависимости, а также проверить содержание скриптов на наличие определенных версий библиотек, известных как уязвимые. Это может потребовать некоторой доработки и интеграции существующих решений в одну цепочку анализа.