123% de CVE signalées en plus par jour en 2026 par rapport à l'an dernier.

Cybersécurité de l'électronique grand public

Chaque appareil intelligent embarque un firmware construit à partir de paquets open source, de SDK de fournisseurs de puces et d'outils récupérés pendant le build. Il suffit d'un seul d'entre eux pour une attaque de la chaîne d'approvisionnement. CRACI exécute vos builds de firmware, enregistre chaque composant qui y entre et empêche le build d'atteindre ce dont il n'a pas besoin.

Pourquoi les fabricants d'appareils sont une cible de la chaîne d'approvisionnement

L'essentiel du code d'un appareil connecté a été écrit par d'autres : une distribution Linux embarqué, le board support package du fournisseur de puces, une pile réseau, quelques centaines de bibliothèques open source et les crates Rust sous-jacentes. Les mêmes composants sont livrés dans les produits de nombreuses marques, et les appareils restent des années dans les foyers, souvent bien après que quelqu'un a examiné pour la dernière fois ce qu'ils contiennent.

Un seul composant faible a donc une grande valeur pour un attaquant. Une faille dans une bibliothèque ou un SDK partagés expose tous les produits qui l'embarquent, et une release empoisonnée atteint tous les builds qui la récupèrent. Les incidents suivants illustrent ce schéma.

Ripple20

Pile TCP/IP Treck · juin 2020

Dix-neuf vulnérabilités, jusqu'à CVSS 10.0, dans une petite bibliothèque TCP/IP que des fabricants d'appareils utilisaient sous licence depuis des années, souvent sous un autre nom. Elle se trouvait dans les produits de nombreux fournisseurs, et beaucoup ont d'abord dû déterminer s'ils la livraient.

Vous ne pouvez pas corriger un composant dont vous ignorez qu'il est livré.

Realtek SDK

CVE-2021-35395 · août 2021

Des failles dans le SDK d'un fournisseur de puces ont touché environ 200 modèles d'appareils de quelque 65 fabricants : routeurs, caméras IP, passerelles d'éclairage connecté, jouets connectés. Un botnet Mirai les recherchait deux jours après la publication des détails.

Le code du fournisseur de puces devient le vôtre dès qu'il est livré dans votre appareil.

Porte dérobée xz utils

CVE-2024-3094 · mars 2024

Une porte dérobée a été introduite dans le projet xz en amont, dans les versions 5.6.0 et 5.6.1. Les images Linux embarqué intègrent systématiquement des bibliothèques de compression comme xz, généralement sans que personne ne les ait choisies.

Un logiciel open source de confiance peut devenir hostile en une seule release.

ShadowHammer

ASUS Live Update · 2018 à 2019

Des attaquants ont utilisé les propres certificats de signature d'ASUS pour signer une version piégée de son utilitaire de mise à jour et l'ont distribuée depuis les serveurs de mise à jour officiels. Kaspersky a estimé qu'elle avait pu atteindre plus d'un million d'utilisateurs.

Une signature valide prouve seulement qui a signé, pas ce qui a été inclus.

Comment améliorer la cybersécurité de l'électronique grand public

Le durcissement de l'appareil, comme le secure boot, l'absence de mots de passe par défaut et un port de débogage fermé, protège l'appareil que vous livrez. Les étapes ci-dessous protègent ce qui y entre.

  1. Sachez ce que contient chaque image de firmware. Conservez une SBOM pour chaque build que vous livrez, y compris les dépendances transitives, les outils de l'hôte et les sources récupérées par le build en chemin. Sans elle, chaque nouvel avis de sécurité commence par des jours de recherche.
  2. Traitez le code des fournisseurs comme une partie de votre produit. Les board support packages, les SDK des fournisseurs de puces et les piles sous licence exigent le même suivi que votre propre code. Demandez des SBOM à vos fournisseurs et surveillez-les à côté de vos builds.
  3. Continuez à surveiller après la livraison de l'appareil. Les appareils restent des années dans les foyers. Revérifiez le contenu de chaque version livrée à chaque publication de nouvelles vulnérabilités, et sachez quels produits et versions sont touchés, et depuis quand.
  4. Verrouillez le build. La machine de build contient votre code source, vos secrets et la release elle-même. Exécutez chaque build sur une machine neuve et isolée, épinglez les actions CI sur un commit et n'autorisez les connexions sortantes que vers les sources dont le build a besoin.
  5. Tenez à l'écart les versions réputées dangereuses. Dès qu'une release vulnérable ou malveillante est connue, bloquez tout build qui l'inclurait, afin qu'elle ne revienne pas par une mise à jour de dépendance.
  6. Protégez les clés de signature et le canal de mise à jour. Le secure boot et les mises à jour signées n'aident que si les clés restent en sécurité. Conservez les clés de signature dans un stockage matériel, séparé du build, et limitez les personnes et les systèmes qui peuvent les utiliser.
  7. Mettez en place un processus de traitement des vulnérabilités. Décidez qui trie les résultats, qui est responsable de chaque correction et comment les clients et les autorités en sont informés. Dans l'UE, le Cyber Resilience Act fait du signalement des vulnérabilités une obligation légale pour les fabricants à partir du 11 septembre 2026.

CRACI couvre le volet build de cette liste : la SBOM de chaque build, les SBOM de fournisseurs, la surveillance continue, l'isolation du build, le contrôle du trafic sortant et les garde-fous de politique. La signature et le durcissement de l'appareil restent assurés par vos propres outils.

Des builds de firmware qui enregistrent ce qui y entre

Exécutez vos builds Yocto et autres builds Linux embarqué sur les runners GitHub Actions de CRACI, jusqu'à 32 vCPU, en x86-64 ou en ARM64 natif. Pendant le build, CRACI enregistre chaque paquet et fichier récupéré, y compris les paquets de l'hôte, les sources Git, les GitHub Actions et les téléchargements qu'aucune recette ni aucun lockfile ne liste. Sur un build core-image-sato, la SBOM de CRACI contenait tous les composants de la SBOM de Yocto, plus 88 que celle-ci avait manqués, avec une package URL pour chacune des 653 versions de crates Rust : toutes peuvent donc être surveillées face aux vulnérabilités.

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

Un build qui ne peut atteindre que ce dont il a besoin

Chaque job s'exécute dans sa propre machine virtuelle isolée, sous une politique de trafic sortant validée avant le démarrage du job et qui bloque tout en cas d'échec. Avec une politique en refus par défaut, le build atteint vos sources de paquets et rien d'autre. Une dépendance compromise qui tente d'envoyer vos éléments de signature ou vos tokens vers l'hôte d'un attaquant est bloquée et déclenche une alerte, même si l'attaque est nouvelle et que personne n'a encore publié d'avis de sécurité à son sujet.

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

Les composants des fournisseurs suivis à côté des vôtres

Ajoutez les SBOM de vos fournisseurs de puces et autres fournisseurs : les composants achetés sont surveillés en même temps que les logiciels que vous construisez. Quand la prochaine vulnérabilité de SDK surviendra, le code du fournisseur sera dans le même enregistrement que le vôtre.

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

Quels appareils sont touchés, et depuis quand

CRACI continue de réévaluer les SBOM surveillées à mesure que de nouvelles vulnérabilités sont publiées. L'historique des builds montre quels builds contenaient la dépendance vulnérable, directe ou transitive, et la vue d'inventaire montre quelles versions logicielles sont déployées sur quels produits. Les équipes de sécurité trient chaque résultat et l'acheminent vers l'équipe responsable de la correction, et un garde-fou de politique peut tenir une CVE précise à l'écart de tous les builds suivants.

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

Des preuves pour le Cyber Resilience Act

Le marquage CE au titre du Cyber Resilience Act repose sur une documentation technique et une évaluation de la conformité. CRACI fournit les preuves sur la chaîne d'approvisionnement dont cette documentation a besoin : SBOM au build exportées en CycloneDX ou SPDX, enregistrements de vulnérabilités et historique des builds. CRACI soumet aussi les notifications de vulnérabilités CRA en votre nom. L'évaluation de la conformité, la déclaration UE de conformité et le marquage CE restent de votre responsabilité, en tant que fabricant.

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

Ce que CRACI ne fait pas

CRACI ne signe ni le firmware, ni les SBOM, ni la provenance, et il ne détecte pas les nouveaux paquets malveillants par comportement ou réputation : il signale une release malveillante dès qu'un avis de sécurité avec une CVE existe, et s'appuie jusque-là sur la politique de trafic sortant. Il ne réalise pas votre évaluation de la conformité et ne rédige pas votre déclaration de conformité. Il exécute aujourd'hui des jobs GitHub Actions sur des runners Linux ; GitLab CI, Jenkins et les runners Windows et macOS figurent sur la roadmap.

La sécurité de l'électronique grand public expliquée

Questions fréquentes sur la sécurisation des appareils connectés et de leur chaîne d'approvisionnement logicielle

Qu'est-ce qu'une attaque de la chaîne d'approvisionnement sur l'électronique grand public ?

C'est une attaque qui atteint un appareil par un élément sur lequel son fabricant s'appuie plutôt que par l'appareil lui-même : une bibliothèque open source vulnérable, le SDK d'un fournisseur de puces, une release de paquet empoisonnée, un outil de build compromis ou un canal de mise à jour détourné. Comme le même composant est livré dans de nombreux produits, une seule faiblesse peut atteindre à la fois des millions d'appareils de nombreuses marques.

Comment améliorer la cybersécurité de l'électronique grand public ?

Commencez par ce que vous livrez : conservez une SBOM pour chaque build de firmware, suivez les composants des fournisseurs et continuez à vérifier les versions livrées à mesure que de nouvelles vulnérabilités apparaissent. Verrouillez le build lui-même, tenez à l'écart les versions réputées dangereuses avec des garde-fous de politique, protégez vos clés de signature et mettez en place un processus de tri, de correction et de divulgation. Le durcissement de l'appareil, comme le secure boot et la désactivation des mots de passe par défaut, compte aussi, mais il n'aide pas si le firmware contient déjà un composant vulnérable.

Comment sécuriser la chaîne d'approvisionnement du firmware ?

Connaissez chaque composant qui entre dans l'image, y compris ce que le build récupère hors de vos recettes et lockfiles, et conservez cet enregistrement par release. Construisez dans un environnement isolé qui ne peut atteindre que les sources dont il a besoin : une dépendance malveillante ne pourra alors envoyer vos secrets nulle part. Surveillez les composants enregistrés et les SBOM de vos fournisseurs face aux nouvelles vulnérabilités aussi longtemps que les appareils sont pris en charge.

CRACI fonctionne-t-il avec Yocto ?

Oui. Les builds Yocto et BitBake s'exécutent sur les runners CRACI, et CRACI enregistre la SBOM du job pendant le build. La sortie SPDX de Yocto contient toujours des métadonnées de recette que CRACI n'enregistre pas, comme les correctifs appliqués et les CVE qu'une recette marque comme corrigées : gardez donc create-spdx activé si vous en dépendez.

CRACI peut-il suivre les vulnérabilités des SDK de fournisseurs de puces ?

Oui, si vous disposez d'une SBOM pour ces SDK. Vous pouvez ajouter des SBOM de fournisseurs à CRACI, et ces composants sont surveillés en même temps que les logiciels que vous construisez. Tout ce que votre build télécharge auprès d'un fournisseur pendant le build est également enregistré dans la SBOM du job.

CRACI détecte-t-il les malwares dans le firmware ?

Pas par comportement ni par réputation. Une release malveillante connue dotée d'une CVE publiée, comme la porte dérobée xz, est signalée comme toute autre vulnérabilité, et un garde-fou de politique peut bloquer les builds qui la contiennent. Contre les nouvelles attaques, la protection de CRACI est la politique de trafic sortant en refus par défaut, qui empêche le build d'atteindre des hôtes dont il n'a pas besoin.

CRACI signe-t-il le firmware ou la provenance ?

Non. CRACI ne signe ni le firmware, ni les SBOM, ni la provenance. Continuez à utiliser votre propre processus de signature et un stockage matériel des clés pour les releases et les mises à jour.

Le Cyber Resilience Act s'applique-t-il à l'électronique grand public ?

Le Cyber Resilience Act couvre les produits comportant des éléments numériques mis sur le marché de l'UE, ce qui inclut la plupart des appareils grand public connectés. Les obligations de déclaration s'appliquent à partir du 11 septembre 2026 et le règlement s'applique intégralement à partir du 11 décembre 2027. CRACI automatise une part importante de la visibilité et des preuves sur la chaîne d'approvisionnement dont le processus CRA a besoin ; le respect du règlement relève du processus du fabricant.

Quels systèmes CI et machines de build CRACI prend-il en charge ?

CRACI exécute des jobs GitHub Actions sur des runners Linux, x86-64 et ARM64, de 1 à 32 vCPU. D'autres systèmes CI, comme GitLab CI et Jenkins, figurent sur la roadmap, tout comme les runners Windows et macOS.

Découvrez ce qui entre dans votre firmware

Réservez une démo et nous vous montrerons chaque composant récupéré par les builds de vos appareils, et lesquels sont vulnérables

Réserver une démo