Guide · DevSecOps and the CRA

DEVSECOPS AND SECURE SDLC

What DevSecOps is, which checks belong in development and why the Cyber Resilience Act asks for processes, not documents. SCA, SAST, DAST, SBOM and CI/CD gates.

What you will find on this page
  1. What DevSecOps is, and why the CRA requires it without naming it
  2. Shift-left: why security is settled in design, not before release
  3. Tool categories and what each one actually does
  4. False positives: the main reason a rollout dies
  5. SBOM in practice: formats, when it is generated, and the link to VEX
  6. Gates in CI/CD: what to block and what to merely report
  7. Vulnerability management after release: KEV, EPSS and CRA reporting
  8. Secure SDLC as a framework: where it meets the standards
  9. How we can help with this

What DevSecOps is, and why the CRA requires it without naming it

DevSecOps is neither a tool nor a role. It is a way of organising work in which security checks are part of the same delivery process as build and deployment: they run automatically, they run on every change, and their result has an owner who does something about it. The alternative is the model most companies are used to — security as a one-off gate before release, usually a penetration test and a report that development receives a week before the deadline.

The word DevSecOps appears nowhere in the Cyber Resilience Act (CRA), Regulation (EU) 2024/2847. The regulation is technology-neutral and prescribes no particular tool. What it does prescribe are activities that have to be repeated, and that is precisely the part a single pre-release check cannot cover.

This is clearest in the cybersecurity risk assessment. Under Art. 13(2) the manufacturer carries it out and takes its outcome into account in the planning, design, development, production, delivery and maintenance phases of the product; under Art. 13(3) it is documented and updated throughout the support period. A document written a week before an inspection will not evidence that — it has to be visible that it grew over time.

The same goes for Annex I Part II as a whole. It does not impose properties of the product, it imposes processes of the manufacturer. And processes cannot be evidenced with a template.

There is one more requirement that reads like a detail and yet presupposes a working process: the product is made available on the market without known exploitable vulnerabilities (Annex I Part I point 2(a)). You can only make that claim about your product if you know what it is made of and check it regularly against current data. The remaining Annex I requirements are summarised in the guide to the regulation.

Shift-left: why security is settled in design, not before release

Shift-left means moving security decisions as close as possible to the moment they are made — into requirements, design and writing code. The reason is mundane: the later a flaw is found, the more has been built on top of it. A fix in design is a change to a diagram. A fix after release is a code change, regression tests, a new version, a notice to customers and their own rollout plan.

The multipliers that circulate in slide decks — ten times more expensive in testing, a hundred times in production — come from studies that are old and methodologically shaky, and we are not going to repeat them here. The direction is beyond dispute, the number is not. The direction is enough to decide by.

More to the point, a number of the requirements in the regulation are properties of the design, not scanner findings. A secure by default configuration, minimising the data processed, limiting attack surfaces, the ability to securely remove and transfer data — those are architectural decisions (Annex I Part I point 2(b), (g), (j) and (m)). A scanner will find SQL injection. It will not find that the product ships with the same default administrator password for every installation, because technically that is working as intended.

Shift-left is sometimes read as “everything gets tested on the developer machine”. That is a misunderstanding. Some checks cannot be moved because they need a running application or a real environment — dynamic testing, configuration testing, a penetration test. Shift-left changes the order and the frequency, not the scope.

In practice the cheapest intervention in the design is the one that happens before the team starts writing. That is why we run threat modelling as a workshop over the real architecture of the product, not as a document written after the fact — its output can then serve as input to the risk assessment under Art. 13.

Tool categories and what each one actually does

There are a lot of acronyms and marketing material uses them loosely. Below, each category comes with three things: what it finds, what it does not find, and when it is worth having. The last item on the list — threat modelling — is not a tool but a discipline, and it is here deliberately: without it, the rest of the list only produces findings with no context.

The structure follows the way categories are split in the OWASP DevSecOps Guideline, which is a good starting point if you want to form your own view.

None of the categories covers another. SCA does not know your code, SAST does not know runtime, DAST does not know the structure, and a threat model will not find a typo. So it is worth introducing them gradually and in the order of what hurts most in your product — the order that comes out of our projects is in the timeline at the end of this page.

False positives: the main reason a rollout dies

This is the part tool vendors are not keen to mention, and it decides whether the whole rollout succeeds. The typical scenario looks like this: a company buys a platform, turns everything on, the first scan of an established codebase returns hundreds or thousands of findings, the team starts working through them, after two weeks realises that most of them are not exploitable in its context, and stops reading them. From that moment the security check in the pipeline is just a source of noise, and the first real finding disappears into it.

A false positive is not necessarily a fault of the tool. Often it is a correct finding without context — a vulnerability in a library whose affected function is never called in your product; a weak random number generator used for something that is not security-sensitive; a missing header on an endpoint that is not public. The tool has no way of knowing that. You do — and that decision has to be recorded somewhere so it does not have to be made again on every run.

The other half of the truth: false negatives exist too. A clean pipeline is not proof that the product is secure — it is proof that this particular set of checks found nothing. A team that never says that out loud will sooner or later base its release decisions on a green tick.

In practical terms this means the first months after a tool is switched on are not about finding vulnerabilities but about tuning. Skip that phase and the team learns to ignore the checks — and getting that trust back takes far longer than the original rollout.

SBOM in practice: formats, when it is generated, and the link to VEX

A software bill of materials is a formal record of the components in the software elements of a product and of their supply chain relationships (Art. 3 point 39). The regulation asks two things of it: that it be in a commonly used, machine-readable format and that it cover at least the top-level dependencies of the product (Annex I Part II point 1). It prescribes no specific format; the Commission may specify the elements and the format by implementing act (Art. 13(24)), which as of 8 August 2026 has not happened.

In practice there are two formats. CycloneDX came out of OWASP; the current specification is version 1.7 of 21 October 2025 and it is standardised as ECMA-424 (2nd edition, December 2025). SPDX is maintained by the Linux Foundation; the current release is 3.0.1 from December 2024, while ISO/IEC 5962:2021 still recognises the older version 2.2.1 and the revision to the 3.0 line is at draft stage in ISO. Both formats satisfy the Annex I requirement and can be converted between, though not without loss.

More important than the choice of format is when the bill of materials is generated. It should be produced during the build, from what actually ended up in the artefact, and stored next to the artefact and with its version. A bill of materials assembled afterwards by scanning the repository is a different thing: it will not capture what the build added, what was resolved from the lock file and what sits inside the container base image.

And then there is the question of what to do with it. On its own a bill of materials is an inventory that goes stale the moment a new vulnerability is published. It only becomes useful once it is continuously matched against current vulnerability data — that is what turns “does this affect us?” into a question answered in hours rather than days. A bill of materials without that connection is a file, not a process.

Watch out for a confusion that comes up often around the bill of materials: an SBOM is not compliance with the duty to handle vulnerabilities. It is an input to it. The duty to address and remediate vulnerabilities without delay stands on its own in Annex I Part II point 2 and the bill of materials does not replace it — the difference between the two regimes is covered in the guide section on SBOM and vulnerability handling.

Gates in CI/CD: what to block and what to merely report

A gate is a point in the pipeline where the run stops because a check found something that must not go further. Deciding what will be a gate and what will only be a report is the most political part of the whole rollout, and it determines whether the team adopts the checks or starts working around them.

A hard gate on everything from day one has a predictable ending. Developers have a deadline, the gate stands between them and deployment, so a way around it appears: a flag that skips the check, an “exception” label that stops being removed, or moving the check into a job where failure is allowed. Formally the check still runs; in fact it guards nothing — and that is a worse starting position than no check at all, because nobody knows about it.

A workable rule is simple: block where the share of false positives is low and the consequence of letting something through is high. Report everything else first, measure it, and only then tighten if needed. And there does not have to be a single gate — a pull request is judged differently from a merge into the main branch, and both differently from a release, because only at release does it have to hold that the product goes to market without known exploitable vulnerabilities (Annex I Part I point 2(a)).

The pipeline itself is an asset that belongs in the scope of protection. The environment in which artefacts shipped to customers are built and signed is a classic supply chain target — and its compromise is exactly the case of a severe incident having an impact on the security of the product that has to be reported under Art. 14(3) from 11 September 2026 (details in the guide).

Vulnerability management after release: KEV, EPSS and CRA reporting

Release is not the end of the work; under the CRA it is where the longest-running part begins — the support period is at least five years, and issued security updates have to remain available for at least ten years from their issuance (Art. 13(8) and (9)). For that whole time the loop has to work: monitor, assess, fix, distribute, inform.

The hardest decision in that loop is whether a vulnerability is actively exploited. The definition in the regulation is stricter than everyday usage: it is a vulnerability for which there is reliable evidence that an actor executed malicious code on a system without the permission of the system owner (Art. 3 point 42). That is not the same as exploitable. The existence of a working proof of concept does not trigger the reporting duty by itself.

Two public sources are used for this decision and it helps to know what each of them means. The KEV catalogue run by the US agency CISA lists vulnerabilities with an assigned CVE for which there is evidence of active exploitation and a known remediation. It is a strong external signal, but by its nature it is delayed, incomplete and oriented towards the US environment — absence from KEV is not evidence that a vulnerability is not being exploited.

EPSS from FIRST is something entirely different: a statistical model that estimates daily the probability that a published vulnerability will be exploited in the wild within the next 30 days. The current model is version 4 from March 2025. EPSS is a prediction, not an observation — excellent for ordering the remediation queue and unusable as the trigger for the 24-hour deadline under Art. 14. That deadline is triggered by knowledge of a fact, not by a probability.

In practice the first evidence is usually something of your own: telemetry from the product, a customer report, a finding from incident response, or a message arriving at the contact address for reporting vulnerabilities under Annex I Part II point 6. Which is exactly why that address should not be just a line on a website.

Reporting under Art. 14 becomes an operational duty on 11 September 2026, with deadlines of 24 hours, 72 hours and 14 days, and one month for incidents. What exactly goes into each report, who it is submitted to and when each deadline starts is covered in the guide section on reporting. This is not a process a team should be running for the first time for real.

Secure SDLC as a framework: where it meets the standards

DevSecOps is the operational half of the matter — what runs, when and with what result. Secure SDLC is the other half: the framework that says which activities exist in the lifecycle at all, who owns them and how you tell they are being done well. Without the framework you get a collection of tools you cannot evidence to anyone; without the operations you get documentation that does not match reality.

There are several frameworks and they are not competitors — each answers a different question. Below are the four most used in the European and industrial context, briefly, and with what each is good for.

One thing holds for all of them and is worth knowing in advance: none of these frameworks creates a presumption of conformity with the CRA. That arises solely from applying a harmonised standard whose reference has been published in the Official Journal (Art. 27(1)), and as of 8 August 2026 no such standard exists for the CRA. A certificate is a good foundation and evidence of established processes, not a substitute for conformity assessment.

A practical recommendation: choose the framework not by which one is “right” but by whom you will be evidencing what to. IEC 62443-4-1 for an industrial customer, SSDF for a US buyer, and for CRA surveillance your own risk assessment and technical documentation. The relationship between standards and regulation is covered in the guide to standards, and the standing of certificates under the CRA in the CRA FAQ.

How we can help with this

The previous sections describe what gets done. This one describes what we do with clients and in what format. The offering is split into separate parts on purpose — most companies do not need all of it, they need the two or three pieces that are missing.

We work with what you already have. If a tool in the pipeline makes sense, we tune it instead of replacing it. We have no partnership or commission arrangement with vendors, so our recommendations are neutral and follow your environment, and we have no reason to push you towards any particular tool; we can supply and resell a licence, but that is not our target business — we do not rule it out, we simply do not build on it. Nor do we replace your development team — in the end the checks and processes have to be run by the people who build the product, otherwise they last about a quarter after we leave.

There are two formats of cooperation: a bounded assessment with a deliverable and a deadline, or a longer engagement with regular capacity when you want to run the rollout gradually and with someone on hand. What each of them involves is described on the Security Assessment page; scope and price depend on how many products and teams it has to cover.

The rollout order that works for us

This is not a requirement of the regulation, nor a standard. It is our estimate from projects — roughly a product team of 5 to 15 people with one main product and an existing CI. The durations are rough, the steps overlap and the order shifts depending on what you already have in place. The point of the list is different: to show that this is introduced piece by piece, and what should follow what.

Step 1 · 1–2 weeks
Inventory. What you actually ship, in which versions, what it is made of, where it is built and who signs it. Without this there is no point starting the first scanner — the findings will have nothing to attach to.
Step 2 · 1 week
Secrets scanning and rotation of what it finds. The check in a pre-commit hook and on the server, a pass through history, rotation of everything found. Fast, cheap and with a low share of false positives — a good first step also because the team sees the point straight away.
Step 3 · 2–4 weeks
SCA and SBOM generation during the build, in report-only mode for now. This produces the baseline and the first realistic sense of the volume of findings. It is also where the format of the bill of materials and its storage get decided.
Step 4 · 2–3 weeks
Threat model of the main product. It comes deliberately after the inventory — without it you model an idea rather than reality. Its output determines what is worth testing at all in the later steps, and it is usable as input to the risk assessment under Art. 13.
Step 5 · 4–8 weeks
Static analysis over the diff in pull requests, rule tuning, baseline suppression. The longest and most delicate step of the whole series: this is where the team either accepts the checks or learns to skip them.
Step 6 · 2–4 weeks
Container image and IaC scanning, artefact signing and dependency integrity checks. Along with the first hard gates — on secrets and on unsigned artefacts, that is, where the noise is minimal.
Step 7 · 4–6 weeks
Vulnerability management process after release. Triage and deadlines, the contact address and the coordinated disclosure policy, VEX, connecting the bill of materials to vulnerability data, monitoring for active exploitation. The ability to report under Art. 14 follows from this.
Step 8 · 2–3 weeks
Dynamic testing against staging in a nightly run, with an interface description for APIs to get the coverage. A penetration test as an independent check of what the pipeline does not catch — not as its replacement.
Ongoing
Tightening the gates and rehearsing reporting. Hard gates are switched on one category at a time and always only after that check has run in report-only mode for weeks. Reporting under Art. 14 is rehearsed, not attempted for the first time during a real event.

Official sources

The subject-matter claims about obligations and dates on this page are based on the following sources, as of 8 August 2026. This page does not replace the text of the legislation.

Regulation (EU) 2024/2847 (Cyber Resilience Act) ↗ Authentic text of the regulation. Risk assessment and manufacturer obligations in Art. 13, reporting in Art. 14, definition of an actively exploited vulnerability in Art. 3 point 42, product properties in Annex I Part I, vulnerability handling processes in Annex I Part II, technical documentation in Annex VII. OWASP DevSecOps Guideline ↗ Open OWASP material on wiring security checks into the pipeline. The source of the split of tool categories used on this page: secrets scanning, SAST, SCA, IAST, DAST, IaC and infrastructure scanning, compliance checks. OWASP SAMM (Software Assurance Maturity Model) ↗ A maturity model for secure development. Five business functions (Governance, Design, Implementation, Verification, Operations), fifteen practices and three maturity levels. The source of the claims about the structure of the model. NIST SSDF — Secure Software Development Framework ↗ The NIST project page. The current published version is SSDF 1.1 in document SP 800-218 of February 2022, with the practice groups PO, PS, PW and RV. NIST SP 800-218r1 — draft of SSDF 1.2 ↗ The initial public draft of the revision published on 17 December 2025, with the comment period closed on 30 January 2026. The source of the claim that version 1.2 is not final as of 8 August 2026. CycloneDX — bill of materials specification ↗ A format that originated in OWASP. The current specification is version 1.7 released on 21 October 2025, standardised as ECMA-424 (2nd edition, 10 December 2025). The source of the format version data. SPDX — specification ↗ A Linux Foundation format. The current line is 3.0, with the latest release 3.0.1 from December 2024. ISO/IEC 5962:2021 recognises version 2.2.1; the revision to the 3.0 line is at draft international standard stage in ISO. CISA — minimum requirements for VEX ↗ The minimum elements of a VEX document and an overview of the carrier formats: CSAF, CycloneDX and OpenVEX. The source of the claims about the statuses and justifications used in VEX. CISA — KEV catalogue (Known Exploited Vulnerabilities) ↗ A list of vulnerabilities with documented active exploitation. Inclusion criteria: an assigned CVE, evidence of active exploitation and a clear remediation action. The catalogue is a US one and incomplete by its nature. FIRST — EPSS (Exploit Prediction Scoring System) ↗ A model estimating the probability that a published vulnerability will be exploited in the wild within the next 30 days. A score of 0 to 1 with a percentile, updated daily, current model version 4 from March 2025.
Content valid as of 8 August 2026

Consultation on secure development

Before you start picking tools,
it pays to know
what you are actually missing.

An introductory consultation over your development and your pipeline: what runs today, which of the CRA requirements it covers and in what order to introduce the rest. The output is a list of steps with an effort estimate. Write to us about what you build and where you got stuck.