Evidence · Comparison · CycloneDX 1.6

CBOMkit vs CRYPTAGION: two CBOMs of the same repository, compared line by line

Published 12 October 2026 · 8 min read · By Ali Korsi Comparison pages usually rest on feature tables. This one rests on two CBOMs of the same commit, published in full, so you can check every number — including the ones that do not flatter us.

In short

What we ran

The target is pyca/cryptography at commit d45b793, the same commit as our published pyca CBOM example. CBOMkit is the open-source CBOM toolset maintained under the Post-Quantum Cryptography Alliance (PQCA) at the Linux Foundation, Apache-2.0 licensed. We ran release 2.3.0 (September 2026) as a service with its default settings, the way its quickstart describes, and called its scan API twice. The CBOMkit service checks out branches or tags, so we pinned the commit through a local read-only mirror with a branch at d45b793; both CBOMs record that commit.

Everything is published: CBOMkit CBOM (and the repeat), progress logs, the deployment file, the scan and comparison scripts, the comparison output and a methodology note with image digests and limits. Our side is the existing CRYPTAGION CBOM and its validation record.

Results at a glance

CBOMkit 2.3.0CRYPTAGION (pinned run, 10 October 2026)
Files scanned131: 124 Python files outside tests/, 2 in vectors/, 1 Java and 4 Go helper scripts243: every tracked Python file, including 117 test files; no Java or Go in this run
Test codeNot scannedScanned and tagged test
Output size17 components (9 algorithms, 8 related keys), 25 occurrences1,804 detections
Library source (src/)4 lines in 2 files (ssh.py, dsa.py)46 detections in 11 files
Documentation scripts17 occurrences across Python, Java and Go12 detections in Python
Lines found by both1 (generate_rsa_oaep_sha2.py:25)
Parameters recordedKey size, padding, mode and crypto functions (keygen, decrypt, digest…) where resolvedPrimitive, padding and mode where detected; scope on every finding
Keys and relationshipsRelated key material as components, with dependency linksNo complete dependency graph (stated in our limits)
CycloneDX 1.6 schemaValid, 0 errorsValid, 0 errors
Repeat runIdentical after normalising random IDsIdentical normalised findings and scores
After the inventoryBuilt-in basic quantum-safe policy check; custom policies through Open Policy Agent; web viewerPer-asset risk score with reasoning, HNDL exposure, replacement and migration year, roadmap, PDF report, SARIF — all outside the CBOM

Same file, different findings

src/cryptography/hazmat/primitives/serialization/ssh.py, which parses and writes SSH keys, is the only library file both tools reported on, and it shows how differently they work:

The same pattern holds across the run. CBOMkit resolves calls into cryptographic APIs and attaches what it can infer about them; CRYPTAGION records every place the code names an algorithm, including imports, curve tables and capability checks. In the documentation helpers, CBOMkit also covered the Java and Go scripts — for example the five Cipher.getInstance("RSA/ECB/OAEP…") calls, recorded with OAEP padding and a 2,048-bit key — which our Python-only run did not scan.

What CBOMkit does well

Where each fell short on this target

When to use which

CBOMkit is a good choice for a free first CBOM of an application, especially in Java or Python, in CI, when you have the cryptographic expertise to interpret the output and the time to run and maintain it.

CRYPTAGION is built for regulated organisations that need more than the inventory: production, test and vendored code kept apart, certificates and live TLS endpoints alongside code, a per-asset risk score with HNDL exposure, a migration roadmap and reports mapped to DORA, NIS2 and the CRA, delivered with support.

They are not exclusive. Both speak CycloneDX 1.6, and two CBOMs that disagree are worth more than one that nobody has checked. For the broader picture, see CRYPTAGION vs open-source CBOM tools, and to run the same test on any vendor, our CBOM tool evaluation checklist.

Limits of this comparison

Sources

Independent comparison by CRYPTAGION. CBOMkit, PQCA and the pyca project have not reviewed or endorsed it. Last verified 12 October 2026 against CBOMkit 2.3.0.

Put both CBOMs side by side yourself

In a 30-minute demo we run CRYPTAGION live on a public repository that matches your stack — bring a CBOMkit output of the same repository if you have one. No access to your code needed.

Request a free demo →