
CLI para generar, analizar, fusionar, comparar (diffing), validar, firmar y convertir SBOMs de CycloneDX en formatos JSON, XML, Protobuf, CSV y SPDX.
______ __ ____ _ __ ________ ____
/ ____/_ _______/ /___ ____ ___ / __ \ |/ / / ____/ / / _/
/ / / / / / ___/ / __ \/ __ \/ _ \/ / / / / / / / / / /
/ /___/ /_/ / /__/ / /_/ / / / / __/ /_/ / | / /___/ /____/ /
\____/\__, /\___/_/\____/_/ /_/\___/_____/_/|_| \____/_____/___/
/____/
Usage:
cyclonedx [command] [options]
Options:
--version Show version information
-?, -h, --help Show help and usage information
Commands:
add Add information to a BOM (currently supports files)
analyze Analyze a BOM file
convert Convert between different BOM formats
diff <from-file> <to-file> Generate a BOM diff
keygen Generates an RSA public/private key pair for BOM signing
merge Merge two or more BOMs
sign Sign a BOM or file
validate Validate a BOM
verify Verify signatures in a BOM
La herramienta CLI de CycloneDX actualmente admite análisis de BOM, modificación, comparación (diff), fusión, conversión de formatos, firma y verificación.
La conversión es compatible entre CycloneDX XML, JSON, Protobuf, CSV y SPDX JSON v2.3.
Los binarios se pueden descargar desde la página de versiones.
Nota: La herramienta CLI de CycloneDX está diseñada para casos de uso de automatización. Cualquier comando que tenga la opción --input-file también admite la entrada desde stdin. Del mismo modo, cualquier comando que tenga la opción --output-file admite la salida a stdout. Sin embargo, deberá especificar los formatos de entrada/salida.
Por ejemplo:
cat bom.json | cyclonedx-cli convert --input-format json --output-format xml > bom.xml
files
Add files to a BOM
Usage:
cyclonedx add files [options]
Options:
--input-file <input-file> Input BOM filename.
--no-input Use this option to indicate that there is no input BOM.
--output-file <output-file> Output BOM filename, will write to stdout if no value provided.
--input-format <autodetect|json|protobuf|xml> Specify input file format.
--output-format <autodetect|json|protobuf|xml> Specify output file format.
--base-path <base-path> Base path for directory to process (defaults to current working directory if omitted).
--include <include> Apache Ant style path and file patterns to specify what to include (defaults to all files, separate patterns with a space).
--exclude <exclude> Apache Ant style path and file patterns to specify what to exclude (defaults to none, separate patterns with a space).
Generando un BOM de código fuente, excluyendo el directorio del repositorio Git:
cyclonedx-cli add files --no-input --output-format json --exclude /.git/**
Agregando archivos de salida de compilación, desde el directorio bin, a un BOM existente:
cyclonedx-cli add files --input-file bom.json --output-format json --base-path bin
analyze
Analyze a BOM file
Usage:
cyclonedx analyze [options]
Options:
--input-file <input-file> Input BOM filename, will read from stdin if no value provided.
--input-format <autodetect|json|protobuf|xml> Specify input file format.
--output-format <json|text> Specify output format (defaults to text).
--multiple-component-versions Report components that have multiple versions in use.
Informando sobre componentes que se incluyen varias veces con distintas versiones:
cyclonedx-cli analyze --input-file sbom.xml --multiple-component-versions
convert
Convert between different BOM formats
Usage:
cyclonedx convert [options]
Options:
--input-file <input-file> Input BOM filename, will read from stdin if no value provided.
--output-file <output-file> Output BOM filename, will write to stdout if no value provided.
--input-format <autodetect|csv|json|protobuf|spdxjson|xml> Specify input file format.
--output-format <autodetect|csv|json|protobuf|spdxjson|xml> Specify output file format.
--output-version <v1_0|v1_1|v1_2|v1_3|v1_4|v1_5|v1_6|v1_7> Specify output BOM specification version. (ignored for CSV and SPDX formats)
Convirtiendo de formato XML a JSON:
cyclonedx-cli convert --input-file sbom.xml --output-file sbom.json
Convirtiendo de formato XML a JSON y canalizando la salida a herramientas adicionales:
cyclonedx-cli convert --input-file sbom.xml --output-format json | grep "somthing"
El formato CSV es una representación limitada de la lista de componentes de un BOM.
La intención es proporcionar una forma sencilla de que los usuarios produzcan y consuman BOMs para casos de uso simples. Incluyendo casos de uso simples de migración de datos.
Los únicos campos obligatorios son los campos de componente name y version. Los demás pueden dejarse en blanco u omitirse las columnas.
La conversión entre los formatos SPDX y CycloneDX puede provocar la pérdida de cierta información. La funcionalidad de conversión la proporciona la librería CycloneDX.Spdx.Interop, que forma parte del proyecto de librería CycloneDX .NET.
Para más detalles sobre qué información se pierde, consulte la página del proyecto CycloneDX .NET Library.
diff
Generate a BOM diff
Usage:
cyclonedx diff <from-file> <to-file> [options]
Arguments:
<from-file> From BOM filename.
<to-file> To BOM filename.
Options:
--from-format <autodetect|json|protobuf|xml> Specify from file format.
--to-format <autodetect|json|protobuf|xml> Specify to file format.
--output-format <json|text> Specify output format (defaults to text).
--component-versions Report component versions that have been added, removed or modified.
Informando sobre componentes con cambios de versión:
cyclonedx-cli diff sbom-from.xml sbom-to.xml --component-versions
keygen
Generates an RSA public/private key pair for BOM signing
Usage:
cyclonedx keygen [options]
Options:
--private-key-file <private-key-file> Filename for generated private key file (defaults to "private.key")
--public-key-file <public-key-file> Filename for generated public key file (defaults to "public.key")
merge
Merge two or more BOMs
Usage:
cyclonedx merge [options]