A tool for generating and managing Software Bill of Materials (SBOM).
Project description
Mobster
The Mobster project is a Python-based tool and ecosystem to work with SBOM (Software Bill of Materials) documents. Its goal is to provide unified interface for generating, manipulating and consuming SBOM documents in various formats.
The tools is designed to cover a whole lifecycle of SBOM documents. The major stages are:
- Generation: Generate SBOMs document from various sources (Syft, Hermeto, etc.)
- Augmentation: Augment SBOM documents with additional information that are not present in the phase of generation. This phase is usually done in the release phase where we know more information about the software.
- Validation: Validate a quality of the SBOM document in different stages of the lifecycle. The validation is done by the Product Security team guidelines.
- Distribution: Distribute the SBOM document to various set of locations (e.g. Trusted Profile Analyzer, container registry, etc.)
Getting started
To use the Mobster tool, you need to install it first. There are multiple ways to isnstall the tool:
Using pip
pip install mobster
mobster --help
Using container image
podman pull quay.io/konflux-ci/mobster:latest
podman run -it quay.io/konflux-ci/mobster:latest mobster --help
Additional dependencies
Some features of Mobster require additional dependencies to be installed outside of Python ecosystem. To use those features, you need to install the following tools:
- oras: Used for pushing and pulling SBOM documents to/from OCI registries.
- cosign: Used for signing and verifying SBOM documents in OCI registries.
- syft: Used for generating SBOM documents from container images and filesystems.
Development environment
Follow an instruction in the development-environment.md file to set up your development environment.
Contributing
We welcome contributions to the Mobster project! If you would like to contribute, please follow these steps:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes and commit them with a clear message (following the
conventional commit format)
(e.g.
feat: add new featureorfix: fix a bug) - Open a pull request to the main repository
- Make sure the CI checks pass and the code is properly formatted
- Wait for the review and address any comments or suggestions
- Once your changes are approved, they will be merged into the main branch
- Congratulations! You have successfully contributed to the Mobster project
Release process
The release process is automated using GitHub Actions and Konflux. The process is described in detail in the release.md file.
Documentation
The documentation for the Mobster project is available at the Mobster Gitbub pages.
License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mobster-2.0.0.tar.gz.
File metadata
- Download URL: mobster-2.0.0.tar.gz
- Upload date:
- Size: 105.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00e0d47df82ff319cf0efd28308c6425685e1fcf93a4cb4d08af70296ec1cbbc
|
|
| MD5 |
f1232245fd84001371ec4cc7e97d2d78
|
|
| BLAKE2b-256 |
2e1d83e6e71490d3cf58ac2e12152ac08501d0bfb60c87e8b99167d1316f1ba8
|
Provenance
The following attestation bundles were made for mobster-2.0.0.tar.gz:
Publisher:
release.yaml on konflux-ci/mobster
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mobster-2.0.0.tar.gz -
Subject digest:
00e0d47df82ff319cf0efd28308c6425685e1fcf93a4cb4d08af70296ec1cbbc - Sigstore transparency entry: 1350742820
- Sigstore integration time:
-
Permalink:
konflux-ci/mobster@eb295b9b9fca62bfffe2af0489b95114b2c1d155 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/konflux-ci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@eb295b9b9fca62bfffe2af0489b95114b2c1d155 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mobster-2.0.0-py3-none-any.whl.
File metadata
- Download URL: mobster-2.0.0-py3-none-any.whl
- Upload date:
- Size: 138.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a893d86c70f2f5287f064f50b72951722e8d58c2c53c4acd613573a54b72c354
|
|
| MD5 |
7e4044f4aa3ad583e5f31350a0a531d2
|
|
| BLAKE2b-256 |
cc6c41d8fed5bcb866f35b665e66e2b078f1da9945883367a9d6632919c15a3c
|
Provenance
The following attestation bundles were made for mobster-2.0.0-py3-none-any.whl:
Publisher:
release.yaml on konflux-ci/mobster
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mobster-2.0.0-py3-none-any.whl -
Subject digest:
a893d86c70f2f5287f064f50b72951722e8d58c2c53c4acd613573a54b72c354 - Sigstore transparency entry: 1350742888
- Sigstore integration time:
-
Permalink:
konflux-ci/mobster@eb295b9b9fca62bfffe2af0489b95114b2c1d155 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/konflux-ci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@eb295b9b9fca62bfffe2af0489b95114b2c1d155 -
Trigger Event:
push
-
Statement type: