Your SBOM stops at the package layer. Your AI stack doesn't.

Why traditional SBOMs miss the AI layer entirely, and what that gap means for your supply chain security.

SBOM tooling grew up. Point a scanner at your repo and it reads the lockfile, lists every npm and pip and cargo dependency, flags the known CVEs, and hands you a clean CycloneDX file. Compliance asks for an SBOM, you produce one. Good.

Then it stops.

It stops at the exact line where your software starts calling models.

Look at what a normal scan misses. Your app imports torch and transformers. It loads a model weight file from disk. It talks to the OpenAI API. It runs three MCP servers, one of which has filesystem access wide enough to read anything in the working tree. None of that lands in a standard SBOM. The dependency graph sees a Python package called openai and moves on. It has no concept of which model you called, where the weights came from, or what an agent is allowed to touch.

That is not a small gap. That is the part of your supply chain with the least history, the youngest tooling, and the fastest-moving risk.

What you'll learn in this series

The blind spot, concretely

Three things hide from a package-level scan.

Model provenance. You pulled a model. Which one, which version, hashed how. A requirements.txt line for transformers==4.x tells you the library. It says nothing about the weights you loaded at runtime or where they came from.

Data lineage. The dataset a model was tuned on carries its own license and its own governance baggage. Your SBOM has no field for it.

Agentic scope. This is the one people skip. An MCP server is not a passive dependency. It is a capability. Shell access, broad filesystem reach, network egress, unpinned tool versions. A package scanner records that you installed something. It does not record what that something is allowed to do once it runs.

You can have a perfect CycloneDX file and still have no idea that an agent in your stack can read every secret in the repo. The clean SBOM gives you a false sense of done.

Why this is happening now

Two years ago "what AI does your app depend on" was a fuzzy question with no standard answer. It has an answer now. CycloneDX, the OWASP standard published as ECMA-424, defines an AI/ML-BOM profile alongside the software one. The format exists. The hard part was never the schema. It was generating the thing without a human sitting down to inventory models by hand, which is stale the moment they finish.

That is the gap SBOMix fills. Same scan that produces your CycloneDX and SPDX files also detects the AI frameworks, hashes the model weights, catalogs the MCP servers and their scope, and writes a standalone aibom.json. One command. No flags. No separate tool you have to remember to run.

See your own blind spot

You don't have to take my word for the gap. Look at your own repo.

npx sbomix owner/repo

It clones, scans, and writes three files. The one to open first is aibom.json. If it comes back with models and MCP servers you forgot were in there, that is the point of this whole series. If it comes back empty, good. Now you have proof, not a guess.

Next post breaks down exactly what lands in that AI-BOM, field by field, and why the agentic scope section is the part worth reading twice.

The CLI is free and MIT licensed. Run it, then come back.

See your own blind spot

Start with the free CLI or try the hosted platform with a 14-day free trial.

Get started free →