Convert APT information from Ubuntu into SBOM
Project description
Welcome to apt2sbom
This package contains a library and a CLI tool to convert a Ubuntu software package inventory to a software bill of materials. You are in the wrong place if you are not running Ubuntu.
The package is under active development. Don't be surprised if something doesn't work quite right. please see CONTRIBUTING.md for details.
Building
Building is easy:
- Bop the version on setup.cfg
- python3 -m build -w
- cd dist
- pip3 install that file
Do this, of course, on a Ubuntu system.
Usage
To use the CLI tool:
% apt2sbom (--json|--yaml|--cyclonedx [--pip])
Will produce either JSON or YAML forms of an SPDX file, or the JSON form of a CycloneDX file . There is no default. Pick one.
To include python packages, add --pip.
There is also a werkzeug interface so that an SBOM file can be delivered via HTTP. To use, create a simple wsgi file as follows:
from apt2sbom.wsbom import app as application
application = create_app(\_name\_)
and call that file from your httpd. An apache example follows:
WSGIScriptAlias /.well-known/sbom /usr/lib/cgi-bin/sbom.wsgi
WSGIPassAuthorization On
There is a configuration file: /etc/sbom.conf
It is in the form of a JSON object. It currently has the following parameters and defaults as follows:
{
"do_auth": true, # otherwise don't auth
"passwd_file": "/etc/sbom.users", # where to find the passwds
"include_pip": false, # pip results take a long time
"pregen_file": null # only open and read this file; otherwise gen.
"sbom_type": null # the type of sbom. must be set if using pre_gen file.
}
Note- don't put comments in. (ToDo)
When this is done, a very simple password file is expected by default in /etc/sbom.users:
{
"user" : "password",
"otheruser" : "otherpassword",
...
}
The passwords aren't hashed. This is clearly something that has to be addressed in the future.
The type of SBOM returned depends on the Accepts: header sent.
Project details
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
File details
Details for the file apt2sbom-0.9.6.tar.gz
.
File metadata
- Download URL: apt2sbom-0.9.6.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cea24141bbaab6f330d8695441779209a905e046cf0f3ea19e60586be8bae973 |
|
MD5 | 85cb33d4fb941baee0cb6994598619e0 |
|
BLAKE2b-256 | c2b58009b792be1467faea7287d2e94fddc7ad44c86780d6e7ee9adece62b56a |
File details
Details for the file apt2sbom-0.9.6-py3-none-any.whl
.
File metadata
- Download URL: apt2sbom-0.9.6-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04c9c887251ab0832bd23e9d1c5a042415aa7991308cda73b4c9d072708a266b |
|
MD5 | e7d595ee8824400a820bbb70903013f4 |
|
BLAKE2b-256 | e5886375dcaf9580dcaeb33d7906ccfc43ddad923ef5b0c18cbbf1db16ea50a1 |