96% more reported CVEs per day in 2026 than last year.
CRACI

Comparison

SBOM tools compared

SBOM tools come in two kinds: generators that write the SBOM and managers that store, monitor and share it. Here is how ten of them differ, why generators disagree, and where CRACI, which records the SBOM during the build, fits.

Who this is for

This page is for teams that need SBOMs, for the Cyber Resilience Act, a customer questionnaire or their own vulnerability work, and are sorting through the options. We build CRACI, so weigh that in. Every claim about another tool comes from its own documentation, listed under Sources, and each tool has a longer CRACI vs X page.

How to choose

  • Do you need to produce SBOMs, manage them, or both? A generator gives you a file. A manager gives you a place to keep files from many products and suppliers, enrich them and act on them. Managers depend on what generators feed them.
  • Is the software yours or bought? For your own builds you control the input. For supplier software you need intake, validation and sometimes binary analysis.
  • How sure do you need to be that the list is complete? Generators read files after the fact, and they disagree more than most people expect (see below).
  • Which CI do you run, and must it be self-hosted? Open-source generators run anywhere. CRACI supports GitHub Actions on Linux, as a managed service.

SBOM generators

This compares what each generator does, not how many components it returns.

CRACI is our product. CRACI cannot be scored the way the others can, because it records builds and cannot scan a directory.
Capability CRACI Syft Trivy cdxgen Microsoft SBOM Tool GitHub export
Where the component list comes from Recorded build traffic Catalogers read files and images Lock files or installed packages Source and container images A build drop folder Manifests and lock files
Formats CycloneDX, SPDX CycloneDX, SPDX, Syft JSON CycloneDX, SPDX CycloneDX SPDX SPDX
Records what the build fetched Including CI caches Dependency submission
Works without running the build
Signed attestation or provenance Artifact to build in-toto SBOM attestation With Cosign Not stated Not stated Artifact attestations
Vulnerability matching Monitored SBOMs Pair with Grype Not stated Not stated Dependabot alerts
Egress policy for the build Fails closed
Runs in any CI GitHub Actions only GitHub repositories
Price Pro €30 per month until end of 2026 Free, Apache-2.0 Free, Apache-2.0 Free, Apache-2.0 Free, MIT Included with GitHub
  • Included
  • Partly
  • Not included

Syft

Syft is Anchore's free, Apache-2.0 generator for container images and filesystems. It recognizes dozens of package types, writes CycloneDX, SPDX and Syft JSON, and can create signed in-toto SBOM attestations. Grype, its companion, matches the SBOM against vulnerabilities. Best for images and for any pipeline that needs a free generator. Watch out: catalogers are chosen by scan type, so on an installed express checkout one flag decides whether npm packages appear in the result at all. CRACI vs Syft and Grype

Trivy

Trivy, from Aqua Security, is a versatile Apache-2.0 scanner for images, filesystems, repositories, VM images and Kubernetes. It finds vulnerabilities, IaC misconfigurations, secrets and licenses, and writes CycloneDX or SPDX as a side effect. Best for teams that want one free binary for many security checks. Watch out: for a repository it reads lock files, so express 5.2.1 (no lockfile) and claude-code (no manifest) give it nothing to read, exactly as documented. CRACI vs Trivy

cdxgen

cdxgen is an OWASP CycloneDX project that creates CycloneDX BOMs from source and container images, under Apache-2.0. Best for teams standardized on CycloneDX that want a generator from the format's own community. Watch out: like the other scanners, it can only report what the files in front of it declare. CRACI vs a DIY SBOM stack

Microsoft SBOM Tool

The Microsoft SBOM Tool is an MIT-licensed generator that writes SPDX. It expects a build drop folder, a package name, a version and a supplier on the command line, which makes it a post-build step. Best for teams that want SPDX for a build output they already package. Watch out: pointed at repositories as committed, rather than at a build drop, it has almost nothing to describe. Because it takes a supplier on the command line, it can fill the supplier field. CRACI vs a DIY SBOM stack

GitHub dependency graph export

GitHub's dependency graph summarizes a repository's manifest and lock files, plus anything sent through the dependency submission API, and exports as SPDX from the UI or REST API. It feeds Dependabot alerts and is included in every GitHub plan. Best for teams already on GitHub who need a quick SBOM. Watch out: it reflects the default branch rather than a pinned commit, and it is built from what GitHub knows about the repository rather than from files a scanner reads. CRACI vs GitHub Advanced Security

What a scanned SBOM depends on

Point the generators above at the same repository and they return different lists. These are the patterns the tools' own documentation predicts:

  • No component is found by every tool. Each generator decides for itself what counts as a component and which files to trust, so one repository gives each of them a different list.
  • No lockfile, no dependencies. Express 5.2.1 commits none, so a generator that resolves dependencies from lock files reports none of its npm dependencies and returns whatever else it recognizes.
  • No manifest at all. The claude-code repository has no manifest or lockfile, so what each tool returns is assembled from other file types and says more about the tool than about the project.
  • Thin metadata. The supplier field often comes out empty, because most generators have no source for it.

None of these tools is broken. Each reads the files in front of it, as designed. The lesson is that a scanned SBOM depends on the tool, its settings and whether anyone installed dependencies first.

SBOM managers

Pricing as of September 2026.
Capability CRACI Anchore Enterprise FOSSA Cybeats Manifest Dependency-Track
Where the SBOM comes from Recorded during your build Scans of images, filesystems and source FOSSA CLI analysis, or imports Imports; generators via its Marketplace Scanners (Syft by default) or binary analysis SBOMs you upload
Completeness or quality signal Per job and cache Schema validation Minimum element policies SBOM Quality Score Not stated Not stated
Imports supplier SBOMs Vendor SBOMs can be added Vendor portal CycloneDX
Continuous vulnerability monitoring
VEX
Policy engine or gates Build blocking Policy packs Policy-based alerts Not stated
License compliance Declared licenses exported Not stated Not stated
Sharing SBOMs with customers File export Not stated SBOM Portal Not stated
Runs your build Egress policy, provenance
Self-hosted Managed service Including air-gapped Not stated Not stated Not stated
Pricing Pro €30 per month until end of 2026 Quote Free plan; Business $20 per project per month Not stated Not stated Free, Apache 2.0
  • Included
  • Partly
  • Not included
  • On the roadmap

Anchore Enterprise

Anchore Enterprise builds on Syft and Grype and adds what large organizations need: container, source and filesystem SBOMs, imported SBOMs validated for schema correctness, continuous rescanning without the original artifact, and policy packs for FedRAMP, NIST, CIS, PCI DSS and CMMC. It deploys on Kubernetes, Docker Compose or air-gapped. Best for container fleets across several CI systems and for government work. Watch out: its SBOMs still describe what a scanner found, and pricing is by quote. CRACI vs Anchore

FOSSA

FOSSA started with license compliance: full-text license detection, policies and attribution notices. It generates and imports SPDX and CycloneDX SBOMs, can add VDR or VEX statements, checks imports against NTIA and FDA minimum elements, and shares SBOMs through a portal on Enterprise. The Free plan covers 5 projects. Best for teams whose first concern is license risk. Watch out: its CLI queries your build tools when a working build is available and infers from source when not, and binary and snippet scanning are add-ons. CRACI vs FOSSA

Cybeats SBOM Studio

SBOM Studio calls itself "the SBOM system of record." It imports and exports SPDX 2.2 to 3.0.1 and CycloneDX 1.2 to 1.7, scores SBOM quality before import, matches every component continuously, and shares SBOM and VEX data with customers, including over the Transparency Exchange API. Best for product security teams in ICS, medical devices, telecom and automotive running an SBOM program. Watch out: it manages SBOMs rather than producing them, and a quality score confirms format, not what the generator missed. CRACI vs Cybeats

Manifest

Manifest collects, enriches and shares SBOMs across your products, your vendors and your AI models. Vendors upload through a secure portal, and when they provide none, Manifest can analyze the binary and generate one. It supports SPDX, CycloneDX and VEX and maps to FDA guidance, NIST 800-218 and UNECE R155. Best for organizations whose main exposure is software they buy. Watch out: its GitHub Action generates first-party SBOMs with Syft by default. CRACI vs Manifest

OWASP Dependency-Track

Dependency-Track is an Apache 2.0 platform that tracks components across every version of every application, pulls vulnerability data from sources including NVD and GitHub Advisories, applies security, license and operational policies, and consumes and produces CycloneDX VEX. Pipelines upload SBOMs through its API. Best for teams that want a transparent, self-hosted analysis platform. Watch out: it does not generate SBOMs, and you run it yourself (the API server needs at least 2 GB of RAM and 2 CPU cores). CRACI for Dependency-Track users

How CRACI fits

CRACI is neither a scanner nor a manager. It is a recorder. Your GitHub Actions jobs run on CRACI runners (change runs-on to craci), and a package-aware proxy records what each job fetches from npm, PyPI, RubyGems, Cargo, Go, Nix and OCI sources, plus OS and download sources. Packages restored from a CI cache carry their evidence forward. The SBOM, in CycloneDX or SPDX, includes the transitive dependencies the build used, and states its completeness per job and per cache: Complete, Complete with connections, Incomplete, Unavailable or Not recorded.

After the build, CRACI keeps re-evaluating monitored SBOMs, aggregates vulnerabilities across builds and repositories, signs provenance that links each artifact to its build, and exports reports in PDF, HTML, CSV, Excel and JSON. It automates a significant part of the software supply chain visibility and evidence that companies need for their wider CRA compliance process.

So CRACI does the job of a generator and a manager together, for the software you build. It is not the right choice when:

  • you need SBOMs for images or software you did not build (use a generator such as Syft or Trivy),
  • you need VEX, license policy or portfolio policy (use a manager),
  • your pipelines run outside GitHub Actions, on Windows or macOS, or must be self-hosted.

See also SCA tools compared, AI-generated SBOMs vs build-time SBOMs, and build-time SBOM generation.

Put a recorded SBOM next to your current one

Run one GitHub Actions workflow on CRACI and compare its SBOM with the one your generator produces today.

Book a demo