Software inventory and SBOM
See which components your services actually run
The collector inventories the software inside running Linux applications, containers and pods, and records which components each process mapped, opened or executed. Tracix matches every release against OSV advisories, and exports any service as CycloneDX or SPDX, with VEX statements your team writes.
- CycloneDX · SPDX · OpenVEX
- Matched against OSV advisories
- Runtime evidence per component
How it works
Six steps from a running process to an SBOM
Inventory, matches, evidence and assessments stay tied to the exact build they describe, so an export says what that build contains and nothing more.
- 01EnableTurn on the software inventory profile when you install the collector on Linux hosts, Kubernetes or Docker.
- 02IdentifyThe collector finds applications in containers, pods and host services, and reads their package databases and language metadata without running anything.
- 03ObserveeBPF records the libraries each process maps and the code files it opens. Sampled CPU profiles show what ran.
- 04MatchTracix checks every release against OSV advisories, with KEV and EPSS beside each CVE and the fixed version when one is published.
- 05AssessYour team writes VEX statements for an exact build, picking from its matched advisories and citing the evidence behind them.
- 06ExportDownload CycloneDX, SPDX or OpenVEX, each checked against its pinned schema before it leaves.
Runtime evidence
Installed is not the same as running
For every component, Tracix records whether a process mapped it, opened it or ran it. Each kind of evidence stays separate, with the process, instance and build it came from, so nothing is overstated.
- eBPF sees a process map a native library or open a code file, such as a JAR, a Python module or a JavaScript file
- With continuous profiling on, sampled CPU stacks show which packages actually ran
- Vulnerability matches carry the same evidence: a package that ran stands out, and one never seen running is not marked safe
- Versions the metadata cannot show are marked unknown, never guessed
SBOM and VEX export
SBOMs that hold up when someone checks them
Export one build or up to 50 at once, as CycloneDX, SPDX or OpenVEX. Every document is validated against its pinned schema and cross-checked before you can download it.
Pinned versions
CycloneDX 1.7, SPDX 2.3 and 3.0.1, OpenVEX 0.2.0. No other version is substituted.
Validated first
A file that fails its schema or cross-checks is refused, not downloaded.
Matches beside your VEX
SBOM with VEX lists the matched advisories, without analysis. Statements come only from assessments people publish.
Never an empty VEX
A build with no assessment and no match says so, instead of exporting a file that reads as clean.
Coverage
Gaps are reported, never hidden
The collector says what it could not see: a reader with nothing to read, a probe that failed to attach, a restart. Missing evidence is never shown as a clean result.
- Every reader reports its own result, such as not present, partial or permission denied
- Restarts, dropped events and polling-only operation appear as gaps in the window they affect
- A release with no advisory source or no package URL reads not assessed, never no matches
- A snapshot is published only when every row it declares has arrived
Better together
The inventory lives next to the service it describes
Components appear on each service beside its traces and profiles, and come from the collector that already runs on your hosts.
- APM and distributed tracingThe Components tab sits on each service, next to its traces, errors and deployments.Learn more
- Continuous profilingSampled CPU profiles add the strongest evidence: the component appeared in a running stack.Learn more
- Threat detectionSigmaHQ rules run on the logs and endpoint events of the same Linux hosts.Learn more
Export formats
Every format pinned to one version
Pick what to export and in which format. Tracix never swaps in another version, and refuses a combination a format cannot carry.
| Format | Encoding | SBOM | VEX | SBOM with VEX |
|---|---|---|---|---|
| CycloneDX 1.7 | JSON | Yes | Yes | One document per build, VEX embedded |
| SPDX 2.3 | JSON | Yes | Not in this format | SPDX file plus an OpenVEX companion |
| SPDX 3.0.1 | JSON-LD | Yes | Yes, Security profile | One graph with native VEX |
| OpenVEX 0.2.0 | JSON-LD | No | Yes | The companion to SPDX 2.3 |
| Tracix inventory v1 | JSON | Inventory only | No | No |
Tracix inventory JSON carries provenance, relationships and coverage. Several builds download as one ZIP with a manifest, and the runtime evidence for the window can be added as its own file. SBOM with VEX lists matched advisories in CycloneDX and both SPDX versions; the OpenVEX companion carries only your statements. A VEX-only export needs at least one published assessment.
Does Tracix tell me which components have known vulnerabilities?
Which packages are matched?
Why does the Components tab hide the base image?
Which platforms does it support?
Does not observed mean a component is unused?
Does the collector pull images or run a scanner?
See what your services really run
Install the collector with the software inventory profile, then open any service's Components tab.