CBOMCryptographic Bill of MaterialsCycloneDX 1.6SBOM

The Complete Guide to Cryptographic Bills of Materials (CBOM)

Everything you need to know about Cryptographic Bills of Materials — what they are, why they matter, how they differ from SBOMs, and how to generate one automatically with KeyLens.

· 14 min read

What Is a Cryptographic Bill of Materials?

A Cryptographic Bill of Materials (CBOM) is a structured inventory of every cryptographic asset used in a software system. This includes algorithms, key sizes, certificates, protocols, and cryptographic libraries — every element that contributes to the security posture of your application.

Think of a CBOM as a complete map of your cryptographic landscape. Just as a Software Bill of Materials (SBOM) catalogs your software dependencies, a CBOM catalogs your cryptographic dependencies. In an era where quantum computing threatens to break widely-used encryption algorithms, knowing exactly what cryptography your systems rely on is no longer optional — it’s a compliance mandate.

The CBOM concept was formalized through the CycloneDX 1.6 specification, published by OWASP, which introduced dedicated cryptographic component types. This standardized format enables automated tooling, cross-organization sharing, and regulatory compliance verification.

⏰ Why now? Executive Order 14412 (signed June 2026) mandates federal contractors maintain cryptographic inventories and transition to post-quantum cryptography by December 31, 2030. The 180-day FAR rulemaking clock has already started.

Key Components of a CBOM

A comprehensive CBOM captures the following categories:

Component Type Examples Why It Matters
Algorithms AES-256, RSA-2048, SHA-256, ECDSA Identifies deprecated or quantum-vulnerable crypto
Key Sizes 128-bit, 256-bit, 2048-bit, 4096-bit Validates compliance with minimum key length requirements
Certificates X.509, TLS certificates, code signing certs Tracks certificate lifecycle and trust chains
Protocols TLS 1.2, TLS 1.3, SSH, IPSec Ensures protocol versions meet current standards
Libraries OpenSSL, BoringSSL, libsodium, ring Maps cryptographic supply chain dependencies
Key Sources Hardware HSM, software keystore, KMS Identifies key management practices

The CycloneDX 1.6 Standard

The CycloneDX 1.6 specification is the industry-standard format for CBOMs. Maintained by OWASP, CycloneDX provides a machine-readable schema that enables:

  • Automated validation — tools can programmatically check cryptographic compliance
  • Cross-tool interoperability — CBOMs can be shared between security platforms
  • Regulatory reporting — auditors can consume standardized CBOM output
  • Continuous monitoring — CI/CD pipelines can gate on CBOM policy violations

A CycloneDX CBOM is expressed in JSON or XML format. Here’s what a simplified entry looks like:

{
  "type": "crypto-asset",
  "name": "AES",
  "cryptoProperties": {
    "assetType": "algorithm",
    "algorithmProperties": {
      "primitive": "block-cipher",
      "mode": "GCM",
      "keyLength": 256,
      "cryptoFunctions": ["encrypt", "decrypt"]
    }
  }
}

CBOM vs SBOM vs HBOM: Understanding the Differences

The “Bill of Materials” family has grown significantly. Here’s how the three primary BOM types compare:

Dimension SBOM CBOM HBOM
Full Name Software Bill of Materials Cryptographic Bill of Materials Hardware Bill of Materials
Inventories Software packages, libraries, dependencies Algorithms, keys, certificates, protocols Physical components, chips, firmware
Primary Standard CycloneDX, SPDX CycloneDX 1.6 CycloneDX
Regulatory Driver EO 14028 (2021) EO 14412 (2026), CNSA 2.0 CISA guidance
Urgency Established (2+ years) Urgent — new mandate Emerging
Generation Dependency scanning (npm, pip, cargo) AST analysis, pattern matching Hardware inventory tools
Primary Risk Known vulnerabilities (CVEs) Quantum vulnerability, deprecated crypto Supply chain compromise
Key insight: SBOMs tell you what software you're running. CBOMs tell you what cryptography that software uses. Both are necessary for a complete security posture — and increasingly, both are required by regulators.

Why SBOMs Alone Aren’t Enough

An SBOM might tell you that your application uses openssl@3.1.4, but it won’t tell you:

  • Which specific algorithms your code invokes (AES-128-CBC vs AES-256-GCM)
  • Whether any deprecated algorithms are in use (MD5, SHA-1, DES)
  • What key sizes are being used (RSA-1024 vs RSA-4096)
  • Whether your TLS configuration allows downgrade attacks
  • Which cryptographic operations are hard-coded vs configurable

A CBOM fills these critical gaps by analyzing your actual source code — not just your dependency tree.


Why Cryptographic Bills of Materials Matter Now

1. The Post-Quantum Threat

Quantum computers capable of breaking RSA-2048 and ECC-256 are projected within the next 10–15 years. But “Harvest Now, Decrypt Later” (HNDL) attacks mean that adversaries are already collecting encrypted data today with the intention of decrypting it once quantum computers are available.

This means your current encryption is already at risk if:

  • You’re protecting data with a sensitivity lifetime beyond 2035
  • You’re using RSA, ECDSA, or Diffie-Hellman key exchange
  • You’re in defense, financial services, or healthcare

2. Federal Compliance Mandates

Three overlapping regulatory frameworks now require cryptographic inventory:

  • EO 14412 — mandates federal contractors meet NIST PQC standards by Dec 31, 2030
  • CNSA 2.0 — NSA’s transition timeline for national security systems
  • NIST SP 800-131A Rev 3 — deprecation schedule for legacy algorithms

3. Enterprise Risk Management

Beyond regulatory compliance, CBOMs enable:

  • Incident response — when an algorithm is compromised, instantly identify all affected systems
  • M&A due diligence — assess the cryptographic posture of acquisition targets
  • Vendor assessment — require CBOMs from suppliers as part of procurement
  • Audit readiness — generate auditor-ready reports in minutes, not weeks
✅ The bottom line: Organizations that can generate a CBOM on demand have a quantifiable advantage in audit cycles, incident response, and procurement negotiations. Those that can't are exposed to regulatory penalties and breach liability.

How to Generate a CBOM with KeyLens

KeyLens is the fastest open-source CBOM generator. Built in Rust with Tree-sitter AST parsing, it scans 20+ programming languages and produces CycloneDX 1.6-compliant output in seconds.

Step 1: Install KeyLens

# macOS / Linux
brew install keylens/tap/cbom

# Or download the binary directly
curl -sSL https://keylens.dev/install.sh | sh

Step 2: Scan Your Codebase

# Scan the current directory
cbom scan .

# Scan a specific directory with CBOM output
cbom scan ./src --format cbom --output crypto-inventory.json

Step 3: Review the Results

KeyLens produces a comprehensive report showing every cryptographic asset detected:

# View summary
cbom scan . --format table

# Filter by algorithm family
cbom scan . --filter 'algo.family=="RSA"'

# Check against CNSA 2.0 requirements
cbom scan . --check cnsa-2.0

Step 4: Integrate into CI/CD

Add cryptographic scanning to your pull request workflow:

# .github/workflows/cbom.yml
name: CBOM Check
on: [pull_request]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: keylens/cbom-action@v1
        with:
          policy: cnsa-2.0
          fail-on-violation: true

Step 5: Enforce Policies with Rego

Write custom policies to block deprecated cryptography:

# block-sha1.rego
package cbom.policy

deny[msg] {
    input.components[i].cryptoProperties.assetType == "algorithm"
    input.components[i].name == "SHA-1"
    msg := sprintf("SHA-1 detected in %v — blocked by policy", [input.components[i].evidence.location])
}

CBOM Best Practices

1. Scan Continuously, Not Once

A CBOM is only useful if it’s current. Integrate scanning into your CI/CD pipeline so every code change is automatically inventoried.

2. Start with Discovery, Then Enforce

Don’t block everything on day one. Start by generating a baseline CBOM, review it with your security team, then gradually add policy enforcement.

3. Cover All Languages

Cryptographic usage spans your entire stack — backend, frontend, mobile, infrastructure-as-code. Use a tool like KeyLens that supports 20+ languages to avoid blind spots.

4. Track Crypto Drift

Use cbom diff to compare CBOMs between releases. This catches:

  • New algorithms introduced by dependencies
  • Key size downgrades
  • Deprecated protocol usage in new code
# Compare current scan against baseline
cbom diff baseline.json --scan .

5. Share CBOMs with Stakeholders

CBOMs are designed to be shared. Provide them to:

  • Auditors (for compliance verification)
  • Customers (as part of security transparency)
  • Partners (for vendor risk assessment)

Frequently Asked Questions

What is the difference between a CBOM and an SBOM?

An SBOM (Software Bill of Materials) inventories software components — packages, libraries, and dependencies. A CBOM (Cryptographic Bill of Materials) inventories cryptographic assets — algorithms, keys, certificates, and protocols. An SBOM tells you what software you use; a CBOM tells you what cryptography that software employs. Both are necessary for complete security coverage, and both are increasingly required by regulators.

Is a CBOM required by law?

Yes, for many organizations. Executive Order 14412 (June 2026) mandates that federal contractors maintain cryptographic inventories as part of NIST PQC compliance. CNSA 2.0 requires national security systems to transition to quantum-resistant algorithms by specific deadlines. The EU’s Cyber Resilience Act (CRA) and Digital Operational Resilience Act (DORA) also include cryptographic inventory requirements.

What format should a CBOM use?

The industry standard is CycloneDX 1.6, maintained by OWASP. This specification includes dedicated schema types for cryptographic assets and is supported by major security platforms. KeyLens outputs CycloneDX 1.6-compliant CBOMs by default.

How long does it take to generate a CBOM?

With KeyLens, a typical codebase of 10,000 lines of code scans in approximately 300 milliseconds. Enterprise codebases with millions of lines typically complete in under 5 minutes. Traditional manual audits take 3–6 weeks and cost $200,000+ in consultant fees.

Can I generate a CBOM for any programming language?

KeyLens uses Tree-sitter AST parsing to support 20+ programming languages, including Python, Java, JavaScript, TypeScript, Go, Rust, C, C++, C#, Ruby, PHP, Kotlin, Swift, and more. This makes it the most language-complete CBOM generator available.

What happens if I find deprecated cryptography?

KeyLens identifies deprecated algorithms (MD5, SHA-1, DES, 3DES, RC4) and flags them in the CBOM output. You can use Rego policies to automatically block pull requests that introduce deprecated crypto, or generate compliance reports showing remediation priorities.


Next Steps