sbom (sbom ecosystem)
Bomly uses this chain when it finds sbom evidence.
| Property | Value |
|---|---|
| Package manager | sbom |
| Ecosystem | sbom |
| Detector chain | sbom-detector |
| Evidence patterns | *.syft.json, *.bom.*, *.bom, bom, *.sbom.*, *.sbom, sbom, *.cdx.*, *.cdx, *.spdx.*, *.spdx |
| Install-first support | No |
| Native command hints | - |
How sbom resolves
sbom-detector is a direct ingest — it accepts SPDX 2.3 JSON or CycloneDX 1.6 JSON as input and treats the SBOM as the source of truth for the graph. No subprocess runs, no other detector chains fire.
| Step | Strategy | Command |
|---|---|---|
| Resolve graph | JSON ingest | None |
Format is auto-detected by content.
Network behavior
✅ Fully offline-safe. Ingest is a local read of the SBOM file.
Triggering ingest
Pass --sbom with --path pointing at the file:
bomly scan --sbom --path ./vendor.spdx.json
Without --sbom, files matching *.spdx, *.cdx.json, bom, etc. are still detected by their evidence patterns, but Bomly may run other detector chains on the surrounding directory. Use --sbom to be explicit.
--install-first
Not applicable.
Examples
Audit a vendor SBOM
bomly scan --sbom --path ./vendor.cdx.json \
--enrich --audit --fail-on high
Convert SPDX to CycloneDX
bomly scan --sbom --path ./in.spdx.json -o cyclonedx=out.cdx.json
The scan pipeline is the conversion path; there is no separate convert command.
Diff two SBOMs
bomly diff --sbom --base ./v1.0.cdx.json --head ./v1.1.cdx.json
Reachability
Not applicable. Reachability analyzers need access to source code; an SBOM-only input cannot satisfy that.
--analyzeproducesnot_applicablefor SBOM ingest.
Limitations
- Relationship fidelity depends on the source SBOM. If the SBOM was produced by a tool that emits a flat package list (no
DEPENDS_ON/dependenciesedges), Bomly's graph is also flat.bomly explaincannot show paths that aren't recorded. - Vendor-specific extensions (custom properties, non-standard package types) are passed through to the JSON output but are not used for policy decisions.
- SBOM ingest is exclusive — combining
--sbomwith--containeror--urlis rejected with exit 4. - Format versions other than SPDX 2.3 JSON and CycloneDX 1.6 JSON are rejected. SPDX 3.0 and CycloneDX 1.5 ingest are tracked for follow-up.
- Tag-Value SPDX and XML CycloneDX are not currently ingested.