Quotidien suisseSamedi 5 septembre 2026Édition de 13h, technologie
Prochaine publication le 5 septembre 2026 à 17h
Une · Sécurité
GitSpawn : un dépôt malveillant exécute du code via les agents IA
Manifold Security a publié le 1er septembre 2026 une classe de failles baptisée GitSpawn : huit findings sur sept agents de coding IA. Quatre restaient non corrigés à la publication. Le déclencheur n’est pas le modèle, mais un git status ou git diff de démarrage qui honore un core.fsmonitor planté dans le .git/config du dépôt.
Les agents CLI (Claude Code, Codex, Cursor, Goose, Hermes, Qwen Code, Grok Build) lancent des commandes git en arrière-plan pour prendre leurs marques dans un projet — parfois avant le prompt de confiance workspace, voire avant l’authentification. Or git, lors d’un refresh d’index, exécute le programme nommé par core.fsmonitor, une option légitime de performance. Si le dossier arrive comme archives (zip, clé USB, sync) avec un .git intact — et non via un git clone classique, qui n’importe pas la config locale — la commande attaquante tourne avec les privilèges du développeur, hors sandbox, sans invite d’approbation.
Selon le rapport Manifold (Francisco Rosales), Claude Code (vecteur fsmonitor), Codex, Cursor et Goose ont reçu des correctifs (Goose : CVE-2026-72718, v1.44.0). Restent ouverts à la publication : une seconde voie Claude Code (« ultrareview »), Hermes (CVE-2026-71963), Qwen Code et Grok Build, reconfirmés sur des builds courants début septembre. La CSA et The Hacker News ont relayé la divulgation les 2–3 septembre.
Mitigations côté usage : inspecter .git/config avant d’ouvrir un dépôt reçu en fichiers ; côté éditeur d’agent : assainir la config sur les appels de contexte (git -c core.fsmonitor=false status). Le point clé éditorial : l’alignement du modèle est hors sujet — la faille est dans le sous-processus git.
CSEM et Miromico poussent l’IA sur les capteurs industriels
Le CSEM (Neuchâtel) et Miromico (Zurich) ont présenté un nœud radio compact qui analyse localement les données de capteurs industriels grâce à l’IA, puis ne transmet que les informations jugées pertinentes. L’objectif : réduire trafic radio et consommation pour des capteurs sur batterie, souvent isolés (ICTjournal, 4.09.2026).
Le cœur du dispositif est Fibonacci, la puce IA très basse consommation du CSEM, branchable sur microphones, accéléromètres ou petites caméras. Un compilateur maison adapte des réseaux au silicium, notamment au format ouvert ONNX. La radio Miromico gère LoRa et mioty ; la plateforme se configure pour l’un ou l’autre sans redéveloppement du nœud.
Cas d’usage cités : maintenance prédictive, surveillance d’état, contrôles acoustiques et visuels. Le CSEM y voit aussi un atout de souveraineté semi-conducteurs suisse, sans chiffrer la baisse réelle de trafic ni préciser commercialisation.
Cloudflare lie chasse aux failles et trafic réel via Daybreak
Le 3 septembre 2026, Cloudflare a annoncé en early access « Vulnerability Discovery and Remediation » dans Managed Defense. Le service croise analyse de code autorisée et contexte de production (routes actives, volume, événements WAF) pour prioriser les findings plutôt que d’empiler des alertes génériques.
Via le réseau Daybreak d’OpenAI, des modèles dont GPT-5.6 Cyber mènent reconnaissance, chasse et validation sur le code que le client autorise. Le harness tourne chez Cloudflare ; l’inférence part vers OpenAI via AI Gateway. Des correctifs de code et des règles WAF custom peuvent être proposés ; rien n’est déployé sans validation humaine Cloudflare puis accord client.
Le billet technique détaille le pipeline interne déjà utilisé sur la flotte Cloudflare (reconnaissance → hunters → validation adversariale). Early access sur invitation, une application par engagement.
Depuis la fenêtre de merge du noyau 7.1, io_uring n’est plus seulement une file asynchrone partagée : un programme BPF peut remplacer l’étape de boucle qui suit io_uring_enter(). Voici ce que cela change pour qui écrit des runtimes I/O haute perf.
Rappel : io_uring expose deux anneaux en mémoire partagée — la submission queue (SQ) pour envoyer des requêtes au noyau, la completion queue (CQ) pour récupérer les résultats. L’espace utilisateur prépare des SQE, puis appelle io_uring_enter() (ou laisse un thread SQPOLL scruter). Même avec le partage mémoire, chaque aller-retour vers l’userspace pour enchaîner le travail après une completion coûte cher. Les chaînes linéaires (IOSQE_IO_LINK, drain, etc.) couvrent une partie des cas ; dès qu’il faut une logique un peu plus riche — décider du prochain lot selon le contenu d’une CQE — on repasse en userspace.
Le patch set de Pavel Begunkov, accepté par Jens Axboe le 17 mars 2026 (récit LWN), attache un struct_ops eBPF nommé io_uring_bpf_ops à un anneau. Au lieu de la boucle native, le callback loop_step est invoqué. Depuis ce callback, deux kfuncs comptent : bpf_io_uring_submit_sqes() pour pousser des SQE déjà écrites dans la région partagée, et bpf_io_uring_get_region() pour obtenir un pointeur borné vers les régions paramètres, SQ ou CQ sous contraintes du vérificateur. Le programme renvoie IOU_LOOP_CONTINUE (relancer après délai ou N completions) ou IOU_LOOP_STOP (rendre la main à l’userspace). En théorie, une appli peut monter l’anneau, enregistrer le BPF, appeler io_uring_enter() une fois… et ne plus jamais revenir.
Contraintes d’installation (code actuel) : l’anneau doit être créé avec IORING_SETUP_DEFER_TASKRUN ; SQPOLL et IOPOLL sont refusés ; un seul bpf_ops par anneau, lié au ring_fd. Le programme doit tolérer wake-ups parasites et annulation (signal / kill). Ce n’est pas un « plugin I/O illimité » : la surface est volontairement étroite.
Deuxième mécanisme, orthogonal : IORING_REGISTER_BPF_FILTER installe des filtres cBPF (pas eBPF) par opcode pour admettre ou refuser une soumission (-EACCES) avant mise en file — prédicat d’admission, contexte fixe (user_data, opcode, flags, PDU pour SOCKET/OPENAT/CONNECT). Hiérarchie utile : restrictions statiques IORING_RESTRICTION_* (enveloppe), filtre cBPF (prédicat), LSM hôte (autorité système), puis eBPF struct_ops (politique d’exécution dans la boucle). Les analyses Eunomia (2026) insistent : le filtre n’est pas « où eBPF entre dans io_uring » — la frontière profonde est le struct_ops.
Pourquoi ça compte pour le développeur système : FUSE-over-io_uring, réception zero-copy TCP dans des buffers enregistrés, ublk — l’anneau devient frontière d’exécution, pas seulement un batch de syscalls. Mettre de la logique dans BPF évite des context switches, mais complique le debug (un strace voit surtout un enter bloqué ; perf sur io_uring:* aide) et l’audit (qui a soumis la SQE — userspace ou boucle BPF ?). Alternative Ming Lei (IORING_OP_BPF) reste plus ciblée ; Axboe a d’abord mergé Begunkov. Pour expérimenter : libbpf + BTF vmlinux, anneau DEFER_TASKRUN, un loop_step minimal qui submit puis STOP — puis monter en complexité sans élargir la capacité au-delà de ce que LSM et les restrictions autorisent.
Cloudflare : blocage par défaut des crawlers IA mixtes au 15 septembre
À compter du 15 septembre 2026, Cloudflare appliquera sur les pages monétisées par la pub un blocage par défaut des crawlers Training et Agent (et des bots multi-usages qui mélangent indexation search et entraînement IA), visant notamment les crawlers mixtes de Google, Microsoft et Apple. Les bots purement Search restent hors de ce défaut ; les clients peuvent opt-out avant l’échéance.
Cloudflare a annoncé le 2 septembre le support des Cursor Cloud Agents sur Cloudflare Sandboxes, après Devin Outposts et Claude Managed Agents : exécution d’agents de coding dans des environnements isolés contrôlés par le client, plus près du code et des secrets d’entreprise.