Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cyclonedx-cli — CLI zum Erzeugen, Analysieren, Zusammenführen, Abgleichen, Validieren, Signieren und Konvertieren von CycloneDX-SBOMs in den Formaten JSON, XML, Protobuf, CSV und SPDX. | Kitploit
Tools/GitHubGitHub/cyclonedx/cyclonedx-cli
DefensivwerkzeugeKryptographieDevSecOpsDienstprogramme & FrameworksLieferkettensicherheit
GitHubcyclonedx/cyclonedx-cli

cyclonedx-cli

CLI zum Erzeugen, Analysieren, Zusammenführen, Abgleichen, Validieren, Signieren und Konvertieren von CycloneDX-SBOMs in den Formaten JSON, XML, Protobuf, CSV und SPDX.

Repository anzeigen
53381vor 3 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Docker Image License Website Slack Invite Group Discussion Twitter

root@kitploit:~
   ______           __                 ____ _  __    ________    ____
  / ____/_  _______/ /___  ____  ___  / __ \ |/ /   / ____/ /   /  _/
 / /   / / / / ___/ / __ \/ __ \/ _ \/ / / /   /   / /   / /    / /
/ /___/ /_/ / /__/ / /_/ / / / /  __/ /_/ /   |   / /___/ /____/ /
\____/\__, /\___/_/\____/_/ /_/\___/_____/_/|_|   \____/_____/___/
     /____/

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

Das CycloneDX-CLI-Tool unterstützt derzeit Analyse, Modifikation, Vergleich, Zusammenführung, Formatkonvertierung, Signierung und Verifizierung von BOMs.

Die Konvertierung wird zwischen CycloneDX XML, JSON, Protobuf, CSV und SPDX JSON v2.3 unterstützt.

Binärdateien können von der Releases-Seite heruntergeladen werden.

Hinweis: Das CycloneDX-CLI-Tool ist für Automatisierungsanwendungsfälle konzipiert. Alle Befehle mit der Option --input-file unterstützen auch die Eingabe über stdin. Ebenso unterstützen alle Befehle mit der Option --output-file die Ausgabe über stdout. Allerdings müssen Sie die Eingabe-/Ausgabeformate angeben.

Zum Beispiel:
cat bom.json | cyclonedx-cli convert --input-format json --output-format xml > bom.xml

Befehle

Befehl „add“

Unterbefehl „add files“

root@kitploit:~
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).

Beispiele

Erzeugen einer Quellcode-BOM unter Ausschluss des Git-Repository-Verzeichnisses:
cyclonedx-cli add files --no-input --output-format json --exclude /.git/**

Hinzufügen von Build-Ausgabedateien aus dem Verzeichnis bin zu einer vorhandenen BOM:
cyclonedx-cli add files --input-file bom.json --output-format json --base-path bin

Befehl „analyze“

root@kitploit:~
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.

Beispiele

Bericht über Komponenten, die mehrfach mit unterschiedlichen Versionen enthalten sind:
cyclonedx-cli analyze --input-file sbom.xml --multiple-component-versions

Befehl „convert“

root@kitploit:~
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)

Beispiele

Konvertieren vom XML- ins JSON-Format:
cyclonedx-cli convert --input-file sbom.xml --output-file sbom.json

Konvertieren vom XML- ins JSON-Format und Weiterleiten der Ausgabe an weitere Tools:
cyclonedx-cli convert --input-file sbom.xml --output-format json | grep "somthing"

CSV-Format

Das CSV-Format ist eine eingeschränkte Darstellung der Komponentenliste einer BOM.

Die Absicht besteht darin, Benutzern eine einfache Möglichkeit zu bieten, BOMs für einfache Anwendungsfälle zu erstellen und zu verarbeiten. Einschließlich einfacher Datenmigrations-Anwendungsfälle.

Die einzigen Pflichtfelder sind die Komponentenfelder name und version. Andere können leer gelassen oder die Spalten weggelassen werden.

example.csv

SPDX-Format

Die Konvertierung zwischen SPDX- und CycloneDX-Formaten kann zum Verlust einiger Informationen führen. Die Konvertierungsfunktionalität wird von der Bibliothek CycloneDX.Spdx.Interop bereitgestellt, die Teil des CycloneDX-.NET-Bibliotheksprojekts ist.

Weitere Einzelheiten darüber, welche Informationen verloren gehen, finden Sie auf der Projektseite der CycloneDX-.NET-Bibliothek.

Befehl „diff“

root@kitploit:~
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.

Beispiele

Bericht über Komponenten mit Versionsänderungen:
cyclonedx-cli diff sbom-from.xml sbom-to.xml --component-versions

Befehl „keygen“

root@kitploit:~
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")

Befehl „merge“

root@kitploit:~
merge
  Merge two or more BOMs

Usage:
  cyclonedx merge [options]

Options:
  --input-files <input-files>                                Input BOM filenames (separate filenames with a space).
  --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.
  --output-version <v1_0|v1_1|v1_2|v1_3|v1_4|v1_5|v1_6|v1_7> Specify output BOM specification version.
  --hierarchical                                             Perform a hierarchical merge.
  --group <group>                                            Provide the group of software the merged BOM describes.
  --name <name>                                              Provide the name of software the merged BOM describes (required for hierarchical merging).
  --version <version>                                        Provide the version of software the merged BOM describes (required for hierarchical merging).

Hinweis: Für eine hierarchische Zusammenführung muss der Gegenstand der BOM in allen BOMs im Metadata-Komponentenelement beschrieben sein.

Beispiele

Zwei BOMs im XML-Format zusammenführen:
cyclonedx-cli merge --input-files sbom1.xml sbom2.xml --output-file sbom_all.xml

Zwei BOMs zusammenführen und die Ausgabe an weitere Tools weiterleiten:
cyclonedx-cli merge --input-files sbom1.xml sbom2.xml --output-format json | grep "something"

Befehl „sign“

Eine BOM oder Datei signieren

Unterbefehl „sign bom“

root@kitploit:~
bom
  Sign the entire BOM document

Usage:
  cyclonedx sign bom <bom-file> [options]

Arguments:
  <bom-file>  BOM filename

Options:
  --key-file <key-file>  Signing key filename (RSA private key in PEM format, defaults to "private.key")

Unterbefehl „sign file“

root@kitploit:~
file
  Sign arbitrary files and generate a PKCS1 RSA SHA256 signature file

Usage:
  cyclonedx sign file <file> [options]

Arguments:
  <file>  Filename of the file the signature will be created for

Options:
  --key-file <key-file>              Signing key filename (RSA private key in PEM format, defaults to "private.key")
  --signature-file <signature-file>  Filename of the generated signature file (defaults to the filename with ".sig" appended)

Befehl „validate“

root@kitploit:~
validate
  Validate a BOM

Usage:
  cyclonedx validate [options]

Options:
  --input-file <input-file>                                  Input BOM filename, will read from stdin if no value provided.
  --input-format <autodetect|json|xml>                       Specify input file format.
  --input-version <v1_0|v1_1|v1_2|v1_3|v1_4|v1_5|v1_6|v1_7>  Specify input file specification version (defaults to v1.7)
  --fail-on-errors                                           Fail on validation errors (return a non-zero exit code)

Beispiele

BOM validieren und einen Exit-Code ungleich null zurückgeben (praktisch, um einen Build automatisch „abzubrechen“ usw.)
cyclonedx-cli validate --input-file sbom.xml --fail-on-errors

Befehl „verify“

Signaturen für BOMs und Dateien verifizieren

Unterbefehl „verify all“

root@kitploit:~
all
  Verify all signatures in a BOM

Usage:
  cyclonedx verify all <bom-file> [options]

Arguments:
  <bom-file>  BOM filename

Options:
  --key-file <key-file>  Public key filename (RSA public key in PEM format, defaults to "public.key")

Unterbefehl „verify file“

root@kitploit:~
file
  Verifies a PKCS1 RSA SHA256 signature file for an arbitrary file

Usage:
  cyclonedx verify file <file> [options]

Arguments:
  <file>  File the signature file is for

Options:
  --key-file <key-file>              Public key filename (RSA public key in PEM format, defaults to "public.key")
  --signature-file <signature-file>  Signature file to be verified (defaults to the filename with ".sig" appended)

Docker-Image

Das CycloneDX-CLI-Tool kann auch mit Docker ausgeführt werden: docker run cyclonedx/cyclonedx-cli.

Homebrew

Für Linux und MacOS kann die CLI über das CycloneDX-Homebrew-Tap installiert werden:

root@kitploit:~
brew install cyclonedx/cyclonedx/cyclonedx-cli

Unterstützte Plattformen

Offiziell unterstützte Builds sind für diese Plattformen verfügbar:

  • Windows x64 (win-x64)
  • Linux x64 (linux-x64)
  • Linux musl x64 (linux-musl-x64, inklusive Alpine Linux)
  • MacOS x64 (osx-x64)

Von der Community unterstützte Builds sind für diese Plattformen verfügbar:

  • Windows x86 (win-x86)
  • Windows ARM x64 (win-arm64)
  • Linux ARM (linux-arm)
  • Linux ARM x64 (linux-arm64)
  • MacOS ARM x64 (osx-arm64)

.NET-Core-Runtime-Abhängigkeiten sind erforderlich.

Für Windows sollten diese vorinstalliert sein.

Für Ubuntu sind dies libc6 libgcc1 libgssapi-krb5-2 libicu66 libssl1.1 libstdc++6 zlib1g.

Verwenden von gron für Ad-hoc-Suche und -Analyse

gron transformiert JSON in einzelne Zuweisungen, um das Durchsuchen mit grep nach dem Gewünschten zu erleichtern und den absoluten ‚Pfad‘ dorthin zu sehen.

Der Einfachheit halber ist gron im CycloneDX-CLI-Docker-Image enthalten.

Beispielverwendung, die alle Komponentennamen und -versionen auflistet

root@kitploit:~
$ gron bom-1.2.json | grep -E "(components\[[[:digit:]]*\].name)|(components\[[[:digit:]]*\].version)"

json.components[0].name = "tomcat-catalina";
json.components[0].version = "9.0.14";
json.components[1].name = "mylibrary";
json.components[1].version = "1.0.0";

Oder dasselbe mit einer BOM im XML-Format

root@kitploit:~
$ cyclonedx convert --input-file bom.xml --output-format json | gron | grep -E "(components\[[[:digit:]]*\].name)|(components\[[[:digit:]]*\].version)"

json.components[0].name = "tomcat-catalina";
json.components[0].version = "9.0.14";
json.components[1].name = "mylibrary";
json.components[1].version = "1.0.0";

Weitere Einzelheiten zur Verwendung von gron finden Sie auf der gron-Projektseite.

Weitere Einzelheiten zur Verwendung von grep finden Sie auf der grep-Manpage.

Lizenz

Die Erlaubnis zur Änderung und Weiterverbreitung wird unter den Bedingungen der Apache-2.0-Lizenz gewährt. Die vollständige Lizenz finden Sie in der Datei LICENSE.

Mitwirken

Pull-Requests sind willkommen. Bitte lesen Sie jedoch zuerst die Beitragsrichtlinien von CycloneDX.

Um die Lösung lokal zu erstellen und zu testen, sollten Sie .NET 8 installiert haben. Standardbefehle wie dotnet build und dotnet test funktionieren.

Es wird allgemein erwartet, dass Pull-Requests relevante Tests enthalten. Für jeden Pull-Request werden die Tests automatisch unter Windows, MacOS und Linux ausgeführt. Build-Warnungen führen dazu, dass der Build fehlschlägt.

Bitte teilen Sie uns mit, wenn Sie Probleme beim Debuggen eines Tests haben, der auf einer Plattform fehlschlägt, auf die Sie keinen Zugriff haben.

Tool herunterladen