bomber is an application that scans SBOMs for security vulnerabilities. So you’ve asked a vendor for an Software Bill of Materials (SBOM) for one of their closed source products, and they provided one to you in a JSON file… now what?

The first thing you’re going to want to do is see if any of the components listed inside the SBOM have security vulnerabilities, and what kind of licenses these components have.

This will help you identify what kind of risk you will be taking on by using the product.

Finding security vulnerabilities and license information for components identified in a SBOM is exactly what bomber is meant to do.

bomber can read any JSON or XML based CycloneDX format, or a JSON SPDX or Syft formatted SBOM, and tell you pretty quickly if there are any vulnerabilities.

Table Of Contents

  • Open vs. Closed Source
  • Purpose
  • Supported SBOM formats
  • Providers
    • Provider Support
    • Provider Documentation
  • Installation
    • Mac
    • Linux
  • Using bomber
    • Single SBOM scan
    • Entire folder scan
  • Output Formats
    • HTML Output
    • JSON Output
    • Markdown Output
  • Ignoring Vulnerabilities
  • Filtering Output
  • Data Enrichment
    • Exploit Prediction Scoring System (EPSS)
  • Advanced stuff
    • Scanning SBOMs from STDIN
    • Environment Variables
  • Experimental Features
    • Highest Severity Return Codes (Experimental)
    • OpenAI AI Enriched HTML Report Output
  • Messing around
  • Notes
  • Contributing
  • Software Bill of Materials
  • Sponsors
  • Credits

Open vs. Closed Source

Software can either be open or closed source. You can look at third party components you’ll find in Github, or any public source repository as open source.

Technically, the software you create internally at your own company is open source as well – it’s not public, but your internal teams can see it.

Closed source software can also be internal, but usually this is software that you purchase from external vendors.

Companies can use SCA tools provided by vendors such as Github, Sonatype, Snyk, etc. to scan any kind of open source and provide vulnerability data – and even generate SBOMs in some cases. What they can’t do (yet…) is scan closed source software that you don’t have visibility into.

This is where SBOMs and bomber come into play. SBOMs provide the composition of software that you can’t access, and bomber determines if anything in the SBOM has vulnerabilities.

Purpose

We created bomber to scan the closed source SBOMs that are provided when you receive them from vendors. It can scan open source SBOMs too, and technically you could use bomber as an open source SCA tool if you wanted to.

Supported SBOM formats

There are quite a few SBOM formats available today. bomber supports the following:

  • SPDX
  • CycloneDX
  • Syft

Providers

bomber supports multiple sources for vulnerability information. We call these providers. Currently, bomber uses OSV as the default provider, but you can also use the Github Advisory Database, the Sonatype OSS Index, or Snyk.

At this time, please note that OSV is free and does not require any credentials to use, Sonatype OSS Index is free but requires you to register and obtain a token, and Snyk support requires a Snyk license.

In addition to data bomber collects from Providers, it also enriches vulnerability data with extra information such as exploitation probabilities.

Provider Support

Please note that each provider supports different ecosystems, so if you’re not seeing any vulnerabilities in one, try another. An ecosystem is simply the package manager, or type of package.

Examples include rpm, npm, gems, etc. It is important to understand that each provider may report different vulnerabilities. If in doubt, look at a few of them.

If bomber does not find any vulnerabilities, it doesn’t mean that there aren’t any. All it means is that the provider being used didn’t detect any, or it doesn’t support the ecosystem.

Some providers have vulnerabilities that come back with no Severity information. In this case, the Severity will be listed as “UNDEFINED”

Provider Documentation

Provider documentation for bomber can be found:

Snyk

OSV

GitHub Advisory Database

OSSINDEX

For more information click here.

LEAVE A REPLY

Please enter your comment!
Please enter your name here