Surfactant can be used to gather information from a set of files to generate an SBOM, along with manipulating SBOMs and analyzing the information in them.

It pulls information from recognized file types (such as PE, ELF, or MSI files) contained within a directory structure corresponding to an extracted software package.

By default, the information is “surface-level” metadata contained in the files that does not require running the files or decompilation.

Installation

For Users:

  1. Create a virtual environment with python >= 3.8 [Optional, but recommended]
python -m venv cytrics_venv
source cytrics_venv/bin/activate

2. Install Surfactant with pip

pip install surfactant

For Developers:

  1. Create a virtual environment with python >= 3.8 [Optional, but recommended]
python -m venv cytrics_venv
source cytrics_venv/bin/activate

2. Clone sbom-surfactant

git clone git@github.com:LLNL/Surfactant.git

3. Create an editable surfactant install (changes to code will take effect immediately):

pip install -e .

To install optional dependencies required for running pytest and pre-commit:

pip install -e ".[test,dev]"

For more information click here.

LEAVE A REPLY

Please enter your comment!
Please enter your name here