Aller au contenu
Cyber Resilience Act : le signalement des vulnérabilités s'applique depuis le 11 septembre 2026

Réparez, auditez et sécurisez vos builds Yocto Project avec l'IA.

Yocman répare les tâches bitbake en échec avec un correctif que vous validez, puis contrôle l'image livrée : CVE non corrigées, secrets embarqués, comptes faibles, licences et lacunes du SBOM. Tout s'exécute dans votre terminal ; seuls des extraits masqués parviennent à l'IA.

  • Correctifs dans vos propres layers, jamais dans poky
  • CVE, secrets, licences et SBOM en un seul audit
  • Rapports JSON et codes de retour pour la CI
Nouveau sur le Yocto Project ? Ce que c'est et comment ça marche →
~/yocto/build
$ bitbake core-image-base
NOTE: Executing Tasks
NOTE: Running task 1984 of 3127 (busybox_1.36.1.bb:do_patch)
ERROR: busybox-1.36.1-r0 do_patch: Applying patch '0001-ash-increase-history-size.patch'
Hunk #1 FAILED at 9871. 1 out of 1 hunk FAILED

$ yocman fix
… collecting context: log.do_patch, 4 layers, local.conf (masked)
… reading meta-custom/recipes-core/busybox/busybox_%.bbappend
Diagnosis  the patch from meta-custom no longer applies to BusyBox 1.36.1
--- a/recipes-core/busybox/busybox_%.bbappend
+++ b/recipes-core/busybox/busybox_%.bbappend
@@ -1,6 +1,5 @@
 SRC_URI += " \
-    file://0001-ash-increase-history-size.patch \
     file://ash-tweaks.cfg \
Apply this patch? [y/N] y
✓ patch applied in meta-custom
… re-running bitbake -c patch -f busybox
✓ do_patch succeeded

$ yocman audit --fail-on high
  Overall score 18/100 over 10 categories
critical  CVE-2099-0101 (CVSS 9.8) in openssl 3.2.1
critical  OpenSSH private key in /etc/ssh
exit 1: findings at or above high

Auditez l'image réellement livrée

yocman audit lit ce que le build a produit, pas un questionnaire : le rootfs, le rapport cve-check, le SBOM SPDX, le .config du noyau et vos layers. Chaque constat a un identifiant de règle, le fichier d'origine et une correction, avec un score par catégorie.

Vulnérabilités
CVE non corrigées par CVSS, et cve diff pour voir ce qu'une mise à jour a corrigé ou introduit.
Secrets
Clés privées, jetons et mots de passe dans le rootfs ou les layers, signalés par emplacement, jamais affichés.
Durcissement
Mots de passe vides, comptes root en trop, /etc/shadow lisible, telnet, options du noyau.
Licences et SBOM
Licences GPLv3 ou ambiguës, obligations de fourniture des sources, cohérence du SBOM SPDX avec l'image.
Voir tous les contrôles de sécurité
yocman audit
$ yocman audit --fail-on high
Overall score 18/100 over 10 categories
cve 9 secrets 0 users 0 licenses 76 sbom 86
critical CVE-001 CVE-2099-0101 (CVSS 9.8) in openssl 3.2.1
critical SECRET-001 OpenSSH private key in /etc/ssh
critical USER-001 root has no password
critical SVC-002 telnet.socket enabled: clear-text login
medium LIC-003 GPL-3.0 in the image
→ upgrade the recipe or backport the fix with 'CVE: <id>'
exit 1: findings at or above high
Build de démonstration, identifiants de CVE fictifs

Le Cyber Resilience Act s'applique à votre firmware

Les produits comportant des éléments numériques vendus dans l'UE doivent gérer les vulnérabilités, fournir des mises à jour de sécurité et documenter leurs logiciels, SBOM compris. yocman cra report rassemble les preuves côté build — CVE, secrets, SBOM, durcissement — en un rapport.

Le Cyber Resilience Act, expliqué pour le Linux embarqué →
  1. 11 sept. 2026

    Signalement des vulnérabilités activement exploitées et des incidents graves

  2. 11 déc. 2027

    Toutes les exigences essentielles s'appliquent

Du build rouge au build vert

  1. Le build casse

    bitbake s'arrête sur do_patch, do_compile ou un contrôle QA. Lancez yocman fix dans le même shell, sans configuration.

  2. Yocman diagnostique

    La CLI rassemble le log de la tâche, vos layers et votre configuration. L'agent enquête avec des outils en lecture seule et trouve la cause.

  3. Vous validez le correctif

    Vous recevez le diagnostic et un diff unifié sur votre propre layer. Rien ne change sans votre accord, puis la tâche est relancée.

Votre build reste sur votre machine

L'agent n'a jamais de shell sur votre poste. Il demande des fichiers précis à la CLI, et vous voyez chaque demande.

Exécution locale
bitbake, kas et tous les outils tournent sur votre poste ou votre runner CI. Seuls des extraits masqués en sortent.
Secrets masqués
Jetons, mots de passe, clés privées, identifiants dans les URL, e-mails, IP privées et votre dossier personnel sont remplacés avant l'envoi.
--dry-run
Affiche exactement ce qui serait envoyé, sans rien envoyer.
Vous validez
Les correctifs ne touchent que vos propres layers, jamais poky ni les layers amont, et attendent votre confirmation.
Ce que reçoit l'agent
$ yocman fix --dry-run
- PREMIRRORS:prepend = "git://.*/.* https://builder:k7Fq2v9X@mirror.corp.example/src/"
+ PREMIRRORS:prepend = "git://.*/.* https://***:***@mirror.corp.example/src/"
- ERROR: Logfile of failure stored in: /home/alice/yocto/build/tmp/work/.../log.do_patch
+ ERROR: Logfile of failure stored in: ~/yocto/build/tmp/work/.../log.do_patch
- GITLAB_TOKEN = "glpat-Xq2Lk9vWmP4rT7sB1nYd"
+ GITLAB_TOKEN = "<redacted>"
Dry run: nothing was sent.

Une seule CLI pour tout le build

Voir toutes les fonctionnalités

Réparer

fixexplainaskcontextlogin

Diagnostiquer une tâche en échec et obtenir un correctif pour votre layer, ou poser une question sur votre projet. Les échecs déjà résolus pour vous obtiennent leur réponse depuis votre historique.

--- a/recipes-apps/myapp/myapp_1.0.bb
+++ b/recipes-apps/myapp/myapp_1.0.bb
inherit cmake systemd
+DEPENDS += "zlib"
✓ do_compile succeeded

Analyser

doctorrulesconflayers checkdepswhyprovidesunusedorphansduplicatessizebuildtimesstateboot

Comprendre votre image : pourquoi un paquet y est, ce qui prend de la place, où passent les temps de build et de démarrage, ce que le sstate reconstruit.

Installed size 42.0 MiB in 43 packages
libc6-dbg 8789 KiB 20.4%
libcrypto3 4394 KiB 10.2%
SIZE-002 debug symbols in the image

Auditer

auditcvesecretsuserspermsserviceskernel-auditlicensessbomcra report

Contrôles de sécurité et de conformité sur l'image réellement livrée : CVE, secrets, comptes, services, noyau, licences, SBOM, avec un score par catégorie.

Overall score 18/100 over 10 categories
critical CVE-001 unpatched CVE (CVSS 9.8)
critical SECRET-001 private key in the rootfs
medium LIC-003 GPL-3.0 in the image

Démarrer

initaddremovebuildshellenvflash

Créer un projet kas pour une carte vérifiée ou le décrire avec vos mots, ajouter des fonctionnalités, construire avec une progression en direct sur l'hôte ou en conteneur, flasher la carte.

$ yocman init --release scarthgap --board rpi4-64 \
--feature ssh-openssh --env container
✓ Project generated in ~/yocto/rpi4-scarthgap

Essayez-le sur votre prochain build

Plan gratuit inclus, sans carte bancaire. Installez la CLI, puis lancez yocman fix sur un build en échec ou yocman audit sur un build terminé.

$ pipx install yocman
Commencer gratuitement