Module 0: CVEs, SBOMs, and the Patch Workflow — Foundations
Duration: 5 minutes
Before diving into Lightwell's automation, this module establishes the foundational concepts that make the rest of the lab meaningful: what CVEs are and how severity is scored, what SBOMs are and why they matter, and why traditional patch workflows take weeks.
There is nothing to run here. Read it through, then start Module 1.
What is Red Hat Lightwell?
Lightwell is a joint initiative between Red Hat and IBM focused on securing the open source software supply chain. It extends Red Hat’s proven model of enterprise open source maintenance by providing access to security remediations and mitigations far beyond our traditional product footprint.
In practice, that means remediated rebuilds of open source components. When a CVE lands against a widely used library, Red Hat rebuilds the affected version with the fix applied, signs it, and publishes it together with machine-readable metadata describing which CVEs that rebuild resolves. The rebuild keeps the upstream version number and the original API, with an .rhlw suffix marking it as remediated — so adopting it is a version bump rather than an upgrade.
That matters because the slow part of patching is rarely the patch. It is finding a fixed version you trust, or backporting one yourself, and then proving to everyone downstream that it is safe to take. Lightwell removes that step. This lab exists to show what you can build once it is gone: if a trustworthy fixed artifact simply arrives, remediation becomes plumbing — notice the new build, work out which applications use the component, raise the change, ship it. The rest of this lab automates that plumbing two different ways.
How Lightwell Delivers Remediations
Lightwell publishes remediated artifacts through Red Hat secured repositories that you pull into your build alongside the public repositories you already use. When an eligible open source vulnerability is addressed, the signed rebuild lands in those repositories automatically — no manual download, no backporting on your end.
Module 1 introduces Lightwell as a simulated repository inside your own artifact manager. From there on, every remediation you see begins as an artifact landing in it.
What is a CVE?
A CVE (Common Vulnerabilities and Exposures) is a public identifier for one specific flaw in one specific piece of software — for example CVE-2023-24998, a denial-of-service in Apache Commons FileUpload. The identifier is just a label; the useful part is the metadata attached to it.
Severity is scored with CVSS (Common Vulnerability Scoring System), which produces a number from 0.0 to 10.0 and a band:
| Band | CVSS | Typical expectation |
|---|---|---|
Critical |
9.0–10.0 |
Patch immediately, out of cycle |
High |
7.0–8.9 |
Patch in days |
Medium |
4.0–6.9 |
Patch in the next scheduled release |
Low |
0.1–3.9 |
Patch opportunistically |
The crucial thing to understand is that CVSS scores a flaw, not your risk. The score is computed once, globally, by someone who has never seen your environment. A critical CVE in a library you ship but never call is not a critical risk to you. A medium CVE in your internet-facing payment path may well be. Everything in this lab exists to close that gap — to move from "a CVE exists somewhere in our estate" to "this CVE affects these three applications, and here is the patch".
What is an SBOM and Why Does it Matter?
A Software Bill of Materials is a machine-readable inventory of everything inside a build: every direct dependency, every transitive dependency, their versions, and their licences. Think of it as the ingredients list for a container image. The two common formats are CycloneDX and SPDX; this lab uses CycloneDX.
SBOMs matter because modern applications are mostly other people’s code. A Java service with twenty declared dependencies routinely resolves to several hundred actual artifacts. When a CVE lands against one of those transitive dependencies, the question "are we affected?" is genuinely hard to answer without an inventory.
Without SBOMs, answering it means grepping build files across every repository, and you will miss things — transitive dependencies do not appear in your pom.xml. With SBOMs, it is a database query: which SBOMs contain commons-fileupload at a version below 1.5?
declared"] D2["internal-doc-lib
declared"] T1["spring-web
transitive"] T2["commons-fileupload 1.4.0
transitive — CVE-2023-24998"] App --> D1 App --> D2 D1 --> T1 D2 --> T2 style T2 fill:#f8d7da,stroke:#b02a37,stroke-width:2px style App fill:#cfe2ff,stroke:#0d6efd
In this lab, SBOMs are stored and queried in Red Hat Trusted Profile Analyzer (RHTPA). In the quick win path you will generate SBOMs as part of the build; in the full automation path, RHTPA actively identifies which of your applications are affected by a given CVE.
A Note on VEX
An SBOM tells you a component is present. It does not tell you whether the vulnerable code is actually reachable. That is the role of VEX (Vulnerability Exploitability eXchange) — a supplier’s statement about whether a specific CVE genuinely affects a specific product.
Red Hat and other vendors publish VEX documents for their products. Customers can also generate VEX for their own applications and feed it into their scanners, so that known-safe components are not continuously flagged as vulnerable.
VEX is not directly demonstrated in this lab, but it is an important part of the broader supply chain story — it prevents SBOM data from drowning you in false positives.
The Traditional Patch Workflow — Why it Takes Weeks
A CVE is published. Here is what usually happens next:
-
Discovery — a scanner flags it, or someone reads a mailing list. Days can pass.
-
Triage — an engineer manually works out which applications pull the component in, often by searching repositories by hand. Transitive dependencies get missed.
-
Sourcing — someone finds a fixed upstream version, then checks whether it is compatible, whether the licence changed, and whether it is itself trustworthy.
-
Change request — a ticket is raised, assigned, queued behind other work, and waits for a change window.
-
Patch and build — a developer bumps the version, fixes whatever broke, and pushes. CI builds and signs.
-
Deploy — the change rolls through environments, each with its own approval gate.
-
Close — someone remembers to update the ticket and evidence the fix for audit.
Each step is individually reasonable. Together they routinely take weeks — and most of that time is not technical work, it is waiting, searching, and re-establishing context. Meanwhile the vulnerability is live in production.
Three things make it slow, and Lightwell attacks all three:
-
Finding what is affected is manual. Solved by SBOM data in RHTPA — a query, not an investigation.
-
Sourcing a trustworthy fix is manual. Solved by Lightwell, which publishes remediated, signed builds of open source components. You will see these as versions carrying an
.rhlw-NNNNNsuffix, for example1.4.0.rhlw-00001— a remediated build of1.4.0that keeps the original API. -
Producing and shipping the change is manual. Solved by the automation you are about to use — from event-driven triggers through merge requests to signed builds and automatic deployment.
Two Paths Through This Lab
This lab demonstrates two approaches to automating CVE remediation with Lightwell. Both use the same underlying infrastructure — they differ in how much automation and intelligence is applied.
Quick Win — Automated Dependency Updates
The simplest path. No AI, no orchestration. Renovate (an open source dependency update tool) watches your Lightwell mirror for new remediated versions and mechanically creates merge requests to bump your dependencies. Standard CI/CD handles the rest.
You will use this path to remediate the report-generator-app — a low-risk internal reporting service.
Full Automation — AI-Assisted Remediation
The enterprise path. An event-driven workflow queries RHTPA to find affected applications, dispatches AI coding agents running on OpenCode to write the change, and maintains a Snow ITSM ticket throughout. Whether a human signs off is decided by each application’s own policy file, not by the agent: low-risk applications merge automatically, high-risk ones wait for a reviewer.
You will use this path to remediate the wire-transfer-svc (high risk, needs your approval) and the benefits-mgmt-app (low risk, auto-approved by the AI).
What They Share
Both paths start with the same event (a remediated artifact arriving from Lightwell) and end the same way (a signed container deployed to production with an updated SBOM). Full automation adds orchestration, AI-powered risk assessment, and ITSM tracking on top of what the quick win path already provides.
| In this lab, deployment goes straight to production. Real-world customers typically add stages (test, staging, production), each with its own approval gate. |
Continue to Module 1: The Environment.