Komponenten
Auflisten
Der Zweck eines Stücklistenverzeichnisses (Bill of Materials, BOM) besteht darin, die Komponenten eines Produkts zu katalogisieren. BOMnipotent Client kann verwendet werden, um alle Pakete usw. aufzulisten, die in einem Produkt enthalten sind, welches über Ihr Benutzerkonto zugänglich ist. Rufen Sie einfach den Client mit den Argumenten “component”, “list” und anschließend dem Namen und der Version des Produkts auf:
bomnipotent_client component list "Your Project" "1.0.0" | awk 'NR <= 16'bomnipotent_client comp list "Your Project" "1.0.0" | awk 'NR <= 16'[INFO]
╭────────────────────────────┬────────────────────────────┬─────────┬────────────────────────────┬────────────────────────────╮
│ Name │ Version │ Type │ CPE │ PURL │
├────────────────────────────┼────────────────────────────┼─────────┼────────────────────────────┼────────────────────────────┤
│ /home/your_project/Cargo.l │ │ file │ │ │
│ ock │ │ │ │ │
│ aho-corasick │ 1.1.3 │ library │ cpe:2.3:a:aho-corasick:aho │ pkg:cargo/aho-corasick@1.1 │
│ │ │ │ -corasick:1.1.3:*:*:*:*:*: │ .3 │
│ │ │ │ *:* │ │
│ aws-lc-rs │ 1.13.1 │ library │ cpe:2.3:a:aws-lc-rs:aws-lc │ pkg:cargo/aws-lc-rs@1.13.1 │
│ │ │ │ -rs:1.13.1:*:*:*:*:*:*:* │ │
│ aws-lc-sys │ 0.29.0 │ library │ cpe:2.3:a:aws-lc-sys:aws-l │ pkg:cargo/aws-lc-sys@0.29. │
│ │ │ │ c-sys:0.29.0:*:*:*:*:*:*:* │ 0 │
│ bindgen │ 0.69.5 │ library │ cpe:2.3:a:bindgen:bindgen: │ pkg:cargo/bindgen@0.69.5 │
│ │ │ │ 0.69.5:*:*:*:*:*:*:* │ │
│ bitflags │ 2.9.1 │ library │ cpe:2.3:a:bitflags:bitflag │ pkg:cargo/bitflags@2.9.1 │
Der Befehl akzeptiert die optionalen Filter “name”, “version”, “type”, “cpe” und “purl” (der Kürze zuliebe hier nicht alle genutzt):
bomnipotent_client component list "Your Project" "1.0.0" --name=aho-corasick --version=1.1.3 --type=librarybomnipotent_client comp list "Your Project" "1.0.0" -n aho-corasick -v 1.1.3 -t library[INFO]
╭──────────────┬─────────┬─────────┬────────────────────────────┬────────────────────────────╮
│ Name │ Version │ Type │ CPE │ PURL │
├──────────────┼─────────┼─────────┼────────────────────────────┼────────────────────────────┤
│ aho-corasick │ 1.1.3 │ library │ cpe:2.3:a:aho-corasick:aho │ pkg:cargo/aho-corasick@1.1 │
│ │ │ │ -corasick:1.1.3:*:*:*:*:*: │ .3 │
│ │ │ │ *:* │ │
╰──────────────┴─────────┴─────────┴────────────────────────────┴────────────────────────────╯
Diese Ausgabe ist in erster Linie für den Menschen lesbar. Die Verwendung der Option --output-mode=raw macht sie prinzipiell maschinenlesbar, aber das vollständige Herunterladen der BOM ist höchstwahrscheinlich vorzuziehen, anstatt diese Tabellenausgabe zu parsen.
Ein Anbieter eines Produkts sollte die BOM eines Produkts regelmäßig auf Schwachstellen überprüfen, beispielsweise mit Tools wie grype. Der nächste Abschnitt erklärt, wie Sie als Nutzer eines Produkts auf diese Listen zugreifen können.
Analysieren
Das Ausführen des Befehls “component analyze” mit einem oder meheren Dateipfaden zu gültigen CycloneDX Dateien stellt die (kombinierten) Komponenten dieser BOMs tabellarisch dar:
bomnipotent_client component analyze /home/your_project/sbom.cdx.json | awk 'NR <= 16'bomnipotent_client comp analyze /home/your_project/sbom.cdx.json | awk 'NR <= 16'[INFO]
╭────────────────────────────┬────────────────────────────┬─────────┬────────────────────────────┬────────────────────────────╮
│ Name │ Version │ Type │ CPE │ PURL │
├────────────────────────────┼────────────────────────────┼─────────┼────────────────────────────┼────────────────────────────┤
│ /home/your_project/Cargo.l │ │ file │ │ │
│ ock │ │ │ │ │
│ aho-corasick │ 1.1.3 │ library │ cpe:2.3:a:aho-corasick:aho │ pkg:cargo/aho-corasick@1.1 │
│ │ │ │ -corasick:1.1.3:*:*:*:*:*: │ .3 │
│ │ │ │ *:* │ │
│ aws-lc-rs │ 1.13.1 │ library │ cpe:2.3:a:aws-lc-rs:aws-lc │ pkg:cargo/aws-lc-rs@1.13.1 │
│ │ │ │ -rs:1.13.1:*:*:*:*:*:*:* │ │
│ aws-lc-sys │ 0.29.0 │ library │ cpe:2.3:a:aws-lc-sys:aws-l │ pkg:cargo/aws-lc-sys@0.29. │
│ │ │ │ c-sys:0.29.0:*:*:*:*:*:*:* │ 0 │
│ bindgen │ 0.69.5 │ library │ cpe:2.3:a:bindgen:bindgen: │ pkg:cargo/bindgen@0.69.5 │
│ │ │ │ 0.69.5:*:*:*:*:*:*:* │ │
│ bitflags │ 2.9.1 │ library │ cpe:2.3:a:bitflags:bitflag │ pkg:cargo/bitflags@2.9.1 │