I’m going to be direct: if your company ships software to EU customers and you don’t have an SBOM process in place, you’re already behind. The clock is ticking, and most teams I talk to haven’t even started.
What’s Happening
The EU Cyber Resilience Act (CRA), formally adopted in late 2024, requires that all products with digital elements sold in the EU must include a Software Bill of Materials (SBOM) by September 2026. This isn’t a suggestion. It’s law, with real penalties — up to EUR 15 million or 2.5% of global turnover, whichever is higher.
The CRA also introduces vulnerability reporting obligations: manufacturers must report actively exploited vulnerabilities to ENISA (the EU cybersecurity agency) within 24 hours of becoming aware of exploitation. Not 24 hours after you’ve analyzed it. Not 24 hours after your security team has a meeting. Within 24 hours of awareness.
What an SBOM Actually Is
For those who haven’t been tracking this: a Software Bill of Materials is a comprehensive, machine-readable inventory of every software component in your product. Every library, every dependency, every transitive dependency, and their exact versions. Think of it as a nutritional label for software — it tells you exactly what’s inside.
An SBOM should include:
- Component name and version for every dependency
- Supplier information for each component
- Dependency relationships — what depends on what
- Licensing information for compliance
- Known vulnerability identifiers (CVE references)
The two main standards are SPDX (Linux Foundation, ISO standard) and CycloneDX (OWASP). Both are acceptable under the CRA, and both have strong tooling ecosystems.
Most Companies Aren’t Ready
A 2025 survey by the Ponemon Institute found that only 47% of organizations have any SBOM generation capability, and of those, less than half generate SBOMs automatically as part of their CI/CD pipeline. That means roughly 75% of organizations are either doing this manually or not at all.
Manual SBOM tracking is essentially impossible at scale. A moderately complex web application might have 500+ direct and transitive dependencies. A microservices architecture with 50+ services? You’re looking at thousands of components, versions updating weekly, and a dependency graph that changes with every merge to main.
The Tooling Landscape
The good news is that tooling exists and is maturing quickly:
SBOM Generation:
- Syft (Anchore) — generates SBOMs from container images, file systems, and archives. Supports SPDX and CycloneDX. Open source and fast.
- cdxgen (CycloneDX generator) — language-aware SBOM generator that understands package managers natively.
- Trivy (Aqua Security) — originally a vulnerability scanner, now generates SBOMs as well. Good for container-heavy environments.
Vulnerability Scanning:
- Grype (Anchore) — scans SBOMs for known vulnerabilities. Pairs naturally with Syft.
- OSV-Scanner (Google) — uses the OSV database for vulnerability matching, good coverage across ecosystems.
Management & Compliance:
- GUAC (Google) — Graph for Understanding Artifact Composition. Aggregates SBOM data and provides queryable supply chain intelligence.
- Dependency-Track (OWASP) — SBOM management platform with vulnerability tracking and policy enforcement.
Why Tooling Alone Isn’t Enough
Here’s where most teams make a mistake: they think implementing SBOMs is a tooling problem. It’s not. It’s an organizational process problem.
You need:
- Automated generation — SBOMs must be generated on every build, not manually
- Storage and versioning — Every release must have a corresponding, versioned SBOM
- Continuous scanning — New vulnerabilities are disclosed daily; your SBOM from last week might have new CVEs today
- Reporting infrastructure — When you discover an exploited vulnerability, can you identify affected products within hours?
- Cross-team adoption — Every team must use the same tooling and processes, consistently
That last point is the killer. In every organization I’ve worked with, getting 100% adoption across all teams is the hardest part. There’s always one team that builds differently, uses a custom package manager, or has legacy services that don’t fit the standard pipeline.
My Warning
If you sell software or SaaS to EU customers, here’s my timeline recommendation:
- Q1 2026 (now): Start pilot implementation with one service. Choose your SBOM standard and tooling.
- Q2 2026: Roll out to all actively developed services. Integrate into CI/CD pipelines.
- Q3 2026 (deadline): Full coverage, vulnerability scanning active, reporting processes tested.
If you haven’t started by the end of this quarter, you’re going to be running a crash program that will cost you significantly more in engineering time and create compliance risk.
This isn’t the kind of thing you can bolt on at the last minute. Start now.
What’s your team’s SBOM readiness? I’d genuinely like to understand where the community stands on this.