131% more reported CVEs per day in 2026 than last year.

Cybersecurity for Machinery Makers

Machines now ship with controllers, displays, telematics units and companion apps, most of them built by suppliers. From 2027 the Machinery Regulation and the Cyber Resilience Act both expect you to know what software is on each machine and to keep it secure for years. CRACI records what goes into every software build.

Two regulations, one question: what software is on the machine?

From 2027, a machine with a controller, an operator display or a data connection answers to two EU regulations. Both start from the same question: which software is on this machine, version by version, and what is inside it.

  1. Cyber Resilience Act reporting of actively exploited vulnerabilities and severe incidents applies.
  2. The Machinery Regulation, (EU) 2023/1230, applies and replaces the Machinery Directive.
  3. The Cyber Resilience Act, (EU) 2024/2847, applies in full.

Machinery Regulation

Two essential health and safety requirements in Annex III deal with cybersecurity:

  • 1.1.9, protection against corruption. Connecting another device to the machine, directly or remotely, must not lead to a hazardous situation. Software and data that are critical for the machine's compliance with the essential health and safety requirements must be identified and protected against accidental or intentional corruption. The machine must identify the software installed on it that it needs to operate safely, and provide that information at all times. It must also collect evidence of legitimate or illegitimate interventions in that software or its configuration.
  • 1.2.1, safety and reliability of control systems. Control systems must withstand reasonably foreseeable malicious attempts by third parties that lead to a hazardous situation. Under 1.2.1(f), they must keep a tracing log of interventions and of the versions of safety software uploaded after the machine was placed on the market, for five years after the upload.

Cyber Resilience Act

A machine with a data connection, or a part of it sold on its own, is a product with digital elements. The manufacturer must exercise due diligence on the third-party components it integrates, draw up an SBOM covering at least the top-level dependencies, handle vulnerabilities for the support period, which is at least five years unless the product is expected to be in use for less, and keep the technical documentation for at least ten years or for the support period, whichever is longer.

RequirementMachinery RegulationCyber Resilience ActWhat it needs from the software side
Know the installed software1.1.9: the machine identifies the software it needs to operate safely, at all timesAn SBOM covering at least the top-level dependenciesA record of every component in each software version
Protect it from corruption1.1.9 and 1.2.1: protect safety software and withstand malicious attemptsEssential cybersecurity requirements for the productKnown components, and builds that a poisoned dependency cannot reach into
Record changes and versions1.2.1(f): log of safety software versions uploaded after placing on the marketTechnical documentation for the product placed on the marketVersion history per build and per release
Handle vulnerabilitiesNot named as suchVulnerability handling for the support period; reporting since 11 September 2026Monitoring shipped components against new advisories
Keep the recordsTracing log: five years after each uploadTechnical documentation: at least ten years or the support periodSBOMs exported into the technical documentation

Does CRA compliance cover the Machinery Regulation?

Not automatically. The Cyber Resilience Act gives no presumption of conformity with the Machinery Regulation. Its recital 53 says that meeting the CRA's essential requirements could facilitate compliance with the Machinery Regulation's requirements on protection against corruption and on the safety and reliability of control systems. It also says that the manufacturer has to demonstrate this, for example by applying harmonised standards after a risk assessment, and that the conformity assessment procedures of both regulations still apply.

The harmonised standard being written for 1.1.9 is EN 50742, Safety of machinery: Protection against corruption. As of November 2026 it was a final draft, FprEN 50742, covering 1.1.9 and the related points of 1.2.1, and until a final version is cited in the Official Journal it gives no presumption of conformity. It combines the risk assessment of EN ISO 12100 with security concepts from IEC 62443, and accepts the consistent use of IEC 62443-4-1, IEC 62443-3-3 and IEC 62443-4-2 as an equivalent way to meet its protection goals. IEC 62443-4-2 sets the technical security requirements for control system components, graded by security capability level. In Germany, the test principles GS-IFA-M25 of July 2026 turn protection against corruption into 66 test criteria, using the terms of prEN 50742. One of them, T46, asks that the product can provide its installed software version and configuration on request. Answering that for every configuration takes a record of what each software version contains.

The Machinery Regulation has a presumption of its own, and it runs through a different route: EU cybersecurity certification schemes adopted under the Cybersecurity Act, Regulation (EU) 2019/881. A certificate or statement of conformity under such a scheme presumes conformity with 1.1.9 and 1.2.1 as far as it covers those requirements.

So one risk assessment and one set of evidence can serve both regulations, but you show conformity to each. If your machine has a data connection, plan for both. The software evidence, meaning SBOMs, vulnerability records and the update history, is the part they share.

In January 2026 machinery industry associations asked for 1.1.9 and 1.2.1(f) to be postponed, and in March 2026 for them to apply from the CRA's date, 11 December 2027. It is a request, not law: as of November 2026 no postponement had been adopted. The dates on this page are the dates in the regulations.

Which machines and which software are in scope

  • Construction, materials-handling, mining and industrial machines fall under the Machinery Regulation, and under the CRA as well when the machine or its parts have a data connection.
  • Agricultural and forestry tractors covered by Regulation (EU) No 167/2013 are excluded from the Machinery Regulation, except for machinery mounted on them. The CRA's list of exclusions does not name that regulation, so a connected tractor can be in CRA scope.
  • Road vehicles type-approved under Regulation (EU) 2019/2144 are excluded from the CRA.
  • Components sold on their own. The CRA also applies to software and hardware components placed on the market separately. A supplier that sells an ECU or a telematics unit on its own is a manufacturer under the CRA in its own right. Where the unit is only built into the machine, the machine maker carries the obligation for the whole machine and must exercise due diligence on the supplier's component.

This is general information, not legal advice. Check your own product's classification.

Inside one machine, the software comes from different places, and only the team that builds a piece of software can say reliably what is in it. As we hear from machine makers, bare-metal ECUs hold little open source, while Linux, Android and Windows software holds a lot.

SoftwareTypical originOpen source shareWho can produce a reliable SBOMWhere CRACI fits
Machine controller applicationIn-house or supplierVariesThe team that builds itWhen it is built on GitHub Actions on Linux
ECU firmware (hydraulics, steering, power)SupplierUsually low: proprietary and model-generated codeThe supplierNot directly: through the supplier's SBOM, added to CRACI
Linux display or HMI imageIn-house or supplierHighThe team that builds the imageYes: Yocto and other embedded Linux builds
Telematics gatewayIn-house or supplierHighThe team that builds itYes, when it is built on GitHub Actions
Diagnostic and companion appsIn-houseHighThe app teamnpm, PyPI, Go and Cargo builds yes; Android with Gradle, iOS and Windows apps not today
Cloud back endIn-houseHighThe service teamYes, for builds on GitHub Actions

Why machinery is harder than consumer electronics

Low volume, high variety. A machine maker can have hundreds of platforms on the market, sell a handful of units of each per year, and configure many machines to order. Every configuration is a different set of software, so an SBOM for every build matters more than an SBOM for every product line.

Long lifetimes. Machines stay in service for a decade or more, while suppliers change or go out of business. The record of what went into a software version has to be made when it is built, because it cannot be reconstructed years later.

Supplier software dominates, and supplier SBOMs are often poor. We hear of supplier SBOMs with missing components, no package URLs or CPEs, no licenses and no hashes, some written by hand and failing schema validation. Binary analysis of a flashed ECU is a stopgap: it guesses at the contents instead of recording them.

The risk sits in the connected layers. Much ECU logic is generated from models and contains little open source. The open source, and the network exposure, concentrate in the Linux, connectivity and app layers, so spend your effort there first.

An illustrative example: the software stack of a fictional wheel loader platform, from the cloud down to the ECUs.

  1. Cloud back end and companion appIn-house. Mostly open source and network-facing. Cyber Resilience Act.
  2. Telematics gatewayEmbedded Linux, mostly open source, connected to the mobile network. Cyber Resilience Act, and 1.1.9 for the remote connection.
  3. Operator displayEmbedded Linux image with a UI framework, mostly open source, connected to the machine bus and to service tools. Cyber Resilience Act and 1.1.9.
  4. Machine controllerIn-house application on a supplier platform, safety-relevant. 1.1.9 and 1.2.1, and the Cyber Resilience Act where it can be reached over a connection.
  5. Hydraulic, steering and engine ECUsSupplier firmware, proprietary and model-generated, little open source, safety-relevant. 1.1.9 and 1.2.1; the Cyber Resilience Act through the machine.

The open source and the network exposure sit in the top three layers, which is also where your own build pipelines usually are. Start there.

How to prepare, step by step

Machine features such as software identification on the machine and intervention logs are part of the machine's design. The steps below cover the software that goes into it.

  1. Inventory the software on each machine platform. List every piece of software on each platform and configuration, and mark what is relevant to safety. This is the starting point for 1.1.9, which asks the machine to identify the software it needs to operate safely.
  2. Separate what you build from what you integrate. Software your teams build and software that arrives from suppliers need different evidence routes. For the first you produce the record yourself; for the second you set requirements and check what you receive.
  3. Record every release build of your own software. Produce an SBOM from every release build, keep it per version, and monitor it for new vulnerabilities for the whole support period.
  4. Set a minimum standard for supplier SBOMs. Agree the format and the fields you need, such as package URLs or CPEs, licenses and hashes, validate every delivery, and send it back when it fails. See how suppliers answer customer SBOM requests.
  5. Plan retention for the machine's life. Keep CRA technical documentation for at least ten years or the support period, whichever is longer, and the 1.2.1(f) safety software log for five years after each upload. Plan it for the life of the machine, not the length of the project.
  6. Run vulnerability handling and reporting. CRA reporting of actively exploited vulnerabilities and severe incidents has applied since 11 September 2026. Decide who triages findings, who owns each fix and who reports.
  7. Lock down the build itself. Run each build in an isolated environment that can reach only the sources it needs, so a compromised dependency cannot reach your source code, secrets or release.

Where CRACI fits

CRACI runs your GitHub Actions builds on its own runners and records what goes into each one. For a machine maker, that covers the software your teams build and the supplier SBOMs you collect.

Build records for the machine software you build

Run your controller services and your Linux display and telematics images, Yocto and other embedded Linux builds included, on CRACI's GitHub Actions runners, up to 32 vCPUs, on x86-64 or native ARM64. While the build runs, CRACI records every package and file it pulls in, including the hidden dependencies no recipe or lockfile lists, and marks each job's SBOM with a completeness state. In a core-image-sato build, CRACI's SBOM had every component in Yocto's own SBOM plus 88 it missed, with a package URL for each of the 653 Rust crate versions. More on Yocto builds on CRACI.

Embedded builds on CRACI runners Yocto and BitBake builds such as core-image-sato run on CRACI runners at size 32. Like every CRACI job, the build runs under an egress policy, records what it fetched and its provenance data. Embedded build bitbake core-image-sato Yocto and BitBake; pi-gen for Raspberry Pi OS CRACI runner, size 32 32 vCPU in an isolated virtual machine Egress policy Fetches recorded Provenance Firmware image SBOM recorded during the build

Supplier SBOMs next to your own

Add SBOMs from your ECU, display and telematics suppliers, and the bought-in components are monitored alongside the software you build. When a new vulnerability lands in a supplier's Linux stack, it shows up in the same record as your own.

Vendor SBOMs tracked next to your own SBOMs from your own builds and SBOMs added from your vendors are monitored in the same place, so bought-in components are re-evaluated against new vulnerabilities alongside your own dependencies. Your builds api-service SBOM web-app SBOM firmware SBOM Your vendors Payment SDK SBOM Camera module SBOM RTOS SBOM Monitored in one place Every SBOM re-evaluated as new vulnerabilities are published Third-party code tracked like your own dependencies Findings triaged and routed to the team that owns the fix

Which machines are affected, and since when

CRACI keeps re-evaluating monitored SBOMs as new vulnerabilities are published. Build history shows which builds contained the vulnerable dependency, direct or transitive, within your plan's retention, and the inventory view shows which software versions are deployed to which products. Security teams triage each finding and route it to the team that owns the fix, and a policy gate can keep a specific CVE out of every later build.

Vulnerabilities across everything you have deployed When a new vulnerability is published, CRACI re-evaluates the monitored SBOMs of your releases and vendor SBOMs, finds the affected version, and the inventory view shows which products that version is deployed to. The finding is triaged and routed to the team that owns the fix. New advisory published Long after the release shipped Monitored SBOMs re-evaluated Your release builds and your vendors' SBOMs Affected: Gateway firmware v1.8.4 Inventory: where v1.8.4 is deployed Product Deployed version Gateway Pro v1.8.4 Gateway Mini v1.8.4 Route the fix

Evidence for the technical file

CRACI supplies the software supply chain evidence your technical documentation needs: build-time SBOMs exported as CycloneDX or SPDX, with transitive dependencies, declared licenses and the vulnerabilities found in their components, plus vulnerability records and build history. For machines in CRA scope, CRACI prepares the content of the CRA notifications, and a person at your company submits them through the Single Reporting Platform. The conformity assessment, the EU declaration of conformity and the CE marking stay with you, the manufacturer.

Evidence for the conformity assessment CRACI supplies technical evidence: build-time SBOMs, vulnerability and remediation records, provenance and network traces, with SBOMs exported as CycloneDX or SPDX and the rest returned by the API. The manufacturer uses it in the technical documentation, runs the conformity assessment, by self-assessment or with a notified body, draws up the EU declaration of conformity and applies the CE marking. CRACI supplies the evidence Build-time SBOMs Vulnerability records Provenance Network traces The manufacturer's process Technical documentation Conformity assessment: self-assessment or notified body EU declaration of conformity CE marking CRACI does not assess, certify or manage the assessment

A build that reaches only what it needs

Each job runs in its own isolated virtual machine under an egress policy that is validated before the job starts and fails closed. With a default-deny policy, the build reaches your package sources and nothing else, and a connection to any other host is blocked and raises an alert.

An egress policy on the build network A build job connects to hosts in its egress policy, such as package registries and Git, and a connection to a host outside the policy is blocked. The policy is validated before the job starts and fails closed, and a violation sends an alert. Egress policy Default deny Validated before the job starts Fails closed · 24 source presets Build job on a CRACI runner npm registry allowed PyPI allowed Git over HTTPS allowed Unapproved host blocked Alert on policy violation Connections are recorded in the job's network trace

For suppliers of ECUs, displays and telematics units

Machine makers now set SBOM requirements for the software they buy, such as package URLs or CPEs, licenses, hashes and a format that passes validation, and send back files that fail. If you build on GitHub Actions, CRACI produces the SBOM from the build itself, so it lists what actually went into the release, including the components no lockfile names, with a package URL and declared license for every component. Check the export against the full list of fields your customer asks for. More on answering customer SBOM requests.

When CRACI is not the answer

CRACI fits the software you build. It does not fit these cases:

  • Not for a machine maker that only integrates supplier ECUs and builds no software itself. CRACI records builds; it cannot produce an SBOM for a binary someone else built. If almost all your software arrives flashed on supplier hardware, your tools are supplier SBOM requirements, SBOM validation and, as a stopgap, binary analysis, which CRACI does not do (see binary analysis compared with a build record). CRACI helps you through your suppliers' builds and by monitoring the SBOMs they give you.
  • Not for bare-metal or RTOS firmware built outside GitHub Actions, or built on Windows or macOS. CRACI runs GitHub Actions jobs on Linux runners today. Other CI systems, such as GitLab CI and Jenkins, and Windows and macOS runners are on the roadmap.
  • Not for Android companion apps built with Gradle, or for Java services. Maven and Java are on the roadmap, not supported today. iOS apps need macOS runners, which are on the roadmap too.
  • Not for machines already in the field whose software was built years ago. CRACI records builds as they run.
  • Not the controls on the machine. Identifying the installed software on the machine, collecting evidence of interventions and keeping the tracing log are machine features under 1.1.9 and 1.2.1. CRACI does not provide them, does not sign firmware and does not run the conformity assessment.
  • Not long-term archival by itself. Build records are kept for your plan's retention period. Export the SBOMs into your technical documentation for the ten-year horizon.

Machinery cybersecurity, explained

Common questions about the Machinery Regulation, the CRA and the software on a machine

When does the EU Machinery Regulation apply?

From 20 January 2027. Regulation (EU) 2023/1230 replaces the Machinery Directive on that date. The text first published gave 14 January 2027; a corrigendum corrected it to 20 January 2027. Machinery placed on the EU market from then on must meet its essential health and safety requirements, including the cybersecurity-related ones in Annex III, 1.1.9 and 1.2.1.

What are the cybersecurity requirements in the Machinery Regulation?

Annex III 1.1.9, protection against corruption: connecting another device must not create a hazard, safety-critical software and data must be protected, the machine must identify its safety-relevant software at all times and collect evidence of interventions. Annex III 1.2.1: control systems must withstand reasonably foreseeable malicious attempts and keep a tracing log of safety software versions uploaded after the machine was placed on the market.

Does the Cyber Resilience Act apply to machinery?

Yes, when the machine or a part of it is a product with digital elements, which in practice means it has a data connection. The CRA does not exclude machinery. Its reporting obligations have applied since 11 September 2026, and it applies in full from 11 December 2027, eleven months after the Machinery Regulation.

If a machine complies with the CRA, does it also comply with the Machinery Regulation?

Not automatically. There is no presumption of conformity between the two. The CRA says meeting its requirements could facilitate compliance with 1.1.9 and 1.2.1, but the manufacturer has to demonstrate it, and both conformity assessment procedures apply. The Machinery Regulation's own presumption runs through EU cybersecurity certification schemes. One set of evidence can serve both.

Does a machine maker need an SBOM?

For a machine in CRA scope, yes: the CRA requires the manufacturer to draw up an SBOM covering at least the top-level dependencies. The Machinery Regulation does not name SBOMs, but 1.1.9 asks the machine to identify the software it needs to operate safely, which is hard to keep accurate across many configurations without a record of every software version.

Who is responsible for the software in a supplier's ECU?

Both, in different roles. A supplier that places an ECU on the market on its own is a manufacturer under the CRA for that component. The machine maker is responsible for the whole machine and must exercise due diligence on the components it integrates, which is why machine makers now ask suppliers for SBOMs that meet a set standard.

Do tractors fall under the Machinery Regulation or the CRA?

Agricultural and forestry tractors covered by Regulation (EU) No 167/2013 are excluded from the Machinery Regulation, except for machinery mounted on them. The CRA's exclusions do not name that regulation, so a connected tractor can be in CRA scope. Check your own product's classification; this is general information, not legal advice.

Which CI systems and build machines does CRACI support?

CRACI runs GitHub Actions jobs on Linux runners, x86-64 and ARM64, from 1 to 32 vCPUs. Other CI systems, such as GitLab CI and Jenkins, are on the roadmap, as are Windows and macOS runners.

See what goes into your machine software builds

Book a demo and we will show every component your controller, display and telematics builds pull in, and which of them are vulnerable

Book a demo