Skip to main content

Generate VEX (Vulnerability Exploitability Exchange) CycloneDX documents

Project description

Vexy - Generate VEX in CycloneDX

shield_gh-workflow-test shield_rtfd shield_pypi-version shield_docker-version shield_license shield_twitter-follow


This project provides a runnable Python-based application for generating VEX (Vulnerability Exploitability Exchange) in CycloneDX format.

This tool is intended to be supplied a CycloneDX SBOM file and will produce a separate VEX which contains known vulnerabilities from a selection of publicly available data sources.

CycloneDX is a lightweight BOM specification that is easily created, human-readable, and simple to parse.

Read the full documentation for more details.

Why?

A SBOM (Software Bill of Materials) is great for cataloging / knowing what components compose a software product.

The same SBOM (in CycloneDX format) can also note known vulnerabilities. What is known is for a given point in time - and will change as new vulnerabilities are discovered or disclosed.

CycloneDX allows for separate BOM documents to reference each other through their BOM Link capability.

Wouldn't it be great if you could periodically generate a VEX based from your SBOM to keep things up to date, without having to generate a fresh SBOM entirely?

That is where vexy comes in.

Installation

Install this from PyPi.org using your preferred Python package manager.

Example using pip:

pip install vexy

Example using poetry:

poetry add vexy

Usage

Basic usage

$ vexy --help

usage: vexy [-h] -i FILE_PATH [--format {xml,json}] [--schema-version {1.4}] [-o FILE_PATH] [--force] [-X]

Vexy VEX Generator

options:
  -h, --help            show this help message and exit
  -X                    Enable debug output

Input CycloneDX BOM:
  Where Vexy shall obtain it's input

  -i FILE_PATH, --in-file FILE_PATH
                        CycloneDX BOM to read input from. Use "-" to read from STDIN.

VEX Output Configuration:
  Choose the output format and schema version

  --format {xml,json}   The output format for your SBOM (default: xml)
  --schema-version {1.4}
                        The CycloneDX schema version for your VEX (default: 1.4)
  -o FILE_PATH, --o FILE_PATH, --output FILE_PATH
                        Output file path for your SBOM (set to '-' to output to STDOUT)
  --force               If outputting to a file and the stated file already exists, it will be overwritten.

Advanced usage and details

See the full documentation for advanced usage and details on input formats, switches and options.

Python Support

We endeavour to support all functionality for all current actively supported Python versions. However, some features may not be possible/present in older Python versions due to their lack of support.

Contributing

Feel free to open issues, bugreports or pull requests.
See the CONTRIBUTING file for details.

Copyright & License

Vexy is Copyright (c) Paul Horton. All Rights Reserved.
Permission to modify and redistribute is granted under the terms of the Apache 2.0 license.
See the LICENSE file for the full license.

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

vexy-0.3.0.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

vexy-0.3.0-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file vexy-0.3.0.tar.gz.

File metadata

  • Download URL: vexy-0.3.0.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.11 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.7.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13

File hashes

Hashes for vexy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e243794b20d3035cdad2b260c1137b8e2c757352f111be1a02feb071f3881c23
MD5 f3c770df35aadd110b9f21104120d325
BLAKE2b-256 71f71bf798b76709fb85747fcc3c5729641eded03a3a634026c2ad6e9d67b827

See more details on using hashes here.

Provenance

File details

Details for the file vexy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: vexy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.11 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.7.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13

File hashes

Hashes for vexy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee0dcaebab1eb517f2b85bae3b5d21aeb7ca4665fe3b0db935a1725282f52562
MD5 7b102017b2cc1a82d938ea6f36d0b4bb
BLAKE2b-256 5fc853cd4239b2553561453f00e5d02b34579c3b0e0b21b0d7848238180daac6

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page