TGViewer
Code Mining Code Mining @codemining · 914 subscribers
Post #19 205
Что такое Software Composition Analysis (SCA)

Мы уже неоднократно упоминали в этом канале про open source, лицензии и разное вокруг них. Сегодня хотим дать максимально ёмкое и по возможности коротко определение термину, который это всё объединяет — SCA, он же Software Composition Analysis, он же композиционный/компоненты анализ программ/кода/софта/ПО.

SCA — это процесс, где:
1. на вход подаётся код в произвольной форме (репозиторий, директория с файлами, Docker-образ, бинарник и т.п.);
2. этот код сканируется на наличие и зависимость от всех возможных open source компонентов через поиск файлов манифестов (типа package.json, poetry.lock, Dockerfile и т.п.) и через умное сравнение файлов с компонентными базами с примесью всякой магии типа нечётких хэшей;
3. по списку этих компонентов проверяются лицензии и их совместимость с заявленной лицензией самого продукта и между собой;
4. и вишенкой на торте по списку этих компонентов ищутся известные уязвимости по открытым и полуоткрытым базам (например, National Vulnerability Database, Github Advisory и другим).

На вид просто, но по факту внутри множество особенностей и нюансов. Например, на выходе второго шага формируется ещё одна аббревиатура — SBoM, Software Bill of Materials, про его суть, форматы и при чём тут недавний приказ Байдена о кибербезопасности мы расскажем отдельно. Также отдельно расскажем, почему поиск уязвимостей по уже известной компонентной базе (сюрприз-сюрприз) совсем нетривиальная задача.

SCA не так известен среди русскоязычных разработчиков как SAST (статический анализ кода) или DAST (динамический анализ кода), но набирает очки с каждой новой историей найденной уязвимости в распространённой open source библиотеке.

Хорошая новость в том, что множество SCA-like инструментов в той или иной степени присутствуют в экосистемах менеджеров пакетов, IDE, систем контроля версий или в виде отдельных инструментов. К сожалению, не все они удобны, точны или просты в использовании. But we're getting there.

Ну и если короткое описание только разожгло ваше любопытство, посмотрите обзорный доклад про эволюцию подходов SCA с прошедшего Data Fest Online v2: https://www.youtube.com/watch?v=9fydREfnKb4. Красочные слайды и висящая голова на белом фоне в комплекте.

#видоснавыходные #словарькодмайнера
YouTube Алексей Смирнов | Эволюция подходов Software Composition Analysis (SCA) Data Fest Online 2021 Code Mining track https://ods.ai/tracks/code-mining-df2021 Спикер: Алексей Смирнов, Основатель Profiscope.io / CodeScoring Организатор трека CodeMining @ods.ai Опыт применения инструментов из области композиционного анализа программного…
More from @codemining
  1. Jul 3, 2026Пайконы и наблюдения вокруг В конце июля в Москве пройдет PyCon — конференция, которую я п…
  2. May 28, 2026🍏Стартовал коллоквиумом молодых ученых SYRCoSE! Сегодня на площадке этнографического парк…
  3. May 18, 2026Привет! Уже на этой неделе начинается Data Fest 2026 🥰 ура-ура!🤗 Наш список офлайнов: Мо…
  4. Apr 10, 2026"Срок подачи статей и тезисов на международную конференцию ИСП РАН «Иванниковские чтения»…
  5. Apr 6, 2026Иванниковские чтения 2026 CFP В 2026 году в Этномире (Калужская обл., Боровский р-н, д. Пе…
  6. Feb 10, 2026Код-майнинг сложно представить без открытого кода, поэтому мы не забываем поддерживать пол…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →