540% рост атак на цепочки поставок — а вы знаете, что внутри вашего кода?
Вот цифра, которая заставляет задуматься: от 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/