Software Bill of Materials with TIBET Provenance — every dependency traced, every build proven
Project description
tibet-sbom — Software Bill of Materials + TIBET Provenance
Every dependency traced. Every build proven.
The EU Cyber Resilience Act (CRA) requires Software Bills of Materials for all products with digital elements sold in the EU. The US Executive Order 14028 mandates machine-readable SBOMs for government software. Existing tools like Syft and CycloneDX generate dependency lists — but a list alone proves nothing about where a component came from, why that version was chosen, or what the build context was.
tibet-sbom adds TIBET provenance to SBOMs. Every dependency becomes a TIBET token with four dimensions:
| Dimension | SBOM Meaning |
|---|---|
| ERIN | Component name, version, hash, source registry |
| ERAAN | Parent component, dependency chain, jis: URI |
| EROMHEEN | Scan environment, timestamp, scanner version |
| ERACHTER | Why this component, why this version, build context |
Compatible Formats
- CycloneDX — OWASP standard, JSON/XML
- SPDX — Linux Foundation standard, ISO/IEC 5962
- TIBET — Full provenance chain per component
Installation
pip install tibet-sbom
With rich terminal output:
pip install tibet-sbom[full]
Quick Start
from tibet_sbom import SBOMGenerator
gen = SBOMGenerator()
sbom = gen.scan("/path/to/project")
print(f"Found {len(sbom.components)} components")
print(f"TIBET chain: {sbom.tibet_chain_length} tokens")
# Export as CycloneDX
cyclonedx = gen.export_cyclonedx()
# Export with full TIBET provenance
tibet = gen.export_tibet()
CLI Usage
# Concept overview — what tibet-sbom does and why
tibet-sbom info
# Scan a project and print SBOM summary
tibet-sbom scan /path/to/project
# Export in specific format
tibet-sbom export /path/to/project --format cyclonedx
tibet-sbom export /path/to/project --format spdx
tibet-sbom export /path/to/project --format tibet
# Compliance check against CRA and EO 14028
tibet-sbom check /path/to/project
# Demo with sample project
tibet-sbom demo
All commands support --json for machine-readable output.
Why Not Just Syft/CycloneDX?
Those tools answer: "What dependencies does this project have?"
tibet-sbom answers: "What dependencies does this project have, where did each one come from, what was the build environment when it was scanned, and can you cryptographically prove the chain of custody?"
A dependency list without provenance is a checklist. A dependency list with TIBET provenance is evidence.
Regulatory Context
- EU CRA (Cyber Resilience Act) — Regulation (EU) 2024/2847. Requires manufacturers to identify and document vulnerabilities and components, maintain SBOMs, and provide security updates.
- US EO 14028 — Executive Order on Improving the Nation's Cybersecurity. Requires machine-readable SBOMs, supplier identification, and integrity verification for government software.
License
MIT — Humotica AI Lab 2025-2026
Part of the TIBET protocol family.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tibet_sbom-0.2.0.tar.gz.
File metadata
- Download URL: tibet_sbom-0.2.0.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f82327ce4401678409fd7de2e7c5f068bda8e326bf45a4b2b6eb313e23d4bc5
|
|
| MD5 |
65aa633e324be3123673037973ad9477
|
|
| BLAKE2b-256 |
8aae62b337cd1713a6af4fce74489df2b303559422a31ea908c2d31ed86653a4
|
File details
Details for the file tibet_sbom-0.2.0-py3-none-any.whl.
File metadata
- Download URL: tibet_sbom-0.2.0-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28db818afbf8ef8a6aaf1f81c9ccb407421a1aa4f8f5986e8ed29f1578b73cdb
|
|
| MD5 |
e77f636c2a95f76e2c9ad1b0367dbfad
|
|
| BLAKE2b-256 |
61fe075b2391315834b61434e03c6491e365ad1134828ba59d3ca3c64ccd0ec1
|