Что такое SCA и как он работает?

Категория: Безопасность

Просмотров: 3

Ответ:

SCA (Software Composition Analysis) — это процесс анализа используемых в проекте сторонних компонентов (библиотек, фреймворков, пакетов) на предмет:

  • известных уязвимостей (по CVE, NVD и др.),

  • лицензий (чтобы не нарушать юридические ограничения),

  • устаревших или неподдерживаемых зависимостей.

Иными словами, SCA помогает понять, что именно вы “собрали” из чужих пакетов, и не вносите ли вы в своё приложение известные уязвимости через них.


Как работает SCA:
Сканирование кода или файлов зависимостей (например, package.json, requirements.txt, pom.xml) — чтобы определить все используемые библиотеки и их версии.
Сопоставление найденных библиотек с базами известных уязвимостей (например, NVD, OSS Index, GitHub Advisory Database).
Генерация отчёта с выявленными уязвимостями, их CVE, уровнями критичности (CVSS) и рекомендациями по обновлению.
Проверка соответствия лицензий библиотек корпоративным или юридическим требованиям.
(Иногда) автоматизация обновлений зависимостей или блокировка сборки при обнаружении критических проблем.


Инструменты для SCA:

  • Коммерческие: Snyk, Black Duck, WhiteSource, Veracode SCA, Sonatype Nexus Lifecycle.

  • Опенсорс/бесплатные: OWASP Dependency-Check, osv-scanner, GitHub Dependabot (частично выполняет SCA-функции).


Зачем нужно SCA?

  • Большинство современных приложений на 60–90% состоит из стороннего кода.

  • Уязвимости в этих библиотеках могут стать точкой входа для атак, даже если ваш собственный код безошибочен.

  • SCA помогает не только поддерживать безопасность, но и соблюдать лицензионные соглашения.