Распечатанный документ SBOM в формате CycloneDX на плотной бумаге, с деревом зависимостей Spring Boot и выделенным синим компонентом, рядом бронзовое пресс-папье и перьевая ручка при мягком дневном...


Четверг, 14:30. Пентест веб-приложения для заказчика из healthcare-сектора США. В зависимостях Spring Boot - транзитивная библиотека четвёртого уровня вложенности с критической уязвимостью, публичный PoC к которой лежит в открытом доступе полгода. Вендор о ней не знал: дерево зависимостей отслеживалось через таблицу Excel, и transitive deps проваливались сквозь учёт как вода сквозь решето. На ручной разбор ушло три часа - при наличии machine-readable SBOM одна команда grype sbom.json дала бы ответ за секунды. Этот кейс воспроизводится из проекта в проект. По данным CISA, отсутствие прозрачности в компонентах ПО - системная проблема безопасности цепочки поставок. Именно поэтому SBOM и Secure by Design стали центральными требованиями к вендорам, поставляющим софт в регулируемые отрасли.

От EO 14028 к 2025: эволюция требований CISA к вендорам​

Executive Order 14028 ("Improving the Nation's Cybersecurity") в 2021 году запустил процесс: Министерство торговли получило поручение разработать руководство по supply chain security, включая минимальные элементы software bill of materials. В том же году NTIA опубликовала документ "The Minimum Elements For a Software Bill of Materials" с семью базовыми полями - Supplier Name, Component Name, Version, Unique Identifier, Dependency Relationship, Author of SBOM Data, Timestamp.

С 2022 года директива OMB обязала федеральные агентства требовать SBOM от поставщиков ПО в соответствии с руководством CISA. Параллельно в предложенном правиле FAR (Cyber Threat and Incident Reporting and Information Sharing Rule) SBOM упоминается как обязательный элемент для государственных контрактов. Финансовый контекст тут прямой: вендор без SBOM рискует потерять федеральные контракты, а для компаний, ориентированных на госсектор, это десятки процентов выручки.

К 2025 году, по отраслевым оценкам, порядка 60% организаций критической инфраструктуры требуют software bill of materials от поставщиков (в 2022 этот показатель не превышал 20%). В ЕС аналогичные обязательства вводит Cyber Resilience Act (CRA), требующий от производителей документировать компоненты ПО (CRA Annex I, Part II § 1). То есть SBOM - уже не американская причуда, а глобальный тренд.

2025 Minimum Elements: четыре новых обязательных поля​

22 августа 2025 года CISA опубликовала проект "2025 Minimum Elements for a Software Bill of Materials", развивающий стандарт NTIA 2021 года. Четыре новых элемента:

ЭлементНазначение для SOC/пентеста
Component HashВерификация целостности - хеш позволяет обнаружить подмену бинаря (T1554, Persistence)
LicenseАвтоматическое определение copyleft-рисков и юридических обязательств
Tool NameОценка полноты SBOM - инструмент генерации влияет на качество результата
Generation ContextВоспроизводимость - контекст сборки для корреляции SBOM с конкретным билдом

Документ разделяет роли SBOM Author и Software Producer. В крупных проектах SBOM генерирует CI/CD-пайплайн или подрядчик, но ответственность за полноту и достоверность лежит на вендоре. Для Blue Team это означает: при incident response претензии идут к Software Producer, а не к CI-системе. Кто подписался - тот и отвечает.

Параллельно CISA выпустила интерактивный инструмент "Guide for Software Acquisition" - он переводит стандарты безопасной разработки CISA в конкретный язык закупочных контрактов. Минимальная формулировка для RFP, согласно этому руководству:
"The acquirer requires that a machine-readable SBOM be provided for each software product, in one of the following standard formats: SPDX or CycloneDX. The SBOM must contain, at a minimum: Supplier Name, Component Name, Version String, Component Hash, Unique Identifier, and Dependency Relationship."
Это уже не абстрактное "vendor must follow industry best practices" - это верифицируемые поля и форматы. Можно взять SBOM и за минуту проверить, все ли поля на месте.

3 сентября 2025 года CISA и NSA совместно с партнёрами опубликовали "A Shared Vision of Software Bill of Materials (SBOM) for Cybersecurity", подписанный 21 агентством из 15 стран. SBOM перестаёт быть исключительно американским требованием - теперь это международная история.

Secure by Design и аудит SBOM: VEX, SCA и проверка стороннего ПО​

Secure by Design - набор принципов CISA, к которым вендоры присоединяются через Secure by Design pledge. SBOM - одно из обязательств: вендор обеспечивает прозрачность компонентов ПО на всём жизненном цикле продукта.

На практике secure by design принципы требуют:
  1. SBOM при каждом релизе - привязка к конкретной версии, билду и контексту сборки
  2. Стандартный формат - CycloneDX (OWASP, нативная поддержка VEX) или SPDX (Linux Foundation, ISO/IEC 5962)
  3. Полное покрытие - open-source, коммерческие библиотеки, SDK, firmware, контейнеры, криптографические стеки
  4. Post-release мониторинг - сканирование SBOM после деплоя, а не только при сборке
Это соотносится с функцией ID.AM-01 (Asset Management) в NIST CSF v2.0 - инвентаризация активов, только на уровне программных компонентов. По сути, тот же учёт имущества, но вместо серверов - библиотеки.

VEX: фильтр шума для уязвимостей цепочки поставок​

Vulnerability Exploitability eXchange (VEX) отвечает на вопрос: "Найденная CVE в компоненте - она реально эксплуатируема в нашем продукте?" Без VEX SBOM генерирует шум: сканер находит 200 CVE в зависимостях, 180 из которых не применимы - уязвимый code path не задействован, конфигурация не затронута. Разгребать 200 алертов, из которых 90% мусор - сомнительное удовольствие.

VEX-статусЗначениеЧто проверять при пентесте
affectedУязвимость эксплуатируемаПриоритет - проверка эксплуатируемости на стенде
not_affectedУязвимый код не задействованПроверить rationale - действительно ли code path недоступен
fixedИсправлено в этой версииВерифицировать, что патч применён корректно
under_investigationАнализ не завершёнКрасный флаг - вендор не может оценить риск

VEX-запись not_affected без обоснования - слабое доказательство. При аудите SBOM я всегда проверяю VEX-обоснования: если вендор заявил not_affected, но путь до уязвимой функции реально достижим - это находка для отчёта. Заявлено «не затронуто» - реально затронуто. Такое встречается чаще, чем хотелось бы.

Software Composition Analysis (SCA) дополняет связку: SCA-инструменты автоматически сканируют SBOM и выявляют компоненты с известными уязвимостями. SBOM - статичный артефакт (список), SCA - активный процесс (сканирование). Комбинация SBOM + SCA + VEX - то, что OWASP DevSecOps Maturity Model (DSOMM) описывает как зрелый подход к third-party risk management.

Пентест поставляемого софта: как SBOM меняет скоупинг атаки​

Для пентестера SBOM - карта атаки, не комплаенс-документ. Machine-readable список всех компонентов с версиями и хешами позволяет перейти от дней разведки к минутам.

Бизнес-логика атаки на supply chain: злоумышленник компрометирует одну зависимость - получает доступ ко всем продуктам, которые её используют. Радиус поражения огромен: одна уязвимая библиотека может сидеть в сотнях продуктов. MITRE ATT&CK выделяет Supply Chain Compromise (T1195, Initial Access) как самостоятельное семейство техник - и не зря.

Маппинг SBOM на MITRE ATT&CK​

Техника ATT&CKЧто проверять через SBOM
Compromise Software Dependencies (T1195.001)Diff SBOM между релизами - неожиданные новые зависимости
Compromise Software Supply Chain (T1195.002)Верификация хешей компонентов против эталонов
Compromise Host Software Binary (T1554)Сопоставление развёрнутых бинарей с SBOM-хешами
Code Signing Certificates (T1587.002)SBOM фиксирует ожидаемых suppliers - подпись от неизвестного поставщика = алерт
Vulnerabilities (T1588.006)Сканирование SBOM на CVE - какие уязвимости доступны атакующему

При пентесте стороннего ПО эта таблица работает как чеклист: для каждой техники проверяешь, насколько вендор контролирует supply chain своих зависимостей.

Генерация и проверка SBOM в CI/CD - пошагово​

📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

Шаг 3 - continuous monitoring через Dependency-Track. Платформа принимает SBOM через API, индексирует компоненты и мониторит новые CVE. Когда в NVD появляется уязвимость, затрагивающая компонент из SBOM - алерт приходит автоматически. Это закрывает требование CISA о post-release monitoring.

Типичная ошибка (и я видел её не раз): SBOM сохраняется как CI-артефакт с экспайром через 30 дней, а продукт поддерживается годами. SBOM нужно хранить весь период поддержки продукта - в артефакт-репозитории рядом с билдом. Иначе через полгода у вас нет ни SBOM, ни понимания, из чего собран продакшн.

Detection: как SOC отслеживает уязвимости цепочки поставок через SBOM​

Для Blue Team SBOM - инструмент проактивного мониторинга. Три сценария, которые стоит отработать:

Сценарий 1: zero-day в транзитивной зависимости. Публикуется критическая CVE в широко используемой библиотеке. SOC-аналитик запрашивает Dependency-Track: "Какие продукты содержат эту библиотеку?" Ответ - за секунды: список затронутых продуктов с версиями. Без SBOM процесс занимает дни: команды разработки проверяют проекты вручную, часть не знает о transitive dependencies четвёртого-пятого уровня. Вспомните Log4Shell - кто тогда за день нашёл все свои инстансы log4j? Вот именно.

Сценарий 2: обнаружение supply chain compromise. Между релизами v2.3 и v2.4 в SBOM появляется компонент, который не проходил security review. Diff двух SBOM-файлов выявляет аномалию:
Bash:
diff <(jq '.components[].name' sbom-v2.3.json | sort) \
     <(jq '.components[].name' sbom-v2.4.json | sort)
Новый компонент - потенциальный IOC по технике Compromise Software Dependencies and Development Tools (T1195.001, Initial Access). Реакция: проверить, кто добавил зависимость, откуда получена, совпадает ли хеш с официальным репозиторием.

Сценарий 3: корреляция с threat intelligence. Threat intel фид сообщает о компрометации npm-пакета. SOC коррелирует название и версию пакета с инвентарём SBOM всех развёрнутых продуктов. Пакет найден - немедленная эскалация, блокировка обновлений до верификации хешей.

NIST определяет три уровня зрелости SBOM-процесса: базовый (минимальные элементы NTIA), рекомендуемый (хеши, лицензии, контекст генерации - то, что добавил документ CISA 2025) и продвинутый (интеграция с VEX, автоматический мониторинг, двусторонний обмен данными между вендором и заказчиком). Продвинутый уровень - то, к чему стремятся организации с выстроенным SOC: когда VEX от вендора автоматически обновляет статус CVE в Dependency-Track и триггерит playbook в SOAR.

Большинство вендоров, с которыми я сталкивался при аудитах, воспринимают SBOM как PDF для compliance-отдела заказчика. Сгенерировали раз на этапе пресейла, приложили к документации, забыли. Но SBOM, который не обновляется при каждом релизе и не сканируется после деплоя - бесполезный артефакт. Он даёт ложное ощущение прозрачности, не обеспечивая реальной безопасности цепочки поставок ПО. Через полгода состав зависимостей уходит от зафиксированного SBOM настолько, что документ описывает другой продукт.

Мой прогноз: через полтора года SBOM станет обязательным входным артефактом для пентеста стороннего ПО, как сейчас обязательна документация по API. Пентестер без SBOM тратит время на то, что вендор обязан раскрыть. Пентестер с SBOM фокусируется на проверке того, что вендор заявил - и на поиске того, чего в SBOM нет, но быть должно. Именно разрыв между «заявлено» и «реально» - самая продуктивная зона для обнаружения проблем.

Проверьте свой pipeline: syft + grype прикручиваются за час, Dependency-Track поднимается в Docker за вечер. Если через неделю после этого вы не найдёте хотя бы одну забытую библиотеку с известной CVE - я удивлюсь. Если в вашем SOC обсуждается интеграция SBOM-мониторинга в detection-процессы и корреляция с CVE-фидами - на codeby.net ведётся тред с разбором подобных кейсов и обменом наработками по автоматизации.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab