A propos Compétences Expérience Services Blog Contact

Cyber Resilience Act : le chrono démarre le 11 septembre, voici le runbook Cyber Resilience Act: the clock starts on September 11, here is the runbook

Vendredi, un chrono réglementaire s'arme dans toute l'Union européenne. Il vient du Cyber Resilience Act, le règlement européen sur la cybersécurité des produits numériques. CRA pour la suite, et non, rien à voir avec ton compte rendu d'activité. La plupart des équipes ne savent pas encore qu'il les concerne.

TL;DR : à partir du 11 septembre 2026, le Cyber Resilience Act rend le signalement obligatoire. Une vulnérabilité activement exploitée dans ton produit te laisse 24 h pour l'alerte précoce, 72 h pour la notification, 14 jours pour le rapport final. Le vrai sujet n'est pas juridique. C'est ta capacité à savoir vite, qualifier vite et écrire vite. Voici le runbook côté pipeline.

Cet article est pour les éditeurs qui vendent du logiciel dans l'UE, surtout les petites équipes sans juriste interne. Je ne suis pas juriste : les dates et le périmètre viennent des sources primaires listées en bas.

Es-tu concerné ?

Le CRA vise les « fabricants » : ceux qui commercialisent dans l'UE un produit avec des éléments numériques. Du logiciel vendu, une app, un firmware, un objet connecté.

Le SaaS pur est en principe couvert par une autre loi, NIS2. Il retombe dans le CRA quand le service est nécessaire au fonctionnement d'un produit.

Les contributeurs open source individuels ne sont pas visés. Les fondations qui soutiennent des projets, appelées stewards, ont un régime allégé, sans amendes.

La conformité complète, marquage CE compris, attend décembre 2027. Le signalement, lui, commence ce vendredi.

Le chrono, concrètement

Deux événements déclenchent le signalement. Une vulnérabilité de ton produit activement exploitée, c'est-à-dire que quelqu'un s'en sert vraiment. Ou un incident grave qui touche la sécurité du produit.

Le signalement part vers ton CSIRT national et l'ENISA, par une plateforme unique, la Single Reporting Platform. Un CSIRT est l'équipe nationale de réponse aux incidents. En France, c'est l'ANSSI.

Et le chrono démarre au moment où tu en prends connaissance :

J0      : tu apprends l'exploitation active
< 24 h  : alerte précoce (produit, nature du problème)
< 72 h  : notification complète (évaluation, mesures prises)
< 14 j  : rapport final, une fois le correctif disponible
< 30 j  : rapport final pour un incident grave

Relis la première ligne. « Dès que tu en prends connaissance. » Tout l'enjeu tient dans ta capacité à en prendre connaissance tôt, et à le prouver.

Ce que ta pipeline sait déjà faire

La bonne nouvelle : si tu as une pipeline de sécurité sérieuse, la moitié du travail existe. Voici ce que j'installe chez mes clients depuis des années, et ce que ça couvre.

govulncheck surveille les vulnérabilités Go, et n'alerte que si ton code appelle vraiment la fonction touchée. Renovate maintient les dépendances à jour. syft génère un SBOM à chaque build. Grype ou Trivy scannent les images. gitleaks attrape les secrets.

Un SBOM est l'inventaire machine-readable de tout ce que ton produit embarque. Sans lui, tu ne peux pas répondre en 24 h à la question « es-tu affecté par la CVE X ? ». Avec lui, c'est une recherche.

Cette partie couvre « détecter vite » et « savoir ce que tu embarques ». C'est nécessaire. Ce n'est pas suffisant.

Ce que presque personne n'a

Le contenu CRA existant vient des cabinets d'avocats et des vendeurs d'outils. Aucun ne répond à la question d'équipe : que fait-on lundi matin ? Voici les cinq pièces qui manquent presque partout.

Une définition écrite de « en avoir connaissance » : quelles alertes comptent, sur quel canal elles arrivent, qui les lit, sous quel délai.

Un modèle de rapport pré-rempli : produit, version, CVE, nature de l'exploitation, mesures. À J0, tu remplis des trous, tu ne rédiges pas.

L'accès à la plateforme de signalement, créé avant l'incident. Découvrir un portail à J0 + 20 h est un scénario réel et évitable.

Une politique de divulgation coordonnée publiée : un contact sécurité joignable et une promesse de réponse. Le CRA l'exige, et c'est ta source d'alerte gratuite.

Et un exercice à blanc, chronomètre en main. Une fausse CVE, l'équipe déroule, tu mesures. C'est là que le runbook théorique casse, et c'est le but.

Le runbook que j'installe

AVANT (cette semaine)
- SBOM généré à chaque build, archivé par version
- scan vulnérabilités planifié, pas seulement sur push
- page de divulgation + contact sécurité publiés
- accès à la plateforme de signalement créé et testé
- modèle de rapport pré-rempli, rôles écrits

À J0 (prise de connaissance)
- qualifier : exploitation active ? produit dans le périmètre ?
- ouvrir l'incident, timeline écrite dès la première minute

Puis
- alerte précoce avant 24 h
- notification complète avant 72 h
- correctif, rapport final sous 14 jours, post-mortem

Rien d'exotique. C'est un plan de réponse à incident, avec des échéances imposées et un guichet unique. La difficulté n'est pas l'ambition, c'est l'avance de phase : tout se prépare avant.

La partie Go que personne ne traite

Un binaire Go statique embarque tout. Ton go.mod n'est pas ton SBOM : il liste ce que tu déclares, pas ce que tu livres.

# SBOM de ce qui est vraiment livré (format CycloneDX)
syft scan ./bin/app -o cyclonedx-json > sbom.json

# cette CVE te concerne-t-elle vraiment ?
govulncheck ./...

Le duo fait le triage des 24 premières heures. Le SBOM répond « est-ce embarqué ? ». govulncheck répond « est-ce appelé ? ». Deux réponses en minutes, documentées, à mettre telles quelles dans l'alerte précoce.

Honnêteté totale : je n'ai encore jamais déclenché de signalement CRA réel, personne ne l'a fait avant vendredi. Ce runbook est celui que j'installe, pas un retour d'incident. L'outillage en dessous, lui, tourne en production depuis des années.

La checklist avant vendredi

Une demi-journée suffit pour l'essentiel. C'est une bonne demi-journée.

  • Tu sais dire si ton produit est dans le périmètre du CRA, et pourquoi
  • Un SBOM machine-readable sort de ta CI à chaque build
  • govulncheck ou l'équivalent tourne en planifié, avec un humain destinataire
  • « En avoir connaissance » a une définition écrite : canal, lecteur, délai
  • Le contact sécurité et la politique de divulgation sont publiés
  • L'accès à la plateforme de signalement existe déjà
  • Le modèle de rapport est pré-rempli, les rôles sont nommés
  • Un exercice à blanc est daté dans l'agenda, chronomètre en main

Ce qu'il faut retenir

Le CRA ne te demande pas d'être parfait. Il te demande d'être rapide et documenté.

Une pipeline qui sait dire en une heure « voilà ce qu'on embarque, voilà si on est touché » rend les délais tenables. Sans elle, 24 h est un sprint perdu d'avance.

Le meilleur moment pour préparer un signalement, c'est quand tu n'en as pas à faire.

Tu veux une pipeline et un runbook prêts pour le CRA ? Parlons-en.

On Friday, a regulatory clock arms itself across the European Union. It comes from the Cyber Resilience Act, the EU regulation on the cybersecurity of digital products. CRA for short, and no, not the tax agency. Most teams do not know yet that it concerns them.

TL;DR: from 11 September 2026, the Cyber Resilience Act makes reporting mandatory. An actively exploited vulnerability in your product leaves you 24 hours for the early warning. Then 72 hours for the notification, and 14 days for the final report. The real subject is not legal. It is your ability to know fast, qualify fast and write fast. Here is the pipeline-side runbook.

This article is for software makers selling in the EU, especially small teams without in-house counsel. I am not a lawyer: dates and scope come from the primary sources listed at the bottom.

Are you in scope?

The CRA targets "manufacturers": anyone placing a product with digital elements on the EU market. Sold software, an app, firmware, a connected device.

Pure SaaS is in principle covered by another law, NIS2. It falls back into the CRA when the service is necessary for a product to work.

Individual open source contributors are not targeted. Foundations supporting projects, called stewards, get a lighter regime, without fines.

Full compliance, CE marking included, waits until December 2027. Reporting starts this Friday.

The clock, concretely

Two events trigger a report. A vulnerability in your product that is actively exploited, meaning someone is really using it. Or a severe incident affecting the product's security.

The report goes to your national CSIRT and to ENISA, through one portal, the Single Reporting Platform. A CSIRT is the national incident response team. In France, that is ANSSI.

And the clock starts the moment you become aware:

D0      : you learn about active exploitation
< 24 h  : early warning (product, nature of the issue)
< 72 h  : full notification (assessment, measures taken)
< 14 d  : final report, once the fix is available
< 30 d  : final report for a severe incident

Read the first line again. "The moment you become aware." The whole game is becoming aware early, and being able to prove it.

What your pipeline already covers

The good news: if you run a serious security pipeline, half the work exists. Here is what I have installed for clients for years, and what it buys you.

govulncheck watches Go vulnerabilities, and only alerts when your code actually calls the affected function. Renovate keeps dependencies current. syft generates an SBOM on every build. Grype or Trivy scan images. gitleaks catches secrets.

An SBOM is the machine-readable inventory of everything your product ships. Without it, you cannot answer "are you affected by CVE X?" in 24 hours. With it, it is a lookup.

That part covers "detect fast" and "know what you ship". Necessary. Not sufficient.

What almost nobody has

Existing CRA content comes from law firms and tool vendors. None of it answers the team question: what do we do on Monday morning? Here are the five missing pieces.

A written definition of "becoming aware": which alerts count, on which channel they land, who reads them, within what delay.

A pre-filled report template: product, version, CVE, nature of exploitation, measures. On day zero you fill blanks, you do not write prose.

Access to the reporting platform, created before the incident. Discovering a portal at hour 20 of 24 is a real, avoidable scenario.

A published coordinated disclosure policy: a reachable security contact and a response promise. The CRA requires it, and it is your free alert source.

And a dry run, stopwatch in hand. A fake CVE, the team walks the runbook, you measure. That is where the theoretical plan breaks, and that is the point.

The runbook I install

BEFORE (this week)
- SBOM generated on every build, archived per version
- scheduled vulnerability scans, not only on push
- disclosure page + security contact published
- reporting platform access created and tested
- pre-filled report template, written roles

AT D0 (awareness)
- qualify: active exploitation? product in scope?
- open the incident, written timeline from minute one

THEN
- early warning within 24 h
- full notification within 72 h
- fix, final report within 14 days, post-mortem

Nothing exotic. It is an incident response plan, with imposed deadlines and a single counter. The difficulty is not ambition, it is phase: everything is prepared beforehand.

The Go part nobody covers

A static Go binary ships everything. Your go.mod is not your SBOM: it lists what you declare, not what you deliver.

# SBOM of what actually ships (CycloneDX format)
syft scan ./bin/app -o cyclonedx-json > sbom.json

# does this CVE actually concern you?
govulncheck ./...

The duo does the first-24-hours triage. The SBOM answers "is it shipped?". govulncheck answers "is it called?". Two answers in minutes, documented, ready to paste into the early warning.

Full honesty: I have never filed a real CRA report, nobody has before Friday. This runbook is the one I install, not an incident debrief. The tooling under it has run in production for years.

The checklist before Friday

Half a day covers the essentials. It is a well-spent half day.

  • You can say whether your product is in CRA scope, and why
  • A machine-readable SBOM comes out of CI on every build
  • govulncheck or equivalent runs on a schedule, with a human recipient
  • "Becoming aware" has a written definition: channel, reader, delay
  • The security contact and disclosure policy are published
  • Access to the reporting platform already exists
  • The report template is pre-filled, roles are named
  • A dry run is on the calendar, stopwatch in hand

What to remember

The CRA does not ask you to be perfect. It asks you to be fast and documented.

A pipeline that can say within an hour "here is what we ship, here is whether we are hit" makes the deadlines workable. Without it, 24 hours is a sprint you already lost.

The best time to prepare a report is when you have none to file.

Want a CRA-ready pipeline and runbook? Let's talk.