
Сканирует Software Bill of Materials (SBOM) на наличие уязвимостей безопасности.

bomber — это приложение, которое сканирует SBOM на наличие уязвимостей безопасности.
Итак, вы запросили у поставщика Спецификацию программного обеспечения (SBOM) для одного из их продуктов с закрытым исходным кодом, и они предоставили её в JSON-файле... что дальше?
Первое, что вы захотите сделать, — это проверить, нет ли у какого-либо из компонентов, перечисленных в SBOM, уязвимостей безопасности и какие лицензии у этих компонентов. Это поможет вам понять, какой риск вы берёте на себя, используя продукт.
Поиск уязвимостей безопасности и информации о лицензиях для компонентов, указанных в SBOM, — это именно то, для чего предназначен bomber. bomber может читать любой формат CycloneDX на основе JSON или XML, а также SBOM в формате JSON SPDX или Syft и быстро сообщить вам о наличии уязвимостей.
Программное обеспечение может быть как с открытым, так и с закрытым исходным кодом. Вы можете рассматривать сторонние компоненты, которые найдёте на Github или в любом публичном репозитории, как открытый исходный код. Технически, программное обеспечение, которое вы создаёте внутри своей компании, тоже является открытым — оно не публичное, но ваши внутренние команды могут его видеть. Закрытый исходный код также может быть внутренним, но обычно это программное обеспечение, которое вы покупаете у внешних поставщиков.
Компании могут использовать инструменты SCA от таких поставщиков, как Github, Sonatype, Snyk и т.д., для сканирования любого открытого исходного кода и предоставления данных об уязвимостях — и даже для генерации SBOM в некоторых случаях. Однако они не могут (пока...) сканировать закрытое программное обеспечение, к которому у вас нет доступа. Здесь на помощь приходят SBOM и bomber. SBOM предоставляют состав программного обеспечения, к которому вы не имеете доступа, а bomber определяет, есть ли у какого-либо компонента в SBOM уязвимости.
Мы создали bomber для сканирования закрытых SBOM, которые вы получаете от поставщиков. Он также может сканировать открытые SBOM, и технически вы можете использовать bomber как инструмент SCA с открытым исходным кодом, если захотите.
На сегодняшний день существует множество форматов SBOM. bomber поддерживает следующие:

bomber поддерживает несколько источников информации об уязвимостях. Мы называем их провайдерами. В настоящее время bomber использует OSV в качестве провайдера по умолчанию, но вы также можете использовать Базу данных уязвимостей Github, Sonatype OSS Index или Snyk.
Обратите внимание, что на данный момент OSV бесплатен и не требует учётных данных, Sonatype OSS Index бесплатен, но требует регистрации и получения токена, а поддержка Snyk требует лицензии Snyk.
В дополнение к данным, которые bomber собирает от провайдеров, он также обогащает данные об уязвимостях дополнительной информацией, такой как вероятности эксплуатации.
Имейте в виду, что каждый провайдер поддерживает разные экосистемы, поэтому, если вы не видите уязвимостей у одного, попробуйте другой. Экосистема — это просто менеджер пакетов или тип пакета. Примеры: rpm, npm, gems и т.д. Важно понимать, что разные провайдеры могут сообщать о разных уязвимостях. Если сомневаетесь, посмотрите на несколько из них.
Если bomber не находит уязвимостей, это не значит, что их нет. Это означает только то, что используемый провайдер не обнаружил их или не поддерживает данную экосистему. Некоторые провайдеры возвращают уязвимости без информации о серьёзности. В этом случае уровень серьёзности будет указан как "UNDEFINED".
Документация провайдеров для bomber доступна:
Вы можете использовать Homebrew для установки bomber с помощью следующей команды:
brew tap devops-kung-fu/homebrew-tap
brew install devops-kung-fu/homebrew-tap/bomber
Если у вас нет Homebrew, вы всё равно можете скачать последний релиз (например, bomber_0.4.1_darwin_all.tar.gz), извлечь файлы из архива и использовать бинарный файл bomber.
При желании вы можете переместить бинарный файл bomber в каталог /usr/local/bin или в любое место в вашем PATH.
Чтобы установить bomber, скачайте последний релиз для вашей платформы и установите локально. Например, установка bomber на Ubuntu:
dpkg -i bomber_0.5.0_linux_arm64.deb