Generate CBOM with the Xygeni CLI
A Cryptographic Bill of Materials (CBOM) is a structured inventory of every cryptographic asset — algorithm, protocol, certificate, and key material — found in your project's source code. Xygeni produces CycloneDX 1.6 CBOM JSON using the inventory --cbom command.
What the CBOM covers
Xygeni scans source code across 8 languages and emits four types of cryptographic assets:
Algorithm
AES-256-GCM, SHA-256, RSA-3072, Ed25519, MD5 (weak), DES (weak)
Protocol
TLS 1.3, TLS 1.2
Certificate
PEM/DER files, X.509 certificate references
Related material
PBKDF2 key derivation, key wrapping, IV/salt references
Supported languages: Java, Kotlin, JavaScript/TypeScript, Python, Go, C#, PHP, Swift.
Running a CBOM scan
Use the inventory command with the --cbom flag and specify the output file path:
xygeni inventory --cbom cbom-output.jsonTo scan a specific directory:
xygeni inventory --dir /path/to/project --cbom cbom-output.jsonThe --cbom flag implies CycloneDX 1.6 format automatically. No --sbom-format is required.
Generating SBOM and CBOM together
--cbom is independent from --sbom / --sbom-format: a single inventory invocation can emit both an SBOM and a CBOM, each to its own file, in one pass over the project. This is the recommended way to produce both artifacts in CI — the scanner walks the codebase once and the two reports are guaranteed to describe the same revision.
This produces:
sbom.json— the dependency SBOM in the format selected by--sbom-format(cyclonedxorspdx).cbom.json— the Cryptographic BOM, always CycloneDX 1.6.
Notes:
--sbomand--sbom-formatmust always be used together.--cbommay be used with or without them.The two outputs are written to separate files; do not point
--sbomand--cbomat the same path.When
--sbom-formatiscyclonedx, the SBOM and CBOM share the CycloneDX schema family but are distinct documents (one describes components/dependencies, the other describes cryptographic assets).
Understanding the output
The output is a CycloneDX 1.6 JSON file. Each cryptographic asset appears as a cryptographic-asset component with:
cryptoProperties.assetType—algorithm,certificate,related-crypto-material, orprotocolcryptoProperties.algorithmProperties—primitive,mode,parameterSetIdentifier(key size)evidence.occurrences— the exact source file and line number of every usage
Assets are deduplicated: if AES-256-GCM is used in ten files, the CBOM carries one component with ten occurrences. This mirrors the IBM cbomkit convention.
Example output snippet
Weak and broken algorithms
The CBOM is an inventory, not a policy gate. Weak algorithms (MD5, DES, RSA-1024, SHA-1) are included alongside strong ones. Use Xygeni's SAST scanner or policy rules to flag weak crypto as findings — the CBOM data feeds those rules automatically.
CI/CD integration
Add CBOM generation to any CI/CD pipeline by calling the scanner as a build step:
To produce both an SBOM and a CBOM in the same job (one scan, two artifacts):
Related pages
Last updated

