AWS and Cloudanix team co-authored this blog: Real-Time Threat and Anomaly Detection for Workloads on AWS

SBOM and CycloneDX Explained: What a Software Bill of Materials Is and How to Use One

A clear guide to the Software Bill of Materials (SBOM): what it contains, how CycloneDX and SPDX formats differ, direct vs transitive dependencies, and how an SBOM powers vulnerability detection and supply chain security.

You cannot secure what you cannot see. Modern applications are assembled far more than they are written — a typical service is a thin layer of your own code sitting on top of hundreds of open-source packages, each of which pulls in packages of its own. When a vulnerability like Log4Shell lands, the first question every security team asks is deceptively simple: do we even use the affected component, and where? The teams who can answer in minutes have a Software Bill of Materials. The teams who spend days grepping through repositories do not.

This guide explains what an SBOM is, what goes into one, how the main formats (CycloneDX and SPDX) differ, and how an SBOM becomes the foundation for vulnerability detection and supply chain security rather than just a compliance artifact that sits in a drawer.

What is a Software Bill of Materials?

An SBOM is a complete, structured inventory of every software component that makes up an application — much like the bill of materials a manufacturer keeps for a physical product, listing every part and sub-part that goes into it. For software, those “parts” are the libraries, frameworks, modules, and packages your application depends on, along with metadata about each one.

A useful SBOM answers questions like:

  • What open-source and third-party components does this application contain?
  • What version of each is in use?
  • What license does each carry?
  • Which components are direct dependencies (you asked for them) versus transitive (something you depend on pulled them in)?
  • Where did each component come from, and can its origin be verified?

The value is not the list itself — it is what the list makes possible. With an accurate SBOM, “are we affected by CVE-XXXX” becomes a lookup instead of an investigation, license risk becomes auditable, and the components entering your software supply chain become visible instead of implicit.

Why SBOMs became essential

A few forces turned SBOMs from a nice-to-have into a baseline expectation:

  • Dependency depth exploded. A single npm install or pip install can bring in hundreds of transitive packages you never explicitly chose. Your real attack surface is mostly code you did not write and may not know you have.
  • Supply chain attacks became mainstream. High-profile incidents — compromised packages, malicious maintainer takeovers, build-system tampering — made clear that the components you pull in are an attack vector, not just a convenience. Securing them starts with knowing what they are.
  • Regulation arrived. Government and industry mandates increasingly require software vendors to produce an SBOM, making it a procurement and compliance requirement, not just an engineering preference.
  • Incident response demands speed. When the next zero-day drops in a ubiquitous library, the difference between “we checked, here’s our exposure” within the hour and “give us a week to find out” is often an SBOM.

What goes into an SBOM

At minimum, each component entry carries a few core fields that make the inventory useful:

  • Component name and version — precise identity, because vulnerabilities are version-specific.
  • Supplier/origin — who produced the component and where it came from.
  • Unique identifiers — machine-readable coordinates such as a PURL (package URL) or CPE, so tools can match the component against vulnerability databases unambiguously.
  • Dependency relationships — what depends on what, so you can distinguish direct from transitive and trace a vulnerable package back to the thing that introduced it.
  • License — the open-source license each component carries, for legal and compliance review.
  • Hashes — cryptographic digests that let you verify a component has not been tampered with.

Direct versus transitive — the distinction that matters most

This is the single most important concept for using an SBOM well. A direct dependency is one your project explicitly declares — it is in your package.json, requirements.txt, pom.xml, or go.mod. A transitive dependency is one pulled in automatically because a direct dependency (or another transitive one) needs it.

In practice, the majority of components in a real application are transitive — often by a wide margin. This is why “we don’t use that library” is so frequently wrong: you may not use it directly, but something three levels down your dependency tree does. An SBOM makes that tree explicit, which is what lets you answer exposure questions honestly and trace a buried vulnerable package back to the top-level dependency you can actually upgrade.

CycloneDX vs SPDX: the two main formats

An SBOM is only useful if tools can read it, which is why standard formats exist. Two dominate:

  • CycloneDX — a specification designed with a security-first focus. It was built from the start to represent vulnerabilities, dependency relationships, and the kind of component metadata security tooling needs, and it has become the common choice for security-driven SBOM generation. It also extends naturally to related bills of materials for other component types.
  • SPDX — a long-established format with deep strength in license and compliance representation, widely used where legal and licensing accuracy is the primary concern.

Both are mature and widely supported; the practical difference is emphasis — CycloneDX leans toward security and vulnerability use cases, SPDX toward license/compliance use cases. Many toolchains can emit either. For security teams whose primary goal is finding and prioritizing vulnerable components, CycloneDX is the common default.

Beyond software: related “BOM” concepts

The bill-of-materials idea has extended to adjacent domains, and it is worth being precise about them because they are often conflated:

  • CBOM (Cryptography Bill of Materials) — an inventory of the cryptographic assets in use (algorithms, key lengths, certificates), aimed at crypto-discovery and readiness for cryptographic migrations. This is a distinct, crypto-focused capability, separate from a software SBOM.
  • AI/ML-BOM — an emerging concept that inventories the models, datasets, and their lineage behind an AI system. It is only genuinely an AI/ML-BOM when the tooling produces a structured bill of materials with model and dataset lineage; short of that, what you usually have is an early signal of AI-related dependencies surfaced through ordinary software composition analysis, plus broader AI inventory and visibility. It is worth keeping that distinction honest rather than labelling any AI dependency list an “AI-BOM.”

How an SBOM powers security

Generating an SBOM is step one. The payoff comes from what you connect it to:

1. Vulnerability detection

Once you have a precise, versioned inventory, you can match every component against vulnerability databases to find known-vulnerable packages. This is the core of software composition analysis (SCA) — the SBOM is the inventory, SCA is the act of checking that inventory against what is known to be vulnerable. The richer the vulnerability feed behind the match, the fewer gaps and the better the prioritization.

2. License and compliance management

Because each entry carries its license, an SBOM lets you flag components whose licenses conflict with your policy (for example, copyleft licenses in a proprietary product) before they create legal exposure — and produce the evidence auditors and customers increasingly ask for.

3. Rapid incident response

When the next widespread vulnerability drops, a current SBOM turns a frantic manual search into a query: which of our applications contain this component, at which versions, and which of those are actually running in production? That last clause is where an SBOM becomes far more powerful when it is connected to runtime — see how code-to-cloud correlation works.

4. Supply chain integrity

Component hashes and verified origins let you detect tampering and confirm provenance, which is central to defending against the supply chain attacks that make SBOMs necessary in the first place. The broader practice is covered in software supply chain security.

Common SBOM pitfalls

  • A stale SBOM is a misleading SBOM. Dependencies change on every build. An SBOM generated once and filed away quickly describes an application you no longer ship. Generate it continuously, per build or per repository, not annually.
  • Direct-only inventories miss the real risk. If your SBOM stops at declared dependencies and ignores the transitive tree, it hides exactly the components most likely to surprise you.
  • An SBOM without vulnerability matching is just a list. The inventory has value, but the security payoff only arrives when you connect it to a vulnerability feed and act on the matches.
  • Inventory without runtime context over-reports. An SBOM tells you a vulnerable component exists somewhere; it does not tell you whether that component runs in an exposed, high-value workload. Pairing the SBOM with where components actually run is what turns a long list into a short, ranked one.

Who consumes an SBOM, and why format matters

An SBOM is not only for your own security team — increasingly it is a document you exchange with others, which is why standard, machine-readable formats matter so much. Three audiences consume SBOMs, each with a different need:

  • Your security and engineering teams use it internally for vulnerability detection, license checks, and incident response. For them, the SBOM feeds tooling, so it needs accurate identifiers (PURLs/CPEs) that match vulnerability databases cleanly.
  • Your customers increasingly request an SBOM as part of their own supply chain due diligence. If you sell software, “can you provide an SBOM” is becoming a standard procurement question, and the ability to produce a clean CycloneDX or SPDX document quickly is a sales enabler, not just a compliance task.
  • Regulators and frameworks may require SBOMs as evidence of supply chain transparency. Here the format’s standardization is the whole point — a proprietary inventory nobody else can parse does not satisfy a mandate.

This is why generating a well-formed, standard-format SBOM automatically — rather than maintaining a hand-written component list — is the practical baseline. A standard format means every consumer, from your scanner to your customer’s scanner to an auditor’s tool, can read the same document without translation.

How Cloudanix generates and uses SBOMs

Cloudanix Code Security treats the SBOM as a live, security-driven artifact, not a compliance checkbox.

  • CycloneDX SBOM per repository. Cloudanix’s SCA is cdxgen-based and generates a CycloneDX SBOM for each connected repository, scanning both manifests and lockfiles to capture direct and transitive dependencies across ecosystems such as npm, PyPI, Maven, Go modules, RubyGems, NuGet, and Cargo.
  • Vulnerability matching with rich intelligence. Components are matched against a 28-feed vulnerability database — spanning OSV, NVD, CVE, ecosystem advisories and more — and enriched with CISA KEV and EPSS for exploitability-aware prioritization, so the SBOM feeds a ranked queue rather than a flat list. The ranking logic is detailed in how to prioritize which CVEs to fix.
  • AI dependency signal and inventory. SCA provides an early signal for AI-related dependencies, contributing to broader AI inventory and code-to-cloud visibility rather than being presented as a full model/dataset bill of materials.
  • Connected to runtime. Because code and cloud live on one asset graph, a vulnerable component in the SBOM can be weighed against where it actually runs and what it can reach — turning “this component is vulnerable” into “this vulnerable component runs in an exposed workload that reaches sensitive data.”

To generate a CycloneDX SBOM for your own repositories and see the vulnerable components ranked by real exposure, book a free assessment or explore the interactive demo on the Code Security page.


People Also Read

What Our Users Are Saying

Customer Reviews

Cloudanix is trusted by security leaders worldwide to deliver proactive, reliable, and cutting-edge cloud security.

One day, I changed the password of a root account, and my CTO called me within less than a minute to confirm if I did so. I was not expecting a reaction this quick. He told me Cloudanix alerted him of this password change and that he wanted to confirm as it was a critical security notification. I couldn't believe it!

Ritesh Agarwal
Ritesh Agarwal
CEO, Airgap Networks

Compliance is one way of staying secure, but what I want is the ability to go deeper and attain 'true security.' Cloudanix provides us the capability to do so.

Vishal Madan
Vishal Madan
Head of Engineering, iMocha

Cloudanix is building for the future of the cloud, which makes the product all the more desirable.

Ritesh Agarwal
Ritesh Agarwal
CEO, Airgap Networks

Cloudanix gave us the visibility we were missing. Being able to move from permanent access to a robust Just-In-Time (JIT) workflow has fundamentally changed our security posture without slowing down our engineering velocity.

Pavan Kumar Lekkala
Pavan Kumar Lekkala
SRE Lead, HugoHub

We are excited to leverage Cloudanix's comprehensive multi-cloud DevSecOps solution to secure our production workloads on AWS. Cloudanix has demonstrated that it can solve many challenges that DevSecOps teams face while continually adding new features such as SOC2 compliance and drift detection.

Satish Mohan
Satish Mohan
Co-founder & CTO, Airgap Networks

Managing third-party partner access was once a major concern for our security posture. With Cloudanix JIT Cloud, we've effectively achieved zero third-party risk. We can now grant access confidently, knowing that it is temporary, audited, and automatically revoked, resulting in a 100% reduction in our privileged access exposure.

Okesh Badhiye
Okesh Badhiye
Head of Technical Engineering, Finfinity

The snooze feature and responsible alerts have helped us save time and prioritize what to tackle first.

Satish Mohan
Satish Mohan
Co-founder & CTO, Airgap Networks

Implementing Cloudanix JIT internally allowed us to practice what we preach. By eliminating permanent access to our own clouds and databases, we've neutralized the risk of standing privileges, ensuring our own 'keys to the kingdom' are never left exposed.

Girish Manghnani
Girish Manghnani
Managing Partner, Tech Inspira

The problem with permissions is a lot of times, the gaps are left open due to oversights from inside the organization itself. With Cloudanix's CIEM, we get a complete view of user permissions and access. This enables us to update the permissions, reducing the attack surface.

Nilesh Pethani
Nilesh Pethani
Application Architect, iMocha

In the world of Fintech, trust is our currency. Cloudanix provided the frictionless visibility we needed to secure our EKS workloads across AWS, ensuring we stay audit-ready for SOC2 and GDPR without slowing down our engineering velocity.

Amol Naik
Amol Naik
Head of Security & Infrastructure, HugoHub

Cloudanix delivered value within 5 minutes of onboarding. Continuous monitoring, timely detection, and excellent documentation helped us attain a great cloud security posture.

Divyanshu Shukla
Senior DevSecOps, Meesho

Technology strategies and business strategies are in a state of constant change which includes centralization and decentralization of responsibilities. Regardless of strategic shift, we still have intellectual property to protect. Cloudanix are critical partners for us in our public cloud security posture across our three cloud providers.

Jerry Locke
Jerry Locke
Senior Director Global Solutions Engineering, Eversana

Cloudanix has been amazing. They opened up a common Slack channel with us — and it feels like we are talking to our own team and getting things done with Cloud security. The support team is always available, friendly, helpful, and ready to go out of their way.

Satish Mohan
Satish Mohan
CTO, Airgap Networks

Beyond just access management, Cloudanix CSPM has given us a unified view of our AWS environment. The real-time alerting and anomaly detection allow us to prevent any untoward activity before it happens, which is critical for a marketplace connecting 50+ financial institutions.

Okesh Badhiye
Okesh Badhiye
Head of Technical Engineering, Finfinity

For a Fintech company, data is our most valuable — and most sensitive — asset. Cloudanix DAM hasn't just improved our visibility; it has given us control. The ability to mask data and prevent unauthorized queries in real-time is a game-changer for our compliance and customer trust.

Jiten Gala
Jiten Gala
President Engineering and Product, Kapittx

Our clients, especially in the Middle East financial sector, demand absolute accountability. Cloudanix JIT Cloud has been a competitive differentiator for us, allowing us to provide secure, governed access to customer accounts that meet their strictest audit and compliance requirements.

Girish Manghnani
Girish Manghnani
Managing Partner, Tech Inspira

Cloudanix is always on my team's lips because of its exceptional support. Be it a small or big query, Cloudanix has gone above and beyond to resolve them. This one's a keeper for us.

Sujit Karpe
Sujit Karpe
CTO, iMocha

For a long-lasting partnership, great support goes a long way. Cloudanix has delivered exceptional support whenever required. Their edge is their team is always ready to go beyond to solve any issues that we have. This speaks volumes about the culture at Cloudanix.

Akash Maheshwari
Akash Maheshwari
Co-founder, MoveInSync

Beyond the technology, Cloudanix feels like an extension of our own team. Their willingness to stand up a dedicated Middle East tenant for us and provide exceptional support at a sensible price makes them a long-term partner for Hugosave.

Surya Tamada
Surya Tamada
CTO, HugoHub

The real-time notifications that Cloudanix provides are a real lifesaver. Their adaptive notifications ensure that my team stays productive and doesn't get interrupted all the time.

Digvijay Singh
Staff Security Engineer, Meesho

The whole point in technological evolution is to help improve the world we live in. We must protect that and to do so requires an effective and efficient security strategy. The Cloudanix team helped make our public cloud security posture management strategy a reality. The symbiotic relationship we have allows for a continuous feedback loop which is how business should operate.

Larry Wheat
Larry Wheat
Staff Solutions Engineer, Eversana

Ready to see your graph?

Connect a cloud account in under 30 minutes. See every finding rooted in identity, asset, and blast radius — with a fix path attached.

Book a Demo