Вот цифра, которая заставляет задуматься: от 70 до 90% кодовой базы типичного приложения — это не ваш код. Это open source библиотеки, их зависимости, зависимости зависимостей и ещё пара уровней вглубь. Когда вы добавляете
spring-boot-starter-web в Java-проект, вы тянете десятки транзитивных пакетов, которые даже не выбирали. И именно там чаще всего прячутся CVE.🔎Число атак на цепочки поставок ПО выросло на 540% за три года и удвоилось ещё раз к 2024-му. При этом большинство уязвимостей находится не в корневых пакетах, а в тех самых транзитивных зависимостях — на глубине, куда ваш
package.json или pom.xml просто не заглядывает.Для решения этой проблемы существует целый класс инструментов — SCA (Software Composition Analysis). Не путайте с SAST: SAST ищет баги в вашем коде, SCA фокусируется на том, что вы не писали, но запускаете каждый день. И вот почему это критично: без SCA-мониторинга компрометированная библиотека из npm или PyPI может тихо красть credentials, открывать бэкдоры или выполнять произвольный код в продакшне.
🎇Помните Log4Shell в декабре 2021-го? Команды без SCA тратили дни на ручной поиск: какие сервисы используют Log4j, какой версии, через какую транзитивную цепочку библиотека попала в проект. Те, у кого был работающий SBOM и Dependency-Track, получили список затронутых компонентов за минуты. Разница между инцидентом на пару часов и инцидентом на неделю.
Что стоит знать про практику:
• SBOM (Software Bill of Materials) — инвентаризация всех компонентов приложения. Без неё поиск уязвимостей — гадание вслепую.
• Для генерации SBOM отлично работает
syft от Anchore — поддерживает контейнеры, файловые системы, архивы. Результат можно сразу прогнать через grype для поиска CVE.• Из форматов SBOM для задач безопасности выбирайте CycloneDX (OWASP) — он проектировался под security use cases и нативно поддерживает VEX.
• OWASP Dependency-Track — open-source платформа для непрерывного мониторинга зависимостей. Загружаете SBOM, получаете автоматический матчинг по базам уязвимостей.
➡️Минимальная точка входа — генерация SBOM в CI/CD на каждый билд. Это занимает пару строк в пайплайне, но превращает реакцию на следующую критическую CVE из паники в рутину.
Разобрали SCA-инструменты, Dependency-Track, Snyk, форматы SBOM и практические команды в полной версии статьи.
https://codeby.net/threads/analiz-zavisimostei-v-bezopasnosti-prilozhenii-sca-instrumenty-dependency-track-snyk-i-sbom-na-praktike.94864/
