Analyze local artifacts
Point SBOMFlow at a real build or product directory. It reads source, lockfiles, embedded build manifests, configuration, and any local evidence you supply.
Deterministic cybersecurity evidence engine
SBOMFlow turns real builds, SBOMs, vulnerability data, reachability checks, release gates, and human review into traceable evidence for EU Cyber Resilience Act readiness workflows.
$ sbomflow audit . --output evidence --zip ✓ scan components · dependency edges · file hashes ✓ sbom cyclonedx-sbom.json · spdx-sbom.json ✓ vulns offline sample feed · CVE-SAMPLE-* ✓ cra annex i (2024/2847) · observed vs reviewed ✓ gate informational — non-blocking by default ✓ bundle evidence/evidence-bundle.html ✓ validate structural checks passed
The problem
When a connected product ships into the EU, its security evidence is spread across build logs, SBOM tools, advisory feeds, trackers, spreadsheets, PDFs, consultants, and manual reviews. Assembling it at release time is slow — and little of it traces back to the exact build.
Connected-device teams don't need another paragraph of AI-generated compliance text. They need to answer concrete questions at release time: what shipped in this build, which vulnerabilities actually matter, what evidence exists, who reviewed it, and what changed since the last release.
Every answer has to trace back to a specific build artifact — and to the human who accepted it.
What SBOMFlow is
SBOMFlow observes; humans review. It derives evidence from real product files and builds, not from a prompt. Today it is a CLI-first foundation for connected-device, embedded, firmware, and product-security workflows.
Stable IDs, SHA-256 file hashes, and reproducible SBOM identity. The same inputs produce the same artifacts on every run.
The standard-library core runs in locked-down CI and customer VPCs with no paid APIs. Network calls happen only when you explicitly request them.
Machine-observed status is kept separate from human review status, which defaults to unreviewed. Observed evidence is never collapsed into a compliance conclusion.
sbomflow.yaml config.west.yml.CVE-SAMPLE-*), or the real OSV API with --use-osv.--fail-on-* policies.artifact-manifest.json for provenance.Who it's for
Embedded Linux, industrial IoT, robotics, and firmware-driven products heading into the EU market.
Connect build outputs, firmware manifests, lockfiles, and security tests to release evidence.
Triage vulnerabilities, reachability, VEX decisions, and evidence gaps from real artifacts.
Prepare structured evidence and technical-documentation workspaces without overclaiming.
Use deterministic artifacts and explicit gates to support repeatable release decisions.
Assemble traceable, build-backed evidence for EU Cyber Resilience Act workflows.
Best fit today: 50–500-person embedded Linux or industrial IoT manufacturers with firmware CI and product-security ownership, preparing for CRA obligations. SBOMFlow is aimed at connected and embedded products — not only web apps.
How the workflow works
Point SBOMFlow at a real build or product directory. It reads source, lockfiles, embedded build manifests, configuration, and any local evidence you supply.
Identify components, observed dependency edges, and high-precision evidence signals — exact file names, config keys, and CI action references, not vague prose.
Emit CycloneDX and SPDX SBOMs and SHA-256 hash every scanned file, so each piece of evidence traces back to the specific bytes it came from.
Match advisories and — only when you ask — enrich with OSV, CISA KEV, and FIRST EPSS. Reachability stays conservative context, never an exploitability verdict.
Connect machine-observed signals to the versioned Annex I requirement model, keeping manual-only areas explicitly separate rather than guessed.
Observed status never becomes acceptance. VEX not_affected / fixed and evidence acceptance come only from human review files.
Write the evidence pack, release gate, issues, reviewer bundle, and audit log — reproducible outputs for a release decision a human still owns.
Current foundation
SBOMFlow is a working alpha foundation, not a finished platform. The point of this stage is a correct, deterministic core — so later work can't quietly become an untestable AI wrapper. There is no UI yet; the CLI and release-gate workflow come first.
What it's trying to become
The aim is to help manufacturers move from one-off compliance scrambles to repeatable, source-backed evidence on every release.
Build analysis, SBOMs, vulnerability context, CRA Annex I mapping, release gates, and reviewer handoff — offline and tested.
Roadmap items are directional and not yet available. They are drawn from the project's development plan; order and scope may change. Nothing here implies a delivery date or a compliance guarantee.
Principles
These are engineering invariants for the project — the reasons SBOMFlow stays trustworthy instead of becoming compliance theater.
Reports are engineering gap assessments, not conformity claims.
AI may draft or explain; evidence and humans decide. Core runs make no required model calls.
SBOMFlow never asserts a product is CRA-compliant or legally conformant.
Only explicit --use-osv / --use-kev / --use-epss paths may reach out.
Every report states its data source; scanned files are SHA-256 hashed.
Machine-observed status never becomes human acceptance on its own.
VEX not_affected / fixed and acceptance come only from human review.
The offline feed is labelled non-real (CVE-SAMPLE-*) and never treated as real.
Example artifacts
Each analyze run writes a fixed set of deterministic files. They are observed evidence pending human review — not proof of compliance.
13 files are written on every analyze run; the marked artifacts are opt-in. The technical-documentation pack and CRA Article 14 drafts are also opt-in — any declaration output is an UNSIGNED DRAFT.
FAQ
No. SBOMFlow is a deterministic evidence engine, not a compliance certification. It produces engineering gap assessments and traceable artifacts to support CRA-oriented work. It makes no conformity claim, and qualified human review is always required.
No. The engine observes; humans review and decide. Machine-observed status defaults to unreviewed, and acceptance, VEX not_affected/fixed, and any legal interpretation come only from people.
No — not for baseline operation. It runs offline with a standard-library core and no paid APIs. Network calls happen only when you explicitly enable OSV, CISA KEV, or FIRST EPSS, and customer code is not sent to third-party services by default.
No. Evidence comes from real files, builds, SBOMs, vulnerability data, and human decisions. AI may help draft or explain, but it is never the source of truth — and core runs make no required model calls.
No. SBOMFlow never files, transmits, submits, or signs a report, and never contacts a CSIRT, ENISA, or the Single Reporting Platform. CRA Article 14 outputs are always UNSIGNED DRAFTS for a human to complete and submit.
No. It is aimed at connected and embedded products — embedded Linux, industrial IoT, robotics, and firmware-driven hardware — with support for build systems like Buildroot, Yocto, and Zephyr alongside common package ecosystems.
Not yet. This is an early, deterministic alpha foundation (v0.2) with an offline test suite — not a finished enterprise platform. The CLI and release-gate workflow come first; a product UI is future work.
No. The default offline feed is a clearly-labelled sample (CVE-SAMPLE-*) for demos and tests. For real intelligence, enable OSV — and KEV/EPSS — explicitly. Those remain inputs for human triage, never automatic decisions.