Komponenten

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:

Eingabe
bomnipotent_client component list "Your Project" "1.0.0" | awk 'NR <= 16'
Ausgabe
[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):

Eingabe (lange Variante)
bomnipotent_client component list "Your Project" "1.0.0" --name=aho-corasick --version=1.1.3 --type=library
Eingabe (kurze Variante)
bomnipotent_client component list "Your Project" "1.0.0" -n aho-corasick -v 1.1.3 -t library
Ausgabe
[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=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.