BOMSkope is a Software Bill of Materials (SBOM) manager that streamlines component tracking from vendors. With BOMSkope, you can easily discover and track potential vulnerabilities in your vendors' software components, giving you greater visibility into your overall security posture.
- Ensure you have a supported SQLAlchemy database installed: Features - SQLAlchemy.
- Download your appropriate CycloneDX binary into the
app/
directory and mark it as executable: https://github.com/CycloneDX/cyclonedx-cli/releases/.- BOMSkope has been tested and confirmed to work with version 0.25.0.
- If you are utilizing MacOS, run the following command to download the libicu library:
brew install icu4c
- Install Docker Engine and the Docker Compose plugin.
- In the root directory, copy the
.env.example
file into.env
. Define the database secrets. - In the
files/
directory, add a certificate for BOMSkope. The certificate files must be namednginx-cert.crt
andnginx-cert.key
.- For instructions on this, you can refer to the following DigitalOcean guide.
If you are running BOMSkope on an Arm-based device, please follow the steps below:
- Navigate to the
Dockerfile
. - On line 29, update the curl command to:
RUN curl -k -L -o /app/cyclonedx-linux-x64 https://github.com/CycloneDX/cyclonedx-cli/releases/download/v0.25.1/cyclonedx-linux-arm64
.
- In the
app/
directory, copy the.env.example
file into.env
. - Set a password in
ADMIN_PASS
. This will be the password for the default user (admin@local.com) created on initialization. - Update the
DATABASE_URL
value with your database URI.- If using the default databse values, your URI would be
postgresql://your_user:your_password@postgres:5432/your_db_name
. The values will come from the.env
file in the root directory.
- If using the default databse values, your URI would be
- Generate a key for
SECRET_KEY
andJWT_SECRET_KEY
; a tool such as Djecrety can be utilized to generate these. These secrets will be utilized to security manage sessions and user authentication.
BOMSkope offers many integrations to enhance the use of the platform. Their values/secrets can be configured either through the web platform or through the local .env
file.
OpenID Connect (OIDC)
OIDC_CLIENT_ID
: The unique identifier for your OpenID Connect client.
OIDC_CLIENT_SECRET
: The secret key associated with your OpenID Connect client.
OIDC_DOMAIN
: The domain name of your OpenID Connect tenant.
NIST NVD
While a NIST NVD API key is not required, it is recommended to request an API key from NIST for this integration. Without it, requests from the platform will be greatly rate limited.
NIST_NVD_API_KEY
: Your NIST NVD API key.
Bitsight VRM (formerly ThirdPartyTrust)
SBOM_REQUIREMENT_NAME
: The requirement name in Bitsight VRM that will be utilized to collect SBOM files from vendors.
BITSIGHT_VRM_API_KEY
: Your Bitsight VRM API key.
In the root directory:
cd app/
make run
In the root directory:
docker-compose build web
docker-compose up -d
Once up, you will be able to log in with the user admin@local.com
by going to https://127.0.0.1/login.
For additional information, please refer to our documentation.
This project is licensed under the BSD 3-Clause license.