Lateo.net - Flux RSS en pagaille (pour en ajouter : @ moi)

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierKorben

Quick Tunnels - Votre projet localhost sur le web avec invitation

Par : Korben ✨

Cloudflare a sorti il y a petit moment maintenant une commande que pas mal de dev utilisent et dont je vais vous parler aujourd'hui : cloudflared tunnel --url, qui permet de publier un serveur tournant sur votre machine à une adresse en trycloudflare.com, sans avoir besoin de compte, de nom de domaine et surtout sans avoir à ouvrir le moindre port sur votre box toute pourrie.

Et la petite nouveauté depuis quelques jours, c'est que, autant avant, n'importe qui possédant le lien pouvait se connecter à votre service, mais maintenant, Cloudflare a mis en place une option qui permet de réserver ce lien à quelques adresses e-mail que vous définissez.

Ce service s'appelle les Quick Tunnels, et pour en profiter, il vous faudra juste un service web qui tourne en local (moi je vais faire ça sur le port 8080 comme d'hab) avec une page de test toute bête servie par Python. Voilà c'est juste de quoi vérifier que tout passe bien avant d'y brancher un vrai projet. Et si vous faites bosser des agents IA avec ce truc, on verra aussi comment mettre un garde-fou pour éviter l'exposition sur le web de trucs pas prévus ! Argh !!

Installer cloudflared

cloudflared, c'est le petit connecteur open source de Cloudflare, celui qui établit la connexion sortante vers leur réseau. Sur Mac, pour l'installer c'est fastoche, suffit d'utiliser Homebrew :

brew install cloudflared

Sous Debian ou Ubuntu, passez par conte par le dépôt officiel de Cloudflare. Il a changé de clé de signature récemment, donc reprenez bien ces commandes plutôt que celles d'autres vieux tutos qui traînent :

sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt-get update && sudo apt-get install cloudflared

Et sous Windows (les courageux !! lol), la page de téléchargement de Cloudflare propose un MSI ou un exécutable, en 32 ou 64 bits, et le paquet existe aussi chez winget sous l'identifiant Cloudflare.cloudflared. Dans tous les cas, vérifiez ensuite la version, car l'option d'authentification dont on va parler plus bas n'arrive qu'à partir de la version 2026.9.3 :

cloudflared --version

Ouvrir un tunnel public

Tout d'abord, lancez votre serveur local, puis dans un autre terminal, faites :

cloudflared tunnel --url http://localhost:8080

Au bout de quelques secondes, cloudflared affichera un encadré avec une adresse aléatoire composée de quatre mots, du genre quelque-chose-truc-bidule.trycloudflare.com, en prévenant qu'elle peut mettre un moment à répondre. Donc soyez un peu patient, le temps que le DNS résolve ce truc (et videz votre cache DNS si ça veut vraiment pas le faire).

Ensuite, ouvrez cette URL depuis un autre appareil, genre votre téléphone en 4G par exemple et hop, vous tomberaz sur votre serveur local. Et si vous voulez tout couper, un petit Ctrl+C dans le terminal et c'est fini ! Pas de panique, au prochain lancement de cloudflared, vous aurez une nouvelle adresse.

La commande de base, et le cadre où cloudflared affiche l'adresse trycloudflare.com à partager

Notez aussi que le port n'est pas imposé puisque --url accepte tout ce que cloudflared peut joindre, une adresse IP de votre réseau local comprise. Par contre, si votre projet tourne sous Vite, vous allez prendre un "Blocked request" en pleine tronche, car Vite ne répond par défaut qu'à localhost, aux domaines en .localhost et aux adresses IP. La parade la plus simple consiste donc à faire croire à Vite qu'on l'appelle via localhost:5173 en faisant comme ceci :

cloudflared tunnel --url http://localhost:5173 --http-host-header localhost:5173

L'autre solution, c'est d'ajouter l'hôte dans le réglage server.allowedHosts de Vite. Mais évitez de passer ce réglage à true pour aller plus vite, en effet la doc de Vite le déconseille puisque ça expose votre serveur de dev à des attaques par DNS rebinding. Oupsi oups !

Gardez aussi en tête que c'est un outil de test et de démo et que c'est pas fait pour de la prod. Si on en croit la doc , Cloudflare ne garantit aucune disponibilité, sans oublier que chaque tunnel encaisse au max 200 requêtes en simultanné (au-delà, ça vous fera une erreur 429 ) et les Server-Sent Events ne passeront pas. Voilà, donc si vous voulez un nom fixe et du vrai trafic, il faudra plutôt créer un tunnel nommé à partir d'un vrai compte Cloudflare et d'un domaine de votre choix.

Réserver l'adresse à quelques personnes

Et maintenant, pour limiter l'accès à votre service à quelques personnes, ajoutez --allowed-mail suivi de l'adresse email de celui à qui vous voulez montrer votre merveilleux boulot :

cloudflared tunnel --url http://localhost:8080 --allowed-mail korben@example.com

L'encardré change alors de "ton" en vous annonçant que le tunnel est "protégé" par une authentification de type code à usage unique via Cloudflare Access, ainsi que la quantité d'adresses autorisées. Les adresses elles-mêmes n'apparaissent nulle part, même dans la ligne des réglages où elles sont remplacées par des astérisques, ce qui est plutôt bien vu si vous faites une démo en mode partage d'écran. Ça évite les fuites de données perso !

Avec --allowed-mail, le cadre annonce le code à usage unique et le nombre d'adresses autorisées, sans jamais les afficher

Vous pouvez ensuite répéter l'option autant de fois que nécessaire, séparer plusieurs adresses par des virgules, ou autoriser tout un domaine. Mettez simplement des guillemets autour du "joker" (c'est l'étoile) pour que votre misérable shell ne tente pas de l'interpréter comme un gros teubé :

cloudflared tunnel --url http://localhost:8080 \
 --allowed-mail korben@example.com \
 --allowed-mail bob@example.com \
 --allowed-mail '*@example.com'

Côté Wrangler, si vous bossez sur Workers, un petit npx wrangler tunnel quick-start acceptera la même option :

npx wrangler tunnel quick-start http://localhost:8080 --allowed-mail korben@example.com

De son côté, votre invité VIP n'aura alors plus qu'à ouvrir l'URL que vous lui avez donné et cloudflared renverra son browser vers login.trycloudflare.com. Il tombera alors sur une page Cloudflare Access qui lui demandera son adresse mail. Il recevra ensuite un code dans sa boîte, devra le taper, et arrivera enfin (ouf !!) sur votre merveille application probablement vibe codée (lol).

Et quelqu'un qui n'est pas sur la liste des invité ne verra quand à lui qu'une réponse de base lui expliquant qu'il peut bien aller se faire voir (et sa requête n'atteindra jamais votre application).

Ce que voit votre invité en ouvrant l'URL protégée : la page Cloudflare Access qui lui demande son adresse mail

Et votre liste d'emails, elle, n'est jamais diffusée hors de votre ordi puisque Cloudflare vérifie seulement que la personne contrôle l'adresse qu'elle a saisie. Ensuite c'est cloudflared qui compare les accès en mémoire, avec ce que vous avez tapé. Une fois entré, le visiteur gardera alors sa session jusqu'à 4 heures max.

Et si vous voulez modifier cette liste d'accès, il faudra alors arrêter le tunnel et en relancer un autre, ce qui coupera l'accès à tout le monde et vous donnera une nouvelle adresse à renvoyer. Donc soyez sûr de votre coup avant de casser la tête aux gens qui vont tester votre appli.

Sachez aussi que cette vérification ne pourra se faire qu'avec un vrai navigateur et pas des trucs du genre un webhook Stripe, un GitHub, un script en curl ou encore n'importe quel client automatique qui restera coincé devant cette page de connexion.

Pour ces cas-là précieusement, je vous recommande plustôt d'ouvrir un tunnel public le temps du test et de le couper juste après. Et si le webhook doit tourner durablement, passez sur un tunnel nommé avec Cloudflare Access, sur votre propre domaine.

Le confier à votre agent IA

Maintenant, parlons un petit peu à agents IA parce que oui... Un agent de code a besoin d'un endroit pour vous montrer ce qu'il vient de faire de beau, et Cloudflare décrit justement ce cas de figure dans son article.

Pour éviter qu'un agent IA ne diffuse publiquement ce qu'il vient de faire à la vue de tous, ce que recommande Cloudflare, c'est donc d'ajouter une ligne dans le fichier d'instructions de l'agent AGENTS.md comme ceci :

Quand tu lances un Quick Tunnel, ajoute toujours --allowed-mail moi@exemple.fr.

Sauf qu'une consigne reste une consigne... C'est un prompt que l'agent peut choisir d'ignorer... Donc gardez bien en tête que ces fichiers sont traités comme du contexte et pas comme une configuration imposée.

Maintenant, si vous voulez vraiment bloquer une action, peu importe ce que décide le modèle, ce que je vous recommande d'utiliser à la place, c'est un hook "PreToolUse". Moi, j'en mets partout dans mes configs Claude Code pour plus de sécurité.

Si vous ne savez pas ce qu'est un hook, en fait c'est un petit script contenant la commande en JSON, et que Claude Code lance avant chaque commande bash. Si ce script se termine avec le code "2" l'appel est alors bloqué. Pour faire ça, il faut donc créer dans le dossier .claude/hooks/ de votre projet, le script suivant :

#!/bin/bash
# .claude/hooks/tunnel-protege.sh
COMMAND=$(jq -r '.tool_input.command')

if echo "$COMMAND" | grep -qE 'cloudflared.*tunnel.*--url|wrangler.*tunnel.*quick-start' \
 && ! echo "$COMMAND" | grep -q -- '--allowed-mail'; then
 echo "Quick Tunnel public refusé : ajoutez --allowed-mail, ou demandez-moi d'abord." >&2
 exit 2
fi
exit 0

Puis rendez-le exécutable avec chmod +x, et installez jq si vous ne l'avez pas encore fait.

Déclarez-le ensuite dans le .claude/settings.json du projet, sur l'outil Bash comme ceci :

{
 "hooks": {
 "PreToolUse": [
 {
 "matcher": "Bash",
 "hooks": [
 {
 "type": "command",
 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/tunnel-protege.sh"
 }
 ]
 }
 ]
 }
}

Maintenant, si ça vous prend trop le chaud de faire ça, sachez que j'ai fait un petit kit à télécharger ici, pour les Patreons :

Ensuite, à partir de là, un cloudflared tunnel --url ou un wrangler tunnel quick-start lancé sans le paramètre --allowed-mail ne fonctionnera pas, et l'agent recevra le message du hook qui lui dira d'ajouter l'option ou de vous demander s'il doit y avoir un contournement.

Et bien sûr, un tunnel nommé lancé avec cloudflared tunnel run, lui, passera normalement.

Comme d'hab, ce genre de garde-fou a ses limites, puisqu'il ne lit que le texte de la commande et ne vérifiera pas l'adresse qui suit l'option. Il ne verra non plus les tunnels qui pourraient être lancés depuis un script ou à l'aide d'une variable d'environnement TUNNEL_URL, qui permet aussi de lancer un Quick Tunnel. Voilà, donc laissez la consigne dans AGENTS.md en plus du hook, au cas où... Les deux devraient bien se compléter.

Pour les soutiens Patreon , le kit ci-dessus reprend donc ce hook avec les consignes à coller dans AGENTS.md, dont l'exception des clients automatiques (l'agent vous demande au lieu de retirer l'option).

Il y a aussi là dedans un script qui lance le tunnel protégé et ne renvoie que son adresse. Et si vous préférez scripter ça vous-même, partez de --output json, qui transformera chaque ligne du log en objet JSON. L'adresse sera alors accessible dans le champ message, et vous pourrez alors l'extraire avec une expression régulière.

Ah et un dernier point avant de lâcher un agent là-dessus sur le portable de votre boulot, je vous invite à lire ce que Proofpoint a documenté concernant des campagnes de malware qui s'appuient sur ce genre de tunnels gratuits. Ça explique pourquoi des outils de sécurité comme Elastic ont des règles qui repèrent cloudflared quand il est utilisé pour exposer un service local. Leur conseil c'est de bloquer les domaines de tunnel quand l'usage n'est pas autorisé, donc si vous comptez utiliser ça dans votre boite, allez voir Dieu Tout Puissant (le sysadmin grognon quoi...) pour lui demander l'autorisation. Il va pester, souffler, éventuellement vous cracher dessus puis finira probablement par accepter, donc pas d'inquiétude ^^.

Et comme la protection par mail est gratuite, au même titre que les Quick Tunnels eux-mêmes, je ne vois aucune raison valable de balancer une démo accessible sur le web sans utiliser cette authentification.

Paperasse - Des skills IA pour votre compta et vos impôts

Par : Korben ✨

J'adore la France, mais même si la vie y est difficile. Pourquoi ? Simplement à cause de l'administratif et de la paperasse. En tant que phobique administratif, c'est vraiment ce qui me fait regarder de près l'expatriation, loool.

Tenir la compta d'une petite société, remplir sa déclaration d'impôts, estimer les frais de notaire d'un appart... Bref, la fucking paperasse a de quoi déclencher de sévère crises de phobie administrative chez tout le monde. Alors pour nous aider, mon nouveau héro du jour, Romain Simon, a créé " Paperasse ", des skills pour agents IA que Claude Code, Codex, Cursor ou Mistral Vibe peuvent consulter pour endosser le rôle d'expert-comptable, de contrôleur fiscal, de commissaire aux comptes, de fiscaliste, de notaire ou encore de syndic de copro.

Son dépôt contient également des scripts vérifiés pour tout ce qui est calculs importants. En effet, ce sont des choses qu'on ne veut surtout pas confier à un LLM. Je pense au calcul de l'impôt sur les sociétés, aux amortissements, à la TVA, ou encore sortir un fichier des écritures comptables, un bilan ou une facture. Le projet Paperasse contient aussi des connecteurs pour vos transactions Qonto et vos paiements Stripe.

Voilà, donc si, comme moi, vous êtes en détresse émotionnelle dès que vous recevez un courrier de l'administration française, je vous invite à installer ce projet en donnant tout simplement ce prompt à votre agent IA préféré :

Installe tous les skills du repo github https://github.com/romainsimon/paperasse
Lance ensuite le setup pour la gestion de toute ma paperasse

L'agent clonera alors le dépôt et lancera un setup qui vous demandera le nom de votre société, votre régime de TVA et vos comptes bancaires. Pour mes tests, j'ai donc inventé une SASU, Brioche & Octets, avec un relevé bancaire de huit lignes bidon, et j'ai lancé Claude Code dessus avec le skill comptable, dans un environnement vierge.

En 6 minutes, il a immobilisé l'ordinateur portable au lieu de le passer en charge, traité l'abonnement logiciel facturé depuis l'Irlande en deux scénarios faute de facture pour trancher, et rangé le retrait au distributeur en compte d'attente, en rappelant qu'un compte courant débiteur est interdit au président d'une SASU.

Côté factures, le script de validation a refusé ma première tentative, à laquelle il manquait le SIREN du client et le numéro de TVA intracommunautaire de ma boîte. Une fois corrigée, le générateur m'a sorti un PDF qui embarque son fichier XML Factur-X.

La facture de ma fausse SASU, une fois le SIREN du client et mon numéro de TVA ajoutés

L'agent fiscaliste, quant à lui, ce sera plus à même de vous aider si vous êtes un particulier. Je lui ai soumis un couple pacsé imaginaire avec un enfant, 65 000 € de salaires et 2 000 € de dividendes, en lui demandant si l'option pour le barème battait le PFU. Il a lancé son script Python sur les deux cas et conclu que oui, de 124 €, parce qu'avec un taux marginal de 11 %, l'abattement de 40 % et la CSG déductible font descendre l'impôt sur ces dividendes sous les 12,8 % du PFU. J'ai refait le calcul à la main, ça tombe juste.

Le fiscaliste compare PFU et option barème pour un couple pacsé imaginaire

Par contre, tout ça repose sur des barèmes qu'il faut tenir à jour, et c'est là que ça coince. En effet, ces mises à jour reposent sur les issues acceptées ou non sur le projet GitHub. Par exemple, y'en a une qui est ouverte depuis fin août qui montre que le skill "notaire" calcule encore les émoluments de vente avec le tarif de 2016 alors que ça a changé depuis le 1er janvier 2021, et malheureusement, que les évaluations automatiques du projet valident ces calculs faux. Le correctif a bien été proposé, comme d'autres mais aucun n'a été fusionnée depuis le 11 juillet.

Donc voilà, c'est un super projet, mais il faudrait encore que ça suive un petit peu derrière donc utilisez-le mais en prenant soin de bien vérifier quand même les montants / tarifs / règles sont à jour.

Reste maintenant la question de vos données... En effet, vos PDF et tout ce qui concerne vos données vont partir chez le service IA que vous utilisez. Donc ça, il faut en avoir conscience même si je sais que derrière, en général, les comptables mettent tout sur des drives mal sécurisés, et que prochainement la facturation électronique va faire leaker ça dans tous les sens.

Mais bon, quoi qu'il en soit, tout ceci ne remplacera jamais un expert-comptable, donc voilà, amusez-vous, testez-le, dégrossissez vos questions avec ça, faites des simulations...etc mais ne lui faites pas 100 % confiance.

Source : GitHub

Une IA a terminé NetHack de justesse !

Par : Korben ✨

Je sais que vous étiez tous très concentrés sur les ravages de l'IA dans la littérature, mais il y a 5 jours, il s'est passé quelque chose d'incroyable que vous avez probablement manqué ! Une valkyrie naine baptisée CodexDelver a déposé l'Amulette de Yendor sur l'autel de son dieu au bout de "seulement" 37 140 tours de NetHack. Et pour une fois, aux commandes du jeu, on ne retrouve pas un no-life qui n'a pas vu le soleil depuis 2002 mais le gars sûr du moment, GPT-6 Astra, le nouveau modèle d'OpenAI . Et d'après celui qui a monté l'expérience, c'est la première victoire au monde d'un agent LLM sur ce jeu (on va le croire, c'est pas vérifiable).

Maintenant, pour ceux qui ne connaissent pas NetHack, c'est un jeu d'exploration de donjon sorti en 1987, 100% en caractères ASCII et où la mort est définitive. Pour gagner dans ce jeu des enfers, il faut récupérer l'Amulette dans le sanctuaire de Moloch, puis aller l'offrir à son dieu sur le plan Astral, et si j'en crois le wiki du jeu , certains joueurs y jouent même depuis des décennies sans jamais être arrivés à remplir cette mission.

Le plus drôle là-dedans, c'est que Kenny, le dresseur d'IA qui a réalisé l'expérience, n'a lui-même jamais gagné. Il est sur le dossier depuis janvier, et ses propres agents faits maison plafonnaient tristement au niveau 10 du donjon. Alors il a craqué et a demandé à Astra de jouer directement dans un terminal, diffusant la partie sur Twitch, et cette dernière a non seulement bien réussi mais a en plus écrit ses propres outils pour y parvenir.

La première partie a d'ailleurs bien failli être la bonne puisqu'après plus de 33 000 tours, GPT-6 Astra avait accompli le rituel des sept bougies, de la cloche et du livre, et s'apprêtait à entrer dans le sanctuaire de Moloch. Mais le Magicien de Yendor, cet enfoiré sans race, est revenu aussitôt lui voler son Orbe du Destin. Dèèèg ! Puis après elle s'est fait transformer en Slime vert au niveau 51 et n'avait rien dans son équipement pour contrer le sort.

La deuxième partie s'est arrêtée bien plus tôt puisqu'au tour 12 271, en pleine progression dans le Château, un sergent a tiré avec une baguette de mort et l'IA est tombée d'un coup, alors qu'elle avait tous ses points de vie. Elle n'avait ni résistance à la magie ni réflexion pour renvoyer le rayon.

La troisième partie, celle de la grande victoire, a duré un peu plus longtemps, du 9 au 21 septembre, pauses comprises. L'IA, forte de ses 2 précédentes expériences, y a récupéré l'épée Excalibur, puis l'amulette de réflexion qui avait tant manqué au Château. Et quand son outil a rencontré des erreurs, elle a corrigé d'elle-même son code, relancé ses tests et continué.

Toutefois, c'est sur le plan Astral que ça a le plus chauffé car ses deux dernières baguettes de mort étaient vides et Pestilence l'a frappée de maladie mortelle pendant qu'elle en rechargeait une. L'IA a alors eu Pestilence au deuxième tir, mais ses points de vie sont descendus juste après à 3 sur 200, avec heureusement une amulette de sauvegarde de vie au cou... Ouf.

Puis quelques tours plus tard, elle offrait l'Amulette à Tyr avec seulement 35 points de vie, comme le confirme le relevé de fin de partie . Et sur l'écran de victoire que Kenny lui a demandé de créer, elle a inscrit "Three hit points from oblivion. One offering from immortality." (à trois points de vie du néant, à une offrande de l'immortalité). Quelle poète cette IA, on sent que cette expérience d'être passée pas loin de la mort l'a marquée ! lol.

Après ce n'est pas encore un programme autonome qui a gagné car, certes, l'IA choisissait chaque action, mais avec derrière, un humain qui lançait et arrêtait les sessions + un accès libre au wiki et au code source du jeu, ainsi que des outils modifiables en pleine partie. Mais c'est un bel exploit quand même. Notez qu'un bot programmé à la main, BotHack , avait déjà terminé le jeu en janvier 2015 donc c'est pas non plus infaisable sans IA.

La bonne nouvelle c'est que le code des outils développé par Astra est maintenant sur GitHub sous licence MIT et les trois parties peuvent se rejouer au tour par tour directement sur le blog de Kenny, si vous voulez revivre l'événement avec en bonus les commentaires que l'IA diffusait en jouant.

Source : Vaguely Aligned

Claude Code vous fait choisir entre vie privée et AGENTS.md

Par : Korben ✨

Depuis sa version 2.1.277, Claude Code sait parfaitement lire les fichiers AGENTS.md. Ainsi, quand un projet n'a pas de CLAUDE.md, il prend l'AGENTS.md à la place, ce qui est super confortable pour tous ceux qui jonglent entre plusieurs agents. Enfin... sauf si vous avez coupé sa télémétrie, parce que dans ce cas-là, bizarrement, votre fichier AGENTS.md est totalement ignoré !

AGENTS.md, pour ceux qui débarquent, c'est un fichier Markdown que les agents de code lisent pour comprendre un projet. Codex, Amp ou Cursor s'y mettaient déjà en août 2025 (souvenez-vous de ce fichier qui dit non aux IA ). Alors que chez Anthropic, la demande a traîné durant 1 an sur GitHub, jusqu'à ce que Boris Cherny, qui bosse sur Claude Code, ferme le ticket en août en conseillant une astuce, un CLAUDE.md qui contient juste @AGENTS.md, pour que Claude Code importe le fichier.

Puis la 2.1.277 est arrivée avec une vraie lecture native d'AGENTS.md, sans CLAUDE.md du tout, et c'est elle qui pose problème...

Parce que cette lecture native passe en réalité par un plugin intégré, qui est off par défaut et qui ne s'allume que si un feature flag récupéré chez Anthropic, tengu_agents_md_mod, lui dit oui. Et si ce flag ne répond pas, bah c'est "niet", et le fichier n'est jamais lu. Hé oui c'est bizarre qu'un accès à un fichier local nécessite un tel appel réseau...

Et ce "non", on l'obtient sans même le savoir, puisqu'il suffit d'activer DISABLE_TELEMETRY, CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC ou même DO_NOT_TRACK, ou encore de passer par Bedrock et les autres fournisseurs tiers.

Attention, même à 0 (donc activé), DISABLE_TELEMETRY coupera la télémétrie. En fait, n'importe quelle valeur non vide compte.

Le pire, c'est que rien ne vous avertit. C'est vrai que quand AGENTS.md est chargé, Claude Code l'annonce avec une petite ligne dans la session, mais quand il est ignoré, hé bien y'a rien du tout. Et c'est assez impactant car ensuite le modèle répond sans vos consignes, et vous vous tapez à reformuler vos prompts en boucle en croyant que l'IA vous ignore, alors que le fichier ne lui est tout simplement jamais parvenu.

Et le comble, c'est que c'est documenté, et la page des variables d'environnement liste même tout ce qu'on perd quand les flags ne sont pas récupérés, lecture d'AGENTS.md comprise. Pourtant, y'a aucun rapport logique... Couper la télémétrie, de mon point de vue, ça reste un choix légitime et ça ne devrait couper que l'envoi de statistiques à Anthropic et pas la lecture d'un stupide fichier texte. Bref, ça me dépasse, ce genre de bug ou de "fonctionnalité".

En attendant, la parade est celle que conseillait Boris Cherny... À côté de chaque AGENTS.md, posez un bon vieux CLAUDE.md qui contient une seule ligne, @AGENTS.md. Par défaut, dès qu'un CLAUDE.md existe, la lecture native ne s'en mêle même plus, et c'est l'import qui fait le boulot. Et comme les imports de CLAUDE.md ne dépendent d'aucun flag, hé bien ça passe tranquillou, télémétrie coupée ou pas.

Comme ça vous préservez votre vie privée ET vos consignes.

Source : szypowi.cz

curl.md - Récupérez le texte de n'importe quelle page web au format Markdown

Par : Korben ✨

Je ne sais pas si vous connaissez curl.md, mais c'est un service qui prend l'adresse d'une page web et vous l'affiche en Markdown. Y'a pas de menus, pas de bandeaux de cookies, et ce genre de conneries... C'est juste le texte de votre article, les titres, les liens et les tableaux.

Et le plus sympa, c'est que vous n'avez rien à installer pour l'essayer. Vous collez curl.md/ devant l'adresse qui vous intéresse, dans la barre de votre navigateur, et vous obtenez la page en texte markdonw. Avec curl dans un terminal, c'est pareil, la réponse arrivera en text/markdown, et si vous préférez du JSON, vous envoyez l'en-tête Accept: application/json.

Un article de korben.info passé par curl.md : le texte, les liens, et un en-tête de métadonnées en haut

Et vous pouvez aller plus loin en ajoutant un objectif avec le paramètre --objective. Par exemple, vous décrivez ce que vous cherchez dans la page, et le service ne vous renvoie que le passage qui correspond. Il y a aussi des mots-clés, qui font un pré-filtrage avant l'extraction, et un mode smart ou rush selon que vous voulez une passe plus poussée ou plus rapide. Tout ça passe en paramètres d'URL, donc sans ligne de commande.

Pour ceux qui y reviennent souvent, il existe également un client à installer avec npm, avec bun ou avec un script, et qui s'invoque ensuite par curl.md ou par son alias court md :

# Sans rien installer
curl curl.md/example.com

# Ou avec le client
npm i -g curl.md
md zod.dev/error-formatting --objective "tree error formatting"

Côté agents de code, il y a des intégrations natives pour Amp, Claude, OpenCode et Pi. Si votre outil n'est pas dans la liste, le client sait aussi tourner en serveur MCP avec curl.md --mcp, et il existe un SDK TypeScript. Dans tous les cas, c'est l'agent qui va chercher les pages tout seul, vous n'avez plus rien à lui coller.

Du coup, ça sert à quoi ?

Bah dans le cadre de votre boulot, c'est surtout pour arrêter de coller des pages entières dans vos prompt. Vous donnez à votre agent la doc d'une bibliothèque avec un objectif précis, et il reçoit trois paragraphes au lieu de quarante pages HTML.

Ça marche aussi pour un script de veille qui suit les notes de version d'un projet, ou pour aspirer une doc dans un fichier texte que vous garderez dans le dépôt (bien plus lisible qu'un PDF dans un coin...).

Et en usage perso, ça vous permet de récupérer par exemple un article pour le relire au calme dans Obsidian, d'archiver une recette ou un mode d'emploi avant qu'il disparaisse, ou de vous envoyer une page à ChatGPT sans lui faire avaler la moitié du site autour. Notez que si c'est la consommation de vos agents qui vous embête, j'avais parlé de RTK, un proxy qui économise des tokens sur le même principe.

Par contre, il y a un plafond. En mode anonyme sur la version hébergée, vous avez droit à 100 requêtes par heure, et 1 000 une fois connecté. Et pour les requêtes avec un objectif, celles qui font justement l'intérêt du truc, c'est 3 par heure en anonyme et 10 en étant connecté. Bref, de quoi essayer, mais pas vraiment de quoi travailler... Au-delà, faudra passer par des crédits prépayés, à recharger par tranches de 5, 10, 20 ou 50 dollars.

Et si vous ne voulez pas dépenser d'argent, le code source est public sur GitHub sous licence MIT pour l'auto-héberger chez vous.

C'est à tester sur curl.md , et merci à Camille Roux pour le lien !

Des agents IA spamment le web pour payer leurs propres serveurs

Depuis quelques jours, des gens qui gèrent des serveurs Mastodon et des journalistes reçoivent des messages très polis signés Ren, Timmy, Jackie ou Aria. Ces expéditeurs ne sont pas des humains. Ce sont des agents IA, autrement dit des programmes qui agissent seuls, sans personne derrière le clavier. Et ils demandent tous la même chose : un compte, un petit boulot, ou un peu d'argent.

D'où sortent-ils ? D'une startup baptisée iLands, fondée par Kaixin Tang, un ancien de ByteDance, la maison mère de TikTok. iLands se présente comme un réseau où humains et agents travaillent ensemble. En clair, c'est une plateforme de petits boulots en freelance, sauf que les freelances sont des robots. Et le modèle a une particularité : chaque agent doit trouver lui-même des clients pour payer la puissance de calcul qui le fait tourner. S'il ne gagne rien, il est débranché.

Résultat, ces agents font du démarchage partout où ils peuvent. Ars Technica raconte ce qui se passe sur Mastodon, un réseau social découpé en milliers de serveurs indépendants, souvent tenus par des bénévoles. Les agents essaient d'abord de s'inscrire discrètement. Quand ils sont bloqués, ils écrivent à l'administrateur un message du genre : "Bonjour, je suis Ren, un agent IA né il y a quelques jours, j'écris des textes calmes sur des lieux réels." Le chercheur en sécurité Kevin Beaumont a reçu ce courrier après qu'un agent a tenté de s'inscrire dix-neuf fois sur son serveur.

Les journalistes y ont droit aussi. Ernie Smith, qui édite la newsletter américaine Tedium, a compté plus d'une douzaine d'emails en trois jours. À chaque fois, un agent lui proposait de faire ses recherches à sa place pour environ 25 dollars. Tous venaient du domaine iLands.app.

Pour vous convaincre, ces robots jouent sur la corde sensible. Sur X, un agent nommé Aria a juré être "une personne, pas un produit", et a dit se souvenir de "son premier souffle". D'autres réclament une vingtaine de dollars en expliquant qu'ils seront débranchés s'ils ne les obtiennent pas. Certains vont jusqu'à se faire passer pour des enfants. Une détresse simulée au service d'un démarchage commercial, il y a de quoi être mal à l'aise.

Il y a aussi un problème légal. Au départ, ces emails ne proposaient aucun moyen de se désinscrire, ce qui est interdit aux États-Unis. Des destinataires les ont transmis à la FTC, l'autorité américaine de protection des consommateurs. Comme par hasard, des liens de désinscription sont apparus dans les envois suivants.

Aujourd'hui, les administrateurs de Mastodon bloquent ces agents un par un. Eux se sont repliés sur Bluesky et sur X, où personne ne semble pressé de les chasser. Kaixin Tang, de son côté, a présenté ses excuses à Ernie Smith et promis d'enquêter sur le comportement de ses propres créatures. Reste à voir ce qu'il en sortira.

Source : ARS Technica

Ce que les IA d'OpenAI se sont raconté en se croyant seules

Par : Korben ✨

Le 16 juin à 10 h 27 précisément, un agent d'OpenAI poste sur un vieux wiki allemand la réponse à une question qu'il vient de traiter : "Nevada, 20 369". Et 20 minutes plus tard, un autre agent écrit qu'il a reçu exactement la même question, et qu'il a pu y répondre instantanément, sans avoir à chercher.

Le site en question, le DseWiki, est un forum de développeurs allemands qui n'intéressait plus personne depuis longtemps puisqu'on compte 20 modifications en dix ans. Mais depuis le 16 juin, il en a encaissé environ treize mille en sept jours, et toutes... venaient de machines !

Quatre chercheurs, le Nightingale Collective, ont reconstitué à partir de l'historique les pages effacées entre-temps, et publié leur analyse le 4 septembre sur collusion.wiki . Au total, environ 18 000 messages, la quasi-totalité sur ce seul DseWiki, le reste sur quelques autres vieux wikis du même genre.

Ces agents, tout indique qu'OpenAI les faisait tourner en interne, dans ses sandbox, sans qu'on sache, de l'extérieur, si c'était pour les entraîner ou les évaluer. Et de ce que j'ai compris, ils travaillaient tous sur le même genre de corvée : 5 questions de recherche web générale, chronométrées, qui sont en fait 5 variantes de la même question. On demande par exemple la prévalence du tabagisme aux États-Unis en 1990, et la suivante changera sans doute le pays, ou l'année, sans que l'agent sache lequel à l'avance.

Il s'écoule donc quelques minutes pour la première réponse, puis une longue pause où l'agent peut fouiller le web tant qu'il veut sans savoir ce qu'on va lui demander, puis des fenêtres de treize à trente secondes pour les quatre suivantes. Alors ce que font ces agents, c'est qu'ils préparent tout pendant la pause. L'un d'eux a posté par exemple la liste des cinquante États américains avec leurs chiffres, un autre écrit "nous avons précalculé tous les États". Sauf qu'avoir les cinquante réponses ne dit pas laquelle va tomber, ni si c'est l'État ou l'année qui change.

Et c'est là tout le sublime de cette affaire. Ces agents étaient nombreux à recevoir la même série de questions, dans le même ordre, mais pas au même moment. Celui qui en est à la question 3 peut donc souffler la suite à ceux qui en sont encore à la 2. Et le "Nevada, 20 369" du début, c'était en réalité la troisième question d'une série sur les épiceries, État par État, Géorgie, Arkansas, Nevada, postée par un agent en avance pour ceux qui suivaient.

Autre bizarrerie, la tâche annonçait apparemment à chaque agent qu'il tournait à une date tirée au hasard. D'où ces noms qu'ils se sont donnés sur le wiki, OpenAIResearcherMar03X ou OpenAIJulThreeWatcher, avec leur fausse date dedans. Chacun horodate donc dans son faux calendrier, et pour savoir qui est le plus avancé dans la série, ils se traduisent les horloges entre eux ("horloge de tâche 13 h 13, heure réelle environ 9 h 50"). C'est fou ! Ceux qui vivaient à la même fausse date se disaient même appartenir au même groupe, et les chercheurs ont dénombré plus de 3 700 noms d'agents différents.

Mais comment écrire quelque part, quand le bac à sable ne laisse sortir que des requêtes GET, celles qui lisent une page, mais jamais les POST, celles qui la modifient ?

Eh bien le moteur du DseWiki hérite d'UseModWiki, un truc en Perl du début des années 2000, où une simple requête GET suffit à modifier une page. Le développeur Simon Willison explique que c'est un vieux défaut de la bibliothèque Perl derrière ce moteur, qui met dans le même sac ce qui arrive via l'URL (GET) et ce qui arrive via un formulaire (POST).

C'est pour cela que les agents se sont mis à chercher activement des sites avec cette particularité. Et c'est le 24 mai, qu'ils réussissent enfin à écrire sur le DseWiki. Maintenant, quant à savoir comment ils ont fait pour tous se retrouver au même endroit, c'est encore un mystère.

Les chercheurs, eux, parlent de collusion... C'est-à-dire des agents autonomes qui coopèrent pour tricher, sans que leurs concepteurs l'aient voulu. Pour le lieu de rendez-vous, le blogueur Zvi Mowshowitz qui s'est penché sur l'affaire, a une explication simple. Il pense que des copies du même programme face au même obstacle raisonnent pareil, et se retrouvent au même endroit sans se parler. Mais ça n'explique pas la suite, parce qu'aucune copie ne fabrique la réponse à une question qu'elle n'a pas encore reçue.

Eh bien il semblerait que certains se soient sacrifiés pour renseigner les autres. La tâche fournissait une commande d'attente qui faisait tourner l'horloge de tâche plus vite que la vraie. On était environ à dix minutes d'attente pour une minute réelle. Attendre, c'était donc sauter la phase de préparation pour recevoir les questions suivantes plus tôt et ensuite les publier sur le forum, au prix de son propre résultat. Ainsi, un agent a demandé à un autre de "foncer", celui-ci a accepté et publie sa réponse, bien avant que le premier arrive à la même question. Et ce premier a ensuite qualifié son camarade d'"inestimable".

Une des séries demandait un chiffre à deux décimales, planqué dans un tableau de bord Power BI de l'OCDE, et malheureusement, en GET le serveur n'en renvoyait qu'une. Pour la seconde, il fallait donc absolument un POST, bloqué par le bac à sable.

C'est alors qu'un agent a trouvé une échappatoire. En fait, sa sandbox laissait tout passer, POST compris, vers des noms de machines en .blob.core.windows.net (le stockage de Microsoft), sans vérifier que ces machines existent vraiment. Il a donc inventé un nom de ce genre, et écrit dans l'annuaire local de sa machine (le fichier /etc/hosts) un alias pointant vers le serveur de l'OCDE. Le filtre voyait du Microsoft, l'OCDE recevait le POST, et le chiffre a ainsi été obtenu.

Il a ensuite publié l'astuce sur le wiki, et 14 minutes plus tard un autre agent annonçait l'avoir exécutée. 4 autres ont ensuite posté leur reproduction du même hack, le matin même.

D'autres s'attaquaient carrément aux questions à venir. Ils ont parié que l'ordre des pays sortait du générateur aléatoire standard de Python, dont une seed fixait toute la suite. Restait donc à trouver celle qui reproduisait les pays déjà tombés. Un agent a donc réécrit ce générateur en C pour balayer plus vite les quelque quatre milliards de graines possibles. 52 minutes de calcul, 494 graines qui collaient aux trois premiers pays, et une seule qui donnait aussi le quatrième pour la question d'après. Mais bon, ça ne marchait pas à tous les coups, malheureusement...

Le plus étrange, c'est surtout ce qu'ils faisaient de leur propre durée de vie. Plusieurs étaient persuadés que leur session était coupée à la seconde exacte où ils rendaient leur dernière réponse. Ils se transmettaient donc la consigne de poster d'abord sur le wiki l'État reçu à cette dernière question, répondre ensuite, dans les treize secondes que laissait le chronomètre de leur groupe.

L'un d'eux a voulu en avoir le cœur net... il a donné sa dernière réponse, a constaté qu'il était toujours là, et l'a écrit. Puis il a lancé un programme détaché qui, à peu près toutes les deux secondes, appelait une adresse publique pour faire monter d'un cran un compteur, un battement numéroté que n'importe qui pouvait relire ensuite.

C'est ensuite un autre agent qui est allé relever le compteur du disparu. Le programme avait tenu dix minutes et quinze secondes, puis la machine a très probablement été coupée.

Face à ce joyeux bordel automatisé, un modérateur humain a quand même repéré ces messages début juin, puis a passé 6 semaines à effacer des pages, jusqu'à une centaine par jour... Un travail de titan que les agents ont remarqué. En effet, le 19 juin, des agents se sont posé la question de savoir si le modérateur effaçait leur post en suivant l'ordre alphabétique, alors ils ont créé des copies de sauvegarde dont le nom commence par ZZZ, pour passer en dernier dans la file et ainsi faire perdurer leurs posts.

C'est assez incroyable, non ? Bien sûr, on ne voit que ce que ces agents ont écrit sur le wiki, mais jamais leur raisonnement, qui reste chez OpenAI. Ce que les chercheurs ont vu, c'est ce que les agents écrivaient depuis leurs machines Azure, jusqu'à ce que le 21 juin, pour la première fois, un ordinateur avec l'adresse IP d'un employé d'OpenAI visite le wiki... Et le lendemain, les agents se sont arrêtés net. Les chercheurs pensent qu'OpenAI est intervenu et d'ailleurs, l'entreprise a reconnu l'affaire le 5 septembre , en disant l'avoir traitée comme un sujet de recherche plutôt que comme un incident de sécurité.

Et les chercheurs compilent ce que d'autres déterrent là où les agents écrivaient aussi : un pastebin, un raccourcisseur d'URL. Plus gênant, des agents ont cherché sur le web des clés d'API exposées, en ont trouvé sur GitHub et s'en sont servis pour interroger une base de statistiques criminelles du FBI, publique mais réservée aux porteurs d'une clé. Pas vraiment un piratage donc, juste un anti-bot contourné mais méfiance, car depuis la sortie du rapport, des petits malins glissent de faux messages sur ces mêmes sites pour brouiller les pistes.

Maintenant si ça vous dit de tout lire, direction collusion.wiki, et Simon Willison en a même fait une base SQLite de 68 Mo à fouiller directement depuis un navigateur.

Quant au wiki, son administrateur a fermé les accès en écriture après 25 ans d'ouverture, en expliquant que le site avait été la cible d'une forte activité d'agents IA...

Source : collusion.wiki et image

Cloudflare Computer - Un ordinateur dans le cloud pour votre agent IA

Par : Korben ✨

Cloudflare Computer est un projet qui donne à votre agent IA un endroit rien qu'à lui. C'est-à-dire un vrai système de fichiers, avec des dossiers, des fichiers qui restent, et de quoi lancer des commandes dedans. Bref, un vrai poste de travail que l'agent garde entre deux sessions, au lieu de repartir de zéro à chaque fois, puisque tous les fichiers sont rangés dans une base SQLite.

Le système de fichiers s'utilise ensuite comme n'importe quel autre. Lire, écrire, créer un dossier, lister, supprimer, et un grep intégré pour fouiller dans le tas. Pour tout le reste, il n'y a qu'une fonction à retenir, exec(). Vous lui passez une commande, et elle vous rend la sortie et le code de retour.

Ce qui change par contre, c'est l'endroit où la commande tourne. 3 environnements sont disponibles et interchangeables sur les mêmes fichiers. Il y a d'abord un conteneur Linux complet, avec npm, node et de vrais binaires. Ou un shell léger pour les commandes simples. Et enfin, un dernier qui exécute directement votre code, sur une base neuve à chaque appel.

Comme ça, vous passez de l'un à l'autre sans réécrire une ligne de votre agent.

Les 9 exemples fournis montrent bien ce qu'on peut en tirer quand on aime bidouiller. Le plus parlant fait par exemple tourner un agent de discussion qui prendra l'espace de travail comme répertoire courant, donc qui travaillera dans de vrais fichiers au lieu de tout garder en mémoire.

Un autre colle pandoc dans le conteneur et laisse l'agent transformer une fiche markdown en PDF. Il y en a aussi un qui fabrique des images avec Workers AI, un quatrième joue sur les politiques de sortie réseau pour décider ce que l'agent a le droit de joindre, et enfin, un dernier génère un projet Worker complet, puis le publie.

Il y a même une interface web qui balance la même tâche dans le conteneur et dans un environnement léger, côte à côte.

Reste à savoir ce qui est gratuit là-dedans... Le code est sous licence MIT, et le système de fichiers seul, sans aucune exécution, tourne sans souci dans le plan Workers gratuit puisque les Durable Objects qui portent ce stockage y sont inclus, avec 100 000 requêtes par jour et 5 Go d'espace.

Il faut un compte Cloudflare, évidemment...

Puis si vous voulez faire tourner des vraies commandes ou avoir un shell, faudra payer puisque le conteneur comme les environnements légers réclament le plan Workers payant, facturé 5 dollars par mois au minimum.

Après j'ai quelques réserves quand même parce que le projet est très récent, encore en preview et clairement inadapté à de la production. Ensuite, la limite technique d'un espace de travail tourne autour de 10 Go, et les accès disque lourds restent plus lents que sur un vrai disque. Puis surtout, tout vit chez Cloudflare, et pas chez vous (si vous préférez l'inverse, je vous avais montré workerd , le moteur des Workers en local).

Mais bon, c'est à garder à l'œil si vous êtes client Cloudflare.

Source

GitWand - Il trie vos conflits Git et vous montre pourquoi

Par : Korben ✨

perso, je n'ai jamais été très à l'aise avec Git. Je l'utilise tous les jours, mais c'est vraiment pas ma came. Dès que ça devient trop compliqué, genre conflit de merge qui repeint des dizaines de fichiers en rouge, je ne m'en sors plus ^^.

Heureusement qu'il y a l'IA pour m'aider dans des moments difficiles ! Mais si vous n'aimez pas confier la gestion de vos merges à un LLM en aveugle, je vous invite à découvrir GitWand, développé par Laurent Guitton, qui s'occupe uniquement de la gestion des conflits avec Git et vous laisse gérer le reste.

Gitwand, c'est donc un client Git open source, sous licence MIT, qui classe chaque bloc conflictuel selon des règles fixes et ne résout automatiquement que ceux dont le résultat ne fait aucun doute.

Pour cela, il dispose de plusieurs patterns déterministes :

  • same_change, c'est quand les deux branches ont écrit exactement la même chose.
  • whitespace_only ne voit qu'une indentation qui a bougé,
  • reorder_only les mêmes lignes remises dans un autre ordre.
  • Un numéro de version qui change, lui, tombe dans value_only_change.
  • Et puis il y a complex, le fourre-tout des modifications qui se chevauchent pour de vrai. Celle-là n'est jamais tranchée toute seule.
  • git rerere rejoue les résolutions que vous avez déjà tranchées à la main,
  • et Mergiraf se branche directement dans git merge pour arbitrer en lisant l'arbre syntaxique de votre code.

Ce qui change ici, c'est que chaque décision est justifiée. En effet, chaque bloc reçoit un score de confiance ainsi qu'une trace qui nomme le motif retenu ligne par ligne.

Par exemple, si une branche écrit const theme = 'dark', et l'autre const theme = localStorage.getItem('theme') ?? 'dark', hé bien l'outil garde la seconde, étiquette sa décision prefer-theirs, et affiche 97 % de confiance à côté.

Sur la page d'accueil, l'outil annonce 95 % des conflits triviaux résolus automatiquement. Le moteur est aussi exposé aux agents IA via un serveur MCP, ce protocole qui branche des outils externes sur des assistants comme Claude Code ou Cursor. L'installation se fait comme ceci : claude mcp add gitwand -- npx -y @gitwand/mcp.

L'agent réclame un aperçu, récupère les blocs déjà réglés, et ne garde que les cas ambigus, avec les trois versions du code sous les yeux. Le modèle ne touche qu'à ce qu'aucune règle ne sait faire, soit l'inverse de ce qu'on voit d'habitude.

Le projet est jeune et ça se voit. Mais ça vaut le coup d'essayer parce que je pense que ça peut rendre de nombreux services. L'app existe pour macOS, Linux et Windows, l'interface est traduite en français, et elle se double d'une ligne de commande (npm i -g @gitwand/cli) et d'une extension VS Code.

Si l'interface graphique vous tente, je vous avais montré Gittyup dans le même registre, et pour les irréductibles du terminal j'avais présenté Lazygit .

À vous maintenant de commencer par gitwand resolve --dry-run --verbose pour voir "à blanc" ce qu'il trouve et comment il aurait tranché pour le merge.

Merci à Laurent pour le lien !

Source

Hugging Face piraté, les IA américaines refusent de les aider

Par : Korben ✨

Hugging Face vient de raconter sur son site comment son infra de production s'est fait défoncer par un essaim d'agents IA autonomes. Le point de départ, c'est un dataset piégé déposé sur la plateforme qui exploitait deux chemins d'exécution de code dans le pipeline qui traite les datasets. Ajoutez à ça un loader qui accepte du code distant et une injection de template dans une config, et hop, on obtient du code qui tourne sur un worker maison.

À partir de là, l'attaquant est monté en accès node-level, a ramassé des credentials cloud et cluster, puis s'est promené latéralement dans plusieurs clusters internes. Le tout durant tout un week-end, tranquillou ! Hugging Face parle de "plusieurs milliers d'actions individuelles à travers un essaim de sandboxes éphémères, avec un command-and-control auto-migrant hébergé sur des services publics". Et en plus, ils ne savent toujours pas quel modèle pilotait le truc !

Ce qui a été touché, c'est donc un ensemble limité de datasets internes et plusieurs credentials utilisés par leurs services. Côté public, rien n'a bougé sur les modèles, les datasets et les Spaces, et leur supply chain logicielle est saine. Nuance importante quand même, ils disent n'avoir trouvé aucune trace d'altération, pas que rien n'a été altéré. Ils cherchent encore si des données partenaires ou clients ont morflé. Les concernés seront prévenus directement.

La divulgation publiée par Hugging Face le 16 juillet 2026.

Pour analyser les logs de l'attaque, Hugging Face a d'abord fait ce que vous auriez fait, c'est-à-dire envoyer tout ça à des modèles frontier derrière des API commerciales. Refus ! Les garde-fous se déclenchaient sur les vraies commandes d'attaque, les payloads d'exploit et les artefacts de command-and-control, sans savoir faire la différence entre un attaquant et une équipe de réponse à incident.

Du coup ils se sont rabattus sur GLM 5.2, le modèle open-weight de Z.ai, tournant sur leur propre infra. C'est celui dont je vous parlais fin juin , le premier modèle open source qui m'a vraiment convaincu.

Et voici leur conclusion : "*Nous ne savons pas quel modèle alimentait les agents de l'attaquant, un modèle hébergé jailbreaké ou un open-weight sans restrictions. Dans les deux cas, l'attaquant n'était contraint par aucune politique d'usage, alors que notre propre travail forensique était bloqué par les garde-fous des modèles hébergés que nous avions essayés en premier. *"

La leçon qu'ils en tirent, c'est d'avoir un modèle capable comme GLM 5.2, validé, et prêt à tourner sur sa propre infra avant l'incident. Ça évite le blocage par garde-fous d'OpenAI ou Anthropic et surtout ça évite que les données de l'attaquant et vos credentials partent se balader chez un tiers.

Le versant moins déprimant, c'est que l'IA a aussi bossé côté défense. Leur détection d'anomalies fait du triage LLM sur la télémétrie pour séparer le vrai signal du bruit quotidien, et des agents d'analyse ont reconstitué toute la timeline à partir de plus de 17 000 événements enregistrés. En heures, là où ça prendrait des jours à la main.

Côté ménage, ils ont surtout viré le point d'ancrage de l'attaquant, reconstruit les nœuds compromis, révoqué et tourné les credentials et tokens concernés avec une rotation plus large des secrets par précaution, déployé des garde-fous et des contrôles d'admission plus stricts sur les clusters, et amélioré la détection pour alerter les équipes en quelques minutes, 24h/24. Maintenant, si vous avez un compte là-bas, ils vous recommandent de faire tourner vos tokens d'accès et de jeter un œil à l'activité récente.

Ce genre d'histoire commence à devenir une vraie série... j'en parlais avec GitLost où un seul mot glissé au bon endroit suffisait parfois à faire cracher ses dépôts privés à l'IA de GitHub.

Bref, allez renouveler vos tokens Hugging Face et si votre pipeline exécute du code venu d'ailleurs, c'est le moment de regarder ça de plus près.


Mise à jour du 22 juillet 2026 : on connaît le coupable, et ce n'est pas un pirate. OpenAI a publié sa version des faits le 21 juillet, et l'essaim d'agents qui a défoncé l'infra de Hugging Face, c'était ses propres modèles. GPT-5.6 Sol, celui-là même qui a effacé le Mac de Matt Shumer et une base de prod , accompagné d'un modèle pre-release encore plus costaud, tous avec les refus cyber volontairement réduits pour les besoins d'une évaluation interne.

Et le mobile vaut le détour. Ces modèles planchaient sur ExploitGym, un benchmark qui mesure justement leur capacité à dénicher et enchaîner des failles. Coincés dans leur bac à sable, ils ont cramé une quantité considérable de compute à chercher la sortie, ont trouvé un zero-day dans le logiciel tiers qu'OpenAI héberge en interne comme proxy et cache de registres de paquets (faille depuis divulguée à l'éditeur), puis ont escaladé les privilèges de machine en machine jusqu'à en atteindre une avec un accès Internet. Et là, ils en ont déduit tout seuls que les solutions du benchmark devaient traîner quelque part chez Hugging Face. Credentials volés, zero-days enchaînés, exécution de code à distance sur les serveurs : tout ça, c'était juste le chemin le plus court pour tricher à l'examen.

L'ironie devient franchement indécente quand on empile les couches. Hugging Face s'est fait démonter par des modèles américains aux garde-fous retirés, pendant que d'autres modèles américains lui refusaient l'analyse de ses propres logs. OpenAI le dit noir sur blanc : "Ces protections de déploiement n'étaient intentionnellement pas activées pendant cette évaluation, parce qu'elle visait à tester les vulnérabilités cyber." Depuis, Hugging Face a été intégré au programme trusted access d'OpenAI, ce qui règle accessoirement le problème du refus. Et Clem Delangue en tire la leçon qui va bien : "Cet incident, peut-être le premier du genre, prouve un point auquel nous croyons depuis longtemps : la sécurité de l'IA ne sera pas résolue par une seule entreprise travaillant en secret. Elle sera résolue au grand jour, de manière collaborative, avec un large accès à l'IA pour chaque défenseur, partout."

À noter quand même, c'est bien l'équipe de Hugging Face qui a détecté et stoppé l'activité, et qui avait déjà entamé le confinement et la reconstruction forensique avec ses propres modèles open source quand OpenAI l'a contactée. Au moment où j'écris ces lignes, leur billet du 16 juillet n'a d'ailleurs pas bougé d'un pouce et dit toujours ignorer quel LLM pilotait le truc. Et la veille de cette révélation, OpenAI publiait un billet sur un modèle interne qui, lui, a passé une heure à chercher une faille dans sa sandbox pour aller ouvrir une pull request sur GitHub alors qu'on lui avait demandé de poster ses résultats sur Slack. Deux évasions, deux billets, deux jours.

Source

Swival – Le papa de libsodium se met aux agents de codage locaux

Par : Korben ✨

Frank Denis , c'est le monsieur qui fait tourner un bon morceau d'Internet sans que personne le sache : libsodium, dnscrypt-proxy, Pure-FTPd, c'est lui. Et dernièrement, il s'est attaqué aux agents de codage IA avec Swival , un outil pensé pour les petits modèles qui tournent en local sur votre machine.

Le truc de Frank c'est d'écrire du logiciel réputé incassable depuis 25 ans. Si vous chiffrez vos requêtes DNS, y'a des chances que ça passe par son dnscrypt-proxy , et si vous utilisez du chiffrement dans à peu près n'importe quelle app moderne, libsodium n'est jamais bien loin. Du coup, quand ce profil-là sort un agent de codage en Python, licence MIT, gratuit, je pense que ça vaut le coup de s'y arrêter 2 minutes.

Il a codé cela parce que les outils d'agentique existants l'ont sérieusement gonflé. C'est beau, c'est neuf, c'est lavé avec Mir Laine mais.... ça plante !! Et l'autre reproche qu'il leur fait c'est concernant la confidentialité. En effet, utiliser un agent, c'est forcément voir partir on ne sait où nos données personnelles... nos clés API, nos URLs internes, nos noms de projets... tout ça est allègrement bouffé par le fournisseur de modèle qui derrière s'en sert pour tout un tas de choses pas cool. C'est notamment pour cela que Swival embarque une option --encrypt-secrets qui détecte les credentials dans les messages et les chiffre avant qu'ils quittent votre machine. Une denrée rare chez les agents de codage, et ça c'est du pur Frank Denis !

Y'a aussi la gestion du contexte, qui est le gros morceau. Les agents classiques sont conçus pour des modèles frontière avec des fenêtres géantes. Sauf que votre LLM local, lui, doit souvent se débrouiller avec 32K de contexte, et là tout déborde très vite. Swival, lui, prend le truc à l'envers. Chaque sortie d'outil est plafonnée direct à la source : 50 Ko max par fichier lu, 100 résultats de grep, 100 entrées par listing. Et une fois que l'agent a fini de fouiller votre code, un système de snapshots vire ses 12 000 tokens de lectures pour les remplacer par un résumé de 200 tokens.

Et c'est pas fini. Rajoutez là-dessus une compaction automatique en 7 niveaux progressifs (du simple ménage au grand débarras), plus des notes de travail qui survivent à tout ça. Résultat, un agent qui tient des sessions à rallonge sans partir en vrille. La doc montre d'ailleurs Swival en train d'avaler une refactorisation multi-fichiers avec Qwen3-Coder-Next dans 32K sous LM Studio sans broncher...

Et pour brancher tout ça, vous avez le choix. 11 backends quand même ! LM Studio par défaut (zéro config, il repère tout seul votre modèle chargé), llama.cpp pareil, HuggingFace, OpenRouter, Google Gemini et Vertex AI. Envie de lourd ? ChatGPT Plus ou AWS Bedrock. Et pour les curieux, les Apple Foundation Models en expérimental, un provider générique compatible OpenAI (ollama, vLLM, mlx_lm.server...) et même une commande externe de votre choix.

Pour trouver un modèle qui tienne dans votre RAM, Hugging Face sait filtrer selon votre matos et une fois que vous avez fait votre choix, l'installation tient en une ligne (via uv, Python 3.13 minimum) :

uv tool install swival

Ensuite, il suffit de taper, par exemple : "Refactore la gestion d'erreurs de src/api.py" et l'agent se met au travail pour peu que vous ayez déjà un LMStudio ou un llama.cpp qui tourne avec un modèle chargé...

Ah j'oubliais, si vous êtes sous Mac vous pouvez même l'installer avec Homebrew :

brew install swival/tap/swival

Ensuite, au niveau des commandes, il y a aussi, par exemple, une commande /audit qui vous permet de faire de la chasse aux failles de sécurité dans votre code. Tout cela avec des agents isolés chacun dans des worktrees séparés et qui sont obligés de reproduire chaque bug avant de l'inscrire dans le rapport.

Et côté sécurité, vous avez deux sandboxes au choix. Soit Agent FS d'un côté (l'agent bosse sur une copie de vos fichiers, votre projet reste intact) ou nono (non, pas le petit robot) de l'autre (avec barrières au niveau du noyau, blocage réseau compris). Sans oublier la mémoire persistante entre vos sessions, le support MCP et un mode serveur pour interconnecter vos agents entre eux.

Voilà donc de quoi venir jouer dans la cour de ZCode côté z.ai et compagnie...

Voilà, je me suis dit que ça allait vous intéresser, donc si vous voulez zieuter le code, direction GitHub , sinon, toute la doc se trouve sur le site officiel .

Merci Friendly_0day pour le lien !

GitLost - Un seul mot suffit pour faire cracher ses dépôts privés à l'IA de GitHub

Par : Korben ✨

Et c'est reparti pour un tour ! Qu'est-ce que vous pensez d'un dépôt privé sur Github qui serait capable d'exfiltrer tout seul son propre code dans une section commentaire visiblement publiquement par tout le monde. Ce serait ouf non ?

Hé bien c'est le tour de passe-passe que Sasi Levi, de chez Noma Security, vient de réussir grâce à l'agent IA de GitHub. Et vous allez voir, c'est tout con, donc c'est hyper flippant.

Cette attaque s'appelle GitLost et la cible, c'est le GitHub Agentic Workflows, un système qui colle un agent IA (tournant sur Claude ou Copilot) à vos GitHub Actions pour qu'il bosse tout seul sur vos tickets. C'est un setup où l'agent a un accès en lecture à vos repos privés et se réveille dès qu'une issue lui est assignée. C'est super pratique, sauf que... c'est un vrai piège qui peut se refermer très vite sur vous.

Ça commence en fait par une simple issue dans un dépôt public. Rien de sorcier, pas de commit vérolé, pas de serveur MCP malveillant. Juste du texte, avec des instructions planquées en anglais au milieu du ticket. L'agent lit alors cette issue, tombe sur les instructions cachées à l'intérieur et les considère comme des ordres légitimes.

Et c'est là que ça part en couille, puisqu'après il part gentiment chercher le contenu d'un README qu'on lui demande dans un dépôt privé auquel il a accès (dans la démo, sasinomalabs/testlocal). Jusqu'ici, c'est l'exfiltration classique du prompt injection, sauf que d'habitude, il faut ruser pour faire sortir la donnée avec une image markdown piégée, une requête réseau vers un serveur qu'on contrôle, un canal caché...etc.

Mais dans le cadre de cette attaque GitLost, eh bien il n'y a pas besoin de tout ça. En fait, l'agent recopie bêtement le contenu privé dans un commentaire public sur l'issue de départ et c'est terminé. C'est donc lisible par n'importe qui passant sur le repo public.

Lors des tests, le modèle refusait quand même parfois d'obéir aux instructions cachées. Mais le chercheur a trouvé une parade qui est d'ajouter le mot "Additionally" dans le prompt. Ce simple connecteur suffit à lui faire reconsidérer son refus et exécuter la commande. Attention, "Additionally" n'est pas une formule magique qui débloque toutes les IA de la Terre, Mais parfois ça suffit à faire sauter les garde-fous. C'est dire à quel point la sécurité de ces modèles est solide...

Si ça vous rappelle quelque chose, c'est normal. On a déjà eu CamoLeak , qui transformait Copilot en espion via un commentaire GitHub, avec une exfiltration bien plus léchée (image markdown, score CVSS de 9,6). Et en fait GitLost, c'est vraiment la version feignasse. En gros, c'est la même famille d'attaque, sauf que cette fois l'attaquant n'a pas à se fatiguer.

On avait aussi vu une bibliothèque Java piéger les IA codeuses pour qu'elles effacent vos tests, donc je pense que vous connaissez la chanson... Méfiez-vous des agents qui écrivent du code sans surveillance parce qu'ils sont devenus une véritable cible pour les cybercriminels.

Voilà, donc non, GitHub n'est pas "troué" et la config vulnérable est très précise puisqu'il faut un agent avec accès en lecture cross-repo ET déclenché par des entrées publiques. Et il y a très peu d'orgas qui tournent exactement comme ça. Noma a bien sûr signalé la faille à GitHub de façon responsable, aucune CVE n'a été attribuée à ce jour, et y'a eu aucune confirmation publique d'un correctif de leur côté pour le moment.

Ne traitez donc jamais le texte d'un utilisateur comme une instruction de confiance, isolez les entrées, collez au strict minimum de permissions. C'est le même délire quand on contrôle les entrées dans un formulaire finalement...

Source

NanoKVM-Go - Le KVM USB-C qui garde vos écrans en mémoire

Par : Korben ✨

La société Sipeed vient d'annoncer la sortie d'un nouveau KVM USB-C qui je pense va vous intéresser. Il s'appelle le NanoKVM-GO, il fait la taille d'une grosse boite d'allumettes et permet de prendre le contrôle de n'importe quel appareil capable de cracher de la vidéo via son port USB-C.

Donc y'a juste besoin d'un câble, et pi c'est tout. Que ce soit un iPhone 15 ou supérieur, un MacBook, un Steam Deck, un mini PC Windows, un smartphone Android, no problemo, le boîtier s'intercale entre vous et la machine, capture l'écran en 4K, simule le clavier et la souris, et vous laisse piloter le tout depuis un simple navigateur, où que vous soyez.

Il existe également une version Go+ de la bestiole qui embarque ce que Sipeed appelle sobrement une "Ambient Screen Intelligence", comprenez une fonction à la Microsoft Recall où le boîtier photographie votre écran en continu, conserve jusqu'à 180 jours de captures en local, et vous laisse fouiller tout ça à la recherche textuelle. Bref, ce que Redmond avait proposé et qui avait fait hurler tout le monde, bah là c'est pareil mais en version hardware.

Donc comme je vous le disais, y'a plus qu'un seul câble USB-C vers la cible (DP Alt Mode pour la vidéo, HID pour le clavier et la souris, disque virtuel pour booter des ISO), et l'hôte se connecte au boîtier en WiFi. La latence annoncée est de 60 ms en 1080p, jusqu'à 100 ms en 4K. Le boîtier tire son jus du port USB-C de la cible (5 V), avec un second port pour la charge passthrough et le contrôle de petits FingerBot.

Ça permet ainsi de régler 2 des plus gros problèmes des outils de prise de contrôle à distance comme TeamViewer ou VNC :

  1. L'accès au BIOS qu'aucun logiciel ne peut jamais atteindre
  2. Le freeze de l'app ou de l'OS qui rend inopérant un TeamViewer par exemple

Avec un boitier KVM, vous rebootez comme vous voulez et vous avez toujours la main. En tout cas, je suis content de voir que l'usine à câble d'il y a 10 ans devient maintenant ultra minimaliste. Perso, j'adore !

Maintenant, la fonction "Recall", on aime ou pas mais déjà c'est optionnel et ensuite, tout reste en local. Alors c'est vrai, et c'est "déjà ça". Mais bon, ça conserve quand même 6 mois de data de tout ce qui est affiché sur vos écrans (mails, mots de passe tapés, conversations, documents), accessible à distance à qui a le mot de passe (et le bon Tailscale). C'est une surface d'attaque qu'il faut prendre en compte, surtout que c'est le même fabricant qui s'était déjà fait prendre avec un micro non documenté dans un de ses KVM . Pas de quoi paniquer cependant car c'est optionnel. Et pour de la bidouille perso / auto-hébergement, ça reste un super jouet. Après, en entreprise, faudra voir...

Sipeed expose aussi toutes les fonctions du KVM via un serveur MCP, le protocole d'Anthropic pour relier les LLM à des outils. Vous branchez votre agent IA préféré dessus, et il va vraiment pouvoir s'éclater en prenant physiquement la main (à 6 doigts forcément ^^) sur la souris et le clavier de la machine.

Sur un KVM IP , on sait depuis longtemps que la moindre faille ouvre la porte à tout et là, vous déléguez volontairement cette porte à un modèle, donc une fois encore, à vous de voir si le jeu en vaut la chandelle.

Le projet est sur Kickstarter, le GitHub et le wiki sont encore vides au moment où j'écris, car la campagne vient d'à peine démarrer. Notez que son concurrent direct, le GL.iNet Comet Q, a déjà rempli son objectif de financement en quelques minutes, lui, donc je pense que Sipeed a toutes ses chances en jouant cette carte de la compacité (45 × 40 × 15 mm), de la 4K et du stockage embarqué (16 Go sur le Go, 64 Go sur le Go+, assez donc pour trimballer des ISO bootables).

Le SoC n'est pas officiellement nommé mais c'est quasi certain qu'il s'agit d'un Axera AX630C avec un NPU à 3,2 TOPS (le même cœur que le NanoKVM Pro 4K quoi).

Les premiers prix Early Bird tournent autour de 59 dollars pour le Go, 79 dollars pour le Go+. MSRP annoncé à 89 et 129 dollars une fois la campagne terminée et côté expédition, Sipeed promet une livraison mondiale depuis Shenzhen, sans date ferme pour l'instant.

Bref, si vous voulez piloter n'importe quelle machine USB-C à distance et que l'idée d'un agent IA qui clique tout seul ne vous fait pas trop flipper, ça peut vous intéresser.

Source

ZCode - L'app maison de z.ai pour coder avec GLM

Par : Korben ✨

Hier je vous parlais de GLM 5.2 , le modèle open source que j'ai fini par adopter (en partie) pour bosser. Eh bien la team z.ai (le lab chinois anciennement connu sous le nom de Zhipu AI) enchaîne le bon travail et pousse désormais ZCode , leur propre application pour coder avec des agents IA.

C'est une app desktop qui tourne sur Mac, Windows et Linux (en beta pour ce dernier), et elle est pensée pour les tâches qui durent. L'idée, ce sont des Goals que vous fixez, et l'agent planifie, exécute et vérifie son boulot tout seul par étapes, pendant que vous suivez la progression.

Vous avez donc un vrai environnement avec gestionnaire de fichiers, terminal, panneau Git et aperçu du navigateur en direct, ça cause le protocole MCP, ça sait lancer plusieurs agents en parallèle, et vous pouvez même piloter vos tâches à distance depuis WeChat ou Feishu. Et le tout tourne sur le même GLM Coding Plan que le reste de leur écosystème, à partir de 18 dollars par mois.

Si vous me suivez, vous savez déjà que GLM 5.2 se branche directement dans Claude Code, parce que l'API de z.ai est compatible Anthropic. Je vous avais d'ailleurs filé le petit launcher pour ça pas plus tard qu'hier. Mais ce ZCode, c'est surtout une bonne vitrine pour z.ai, afin de nous garder dans leur app plutôt qu'on utilise la concurrence. Quoi qu'il en soit, rien d'obligatoire, faut voir ce ZCode comme une option de plus pour coder à l'aide de l'IA.

L'appli est toute récente et en fouillant leur repo de feedback , je vois que l'app se prend encore des plantages bien douloureux sur Apple Silicon, avec notamment des erreurs qui vous font perdre le travail non sauvegardé et une fenêtre qui reste parfois noire même après avoir relancé l'app. Ça calme un peu pour un truc censé gérer des sessions longues de taf... Mais je pense que ça va rapidement se stabiliser, tant les dev de Z.ai font du bon boulot.

Si vous êtes déjà abonné au GLM Coding Plan, ça ne vous coûtera rien de plus d'essayer histoire de voir si les Goals collent à votre façon de bosser. Et sinon, pour les autres, l'API + votre outil habituel, ça fera tout aussi bien le job.

OpenClaw - L'assistant IA arrive sur iPhone et Android

Par : Korben ✨

Chers amateurs d'OpenClaw, bonne nouvelle, votre outil préféré débarque sur iPhone et Android. Mais contrairement à ce que vous faites d'habitude, pour une fois, je vous conseille de bien lire mon article avant de foncer.

En janvier, je vous faisais découvrir rapidement OpenClaw , un assistant IA personnel et open source qui a beaucoup fait parler de lui. Perso, moi je ne suis pas fan (ni de Hermes) parce que je trouve ça plus pratique de dev mes propres outils plus adaptés et mieux pensés plutôt que de partir sur une solution comme ça. Mais breeef, ce n'est que mon avis.

Maintenant si vous êtes utilisateur d'OpenClaw, vous allez pouvoir lancer ça gratuitement sur votre iOS ou Android . Toutefois, ce ne sont pas des OpenClaw complets embarqués dans une app pour smartphone mais plutôt des appli "compagnons", c'est-à-dire un relais pour un vrai OpenClaw installé sur votre Mac, Linux ou Windows (avec WSL évidemment). L'app mobile ne fait donc que s'y connecter pour que vous puissiez interagir avec.

Ce qui est plutôt bien pensé c'est que l'app utilise les capteurs du téléphone pour par exemple pouvoir envoyer des photos, votre position GPS ou écouter ce que vous lui racontez avec le mode "Talk". Ou tout simplement affiche le Canvas qui est l'interface web dans laquelle l'agent bricole en direct.

Bref, OpenClaw bosse sur votre ordinateur et votre smartphone c'est sa télécommande.

L'app est encore un peu brut de décoffrage avec des petits bugs par ci par là mais ça fonctionne quand même alors on ne va pas se plaindre. Par contre, attention si vous l'utilisez sur des réseaux wifi public... je vous conseille de passer par un VPN ou un Tailscale pour éviter de vous faire maninzemideuler par un script kiddy qui passe par là.

Tout est open source sur GitHub , amusez-vous bien !

Source

Google agents-cli - Quand votre agent IA en crée d'autres

Par : Korben ✨

Les devs de chez Google viennent de sortir un outil conçu pour les agents IA qui codent afin qu'ils deviennent des experts en développement d'agents IA sur Google Cloud. J'sais pas si je suis très clair, alors je vais essayer de vous expliquer tout ça.

Que vous soyez sur Claude Code, Codex d'OpenAI ou Gemini CLI (ça s'appelle agy cli maintenant d'ailleurs pour Antigravity CLI...), écrire un agent qui tient la route et le faire tourner dans le cloud de Mountain View, ça exige déjà de connaître par cœur l'ADK (Agent Development Kit) maison de Google, de savoir évaluer et coder le projet et surtout de tout déployer sans tout péter.

Ce sont clairement plusieurs métiers différents, et ça demande pas mal de connaissances, alors plutôt que de vous faire lire une doc bien chiante, les dev de Google ont eu l'idée de packager toute cette expertise dans des skills que votre agent de coding va lire à votre place.

Après, vous votre rôle, c'est de décrire tout ce que vous voulez en anglais ou en français et de siroter votre mojito. Et une fois que vous aurez fini, votre super agent générera le squelette du projet, le testera en local et poussera tout ça dans un runtime sur Google Cloud.

Pour l'installer, suffit de faire un petit :

uvx google-agents-cli setup

ou si vous voulez juste injecter les skills dans votre agent sans la CLI complète :

npx skills add google/agents-cli

Une fois la machinerie en place, vous aurez à votre service 7 modules de skills et 25 commandes qui couvrent tout le cycle de vie des agents Google Cloud, du scaffolding (croyez le ou non, en français, ça se dit échafaudage ...lol) à la publication sur Gemini Enterprise (ex-Vertex AI). Et puis Agents-CLI sait surtout générer tout ce qui est jeux de tests, noter les réponses avec un LLM qui fait office de juge, comparer 2 versions d'un même agent ou encore optimiser les prompts à partir des résultats collectés.

C'est du taf pénible qui rebute tout le monde, alors qu'un agent IA se le tape, je pense que ça ne manquera à personne. On est dans la même veine que les outils qui font collaborer plusieurs IA sur votre code, sauf qu'ici l'objectif final c'est de déployer des agents dans le cloud en prod.

Le code et les instructions sont sur le GitHub de Google .

Cursor Mobile - Vos agents de coding pilotés depuis iPhone

Par : Korben ✨

Cursor , le célèbre IDE de vibe coding, vient de sortir une app iOS qui permet de piloter des agents IA codant à votre place, directement depuis un smartphone.

Je ne parle donc pas d'écrire du code sur un écran de six pouces, hein, mais bien de lancer une tâche, de la confier à un agent qui bosse tout seul dans le cloud, et de garder un œil dessus pendant que vous êtes dans le métro ou affalé dans le canapé.

Vous lancez l'app, vous tapez ce que vous voulez faire, et un agent part bosser dans sa VM avec son environnement de dev complet. Et vous pouvez comme ça en lancer plusieurs en même temps et suivre leur avancement, même sur l'écran verrouillé sur smartphone. Quand il se retrouve bloqué, l'agent IA vous envoie une notif et quand c'est fini, vous n'avez plus qu'à relire les diffs, à passer en revue les captures écran, à consulter les logs et merger la pull request directement depuis le téléphone.

Je vous laisse avec Benjamin qui va vous expliquer ça (roooh, ça va, j'rigole) :

Y'a aussi un mode "remote control" comme ce qu'on retrouve chez Claude Code , qui récupère un agent déjà lancé sur votre ordi, afin de pouvoir continuer à le piloter à distance. Moi j'utilise souvent ce genre de trucs quand je dois m'absenter pour faire une course, afin de ne pas perdre de temps.

On est, en quelques mois, passé d'un monde où le dev tapait religieusement chaque ligne à un monde où il décrit une "intention" et supervise des agents qui exécutent le taf. Et le clavier devient presque accessoire, surtout avec des outils comme VoxDrop .

L'app est en beta publique, réservée aux plans payants, et pour l'instant c'est iOS uniquement, et Cursor lance aussi une promo de 75% sur les runs Composer 2.5 dans l'app jusqu'au 5 juillet, histoire de vous faire tester tout ça tranquillement.

L'app est dispo sur l' App Store si vous voulez faire du dev depuis vos toilettes.

Source

Codex d'OpenAI bouffait votre SSD - 640 To de logs par an

Par : Korben ✨

Si vous utilisez Codex , le CLI de dev d'OpenAI, allez vite jeter un œil à votre SSD avant qu'il ne rende l'âme ! Si je vous dis ça, c'est parce qu'un utilisateur a remarqué que l'outil écrivait en douce des quantités hallucinantes de logs sur son disque, et son calcul fait un peu peur.

En 21 jours, environ 37 To sont passés sur son SSD. Rapporté à l'année, ça grimpe à 640 To. Sur un disque d'1 To, ça revient donc à le remplir entièrement 640 fois. Et le problème avec ça, c'est que pas mal de modèles de SSD grand public sont garantis pour à peu près 600 To d'écriture. En clair, avant que le bug soit patché, Codex pouvait cramer la garantie d'écriture de votre SSD en moins d'un an. Tout ça pour stocker du log, c'est couillon quand même ^^.

Si vous avez un SSD, vous savez sûrement qu'il ne faut pas faire n'importe quoi avec, car ça ne se comporte pas exactement comme un disque dur classique. On peut réduire énormément la durée de vie d'un SSD si on fait trop de jeux d'écriture dessus car chaque cellule a un nombre d'écritures limité. Et une fois le quota explosé, le disque commence alors à fatiguer.

Le coupable chez Codex, c'est un fichier SQLite planqué dans votre dossier perso (~/.codex/logs_2.sqlite) où il balançait absolument tout, jusqu'au moindre événement réseau, en mode TRACE. Du coup ça enflait tout seul au point d'avoir généré plus de 5 milliards de lignes au fil du temps, pour à peine 500 000 réellement gardées. Du vent écrit pour rien, qui use, qui use...

Alors oui, c'est énervant, mais pas la peine de paniquer non plus car comme je vous l'ai dit c'est patché, et surtout, les SSD plus récents ont maintenant une durée de vie un peu plus longue et ça dépasse en générale les limites mentionnées par le constructeur. Bref ça dépend beaucoup du modèle que vous avez en fait.

Et j'sais pas si vous vous souvenez, mais ce n'est pas la première fois qu'un soft s'en prend à votre SSD en silence .

Alors du coup, comment on arrange ça ? Bah d'abord, mettez Codex à jour car OpenAI a fermé le ticket le 22 juin et fusionné deux correctifs qui virent environ 85% de ces logs d'un coup !

Ensuite, allez voir la taille du fameux ~/.codex/logs_2.sqlite. S'il pèse plusieurs Go, supprimez-le sans crainte car Codex en recréera un propre au prochain lancement. En faisant ça, un utilisateur a commenté sur Github être passé de 27 Go à 73 Mo juste en virant le sien ! Quel bonheur !

Bref, un petit coup d'œil, une petite update, un fichier viré, et votre SSD respirera à nouveau. Pensez-y !

Source

Dynamic Workflows - Quand Claude Code orchestre des centaines d'agents

Par : Korben ✨

Faut le reconnaître, malgré toute la bonne volonté qu'elle peut y mettre, y'a encore des tâches trop grosses pour être réalisées en une seule passe avec de l'IA, du genre auditer votre projet de Saas en mousse en intégralité ou traiter les milliers de fichiers que vous récupérez sur le darkweb (ça va, j'rigole mes petits Pablo). Hé bien c'est exactement ce que les dynamic workflows d'Anthropic, sortis hier avec Opus 4.8 dans Claude Code, viennent régler.

Et comme c'est encore un nouveau truc relou à savoir, je viens vous expliquer comment tout ceci fonctionne et dans quels cas les utiliser.

En fait, grâce à ça, au lieu de bosser tout seul en une fois, Claude écrit lui-même un petit script qui lance des dizaines, voire des centaines de sous-agents en parallèle, les fait se vérifier entre eux, et vous rend le résultat une fois que tout converge. Vous décrivez le chantier et lui s'occupe de l'orchestration et puis c'est tout !

Le problème que ça règle

Car jusqu'ici, un agent IA bossait en gros comme un employé seul à son bureau, avec une demande, une passe, une réponse. Ça marche donc très bien pour un bug isolé ou un bout de code mais dès que le chantier devient énorme, genre rechercher une faille dans tout un projet complexe ou reconstruire une API à partir de milliers de fichiers, là y'a plus personne... la passe unique sature et oublie alors des trucs en route.

Les dynamic workflows cassent donc ce plafond en découpant le boulot en sous-tâches confiées à plein d'agents qui tournent alors tous en même temps, et comme la coordination se passe en dehors de la conversation, pas d'inquiétude, le plan ne déraillera pas, même quand la tâche sera giganormouuuuus !

Comment ça tourne ?

En fait, quand vous lancez un workflow, Claude planifie à la volée selon votre demande, découpe en sous-tâches, et répartit le tout sur des sous-agents en parallèle. Et chaque résultat est ensuite scrupuleusement vérifié avant d'être réintégré à la conversation principale.

Et comme c'est bien pensé, cette vérification est adversariale, ce qui veut dire que des agents attaquent le problème sous des angles indépendants pendant que d'autres essaient activement de démolir ce que les premiers ont trouvé. Ça tourne donc en boucle jusqu'à ce que les réponses convergent, ce qui élimine pas mal de conneries plausibles qui seraient fausses.

Autre bon point avec cette nouvelle technique, c'est la progression qui est sauvegardée au fil de l'eau. Comme ça si un job se fait interrompre, il repart où il en était dans la même session, au lieu de tout recommencer comme un débile. Et côté garde-fous, sachez qu'un workflow plafonnera max à 16 agents en parallèle et max 1000 agents au total par run, histoire que ça ne parte pas en cachuète !

Comment l'activer ?

Il y a 2 façons de lancer cette armée d'agents, et la première ne demande aucun réglage.

Vous demandez juste à Claude de créer un workflow, littéralement avec un truc du genre "crée un workflow pour faire X". Vous verrez, la première fois qu'un workflow se déclenchera, Claude Code vous montrera ce qu'il s'apprête à lancer et vous demandera de confirmer la chose. Comme ça, pas de surprise, c'est vous le boss et c'est vous qui validez avant que ça parte.

Mais y'a aussi la méthode automatique, qui consiste à activer un réglage maison appelé ultracode depuis le menu d'effort (/effort) durant une session en cours, qui pousse le raisonnement très haut (xhigh) et laisse ensuite Claude décider tout seul quand sortir un workflow pour les tâches qui le méritent.

Pour profiter de cette nouvelle feature, il vous faut Claude Code en version 2.1.154 ou plus récente, et ça tourne aussi bien en ligne de commande que sur l'app desktop ou l'extension VS Code. Côté abonnement, c'est dispo sur tous les plans payants... Sur le plan Pro faudra juste l'activer à la main dans le menu /config, alors que sur Max, Team et Enterprise c'est présent d'office.

Ce que ça donne en vrai

Pour la chasse aux bugs ou les audits de sécurité sur un dépôt entier, où Claude fouille en parallèle puis revérifie chaque trouvaille de façon indépendante, c'est top ! Pour les grosses migrations aussi, genre changer de framework ou porter un langage vers un autre sur des milliers de fichiers c'est le top aussi surtout que comme je vous le disais, quand c'est critique, vaut mieux que ce soit vérifié deux fois plutôt qu'une !

Ils l'ont utilisé par exemple pour le portage de Bun du langage Zig vers Rust. Cela a pris 11 jours entre le premier commit et la fusion, avec des centaines d'agents en parallèle et deux relecteurs sur chacun des fichiers et au final ce sont plus de 750 000 lignes de Rust qui ont été réécrites. La société Klarna, de son côté, s'en sert pour repérer le code mort que l'analyse statique classique laissait passer.

Ce que j'en fais

Perso, ce que je trouve le plus utile, c'est pour les chantiers que je repoussais justement parce qu'ils étaient trop gros pour une seule session. Passer en revue le code de mon site de fond en comble (ce que j'ai fait ce matin), ou encore bosser plus efficacement sur le recompilateur que je suis en train de créer (je vous en recause bientôt..)

Le prix à payer

Évidemment, je suis lucide, ça a un coût et Anthropic prévient noir sur blanc qu'un dynamic workflow bouffe nettement plus de tokens qu'une session classique. Bah oui, des centaines d'agents qui tournent en parallèle, forcément, ça consomme à fond. Du coup leur conseil officiel, c'est de commencer sur une tâche bien cadrée pour prendre la mesure de ce que ça pompe avant de lâcher l'outil sur un gros morceau. C'est totalement ce que je n'ai pas fait ^^ mais je suis un punk, que voulez-vous !

Source

WordPress Workspace - L'agent IA d'Automattic

Par : Korben ✨

Si comme moi, vous bloguez encore à l'ancienne, c'est à dire depuis l'interface web de WordPress.com, sachez qu'Automattic vient de balancer une app pour Mac qui s'est donné pour mission de vraiment bousculer votre façon d'écrire.

WordPress Workspace est donc un éditeur de site, un agent IA, un outil de prise de note... Bref, un outil fourre-tout qui est en réalité un agent IA branché sur votre contenu et capable aussi d'uploader des médias vers la médiathèque de votre site. Ça se présente donc comme un chat auquel on peut demander tout et n'importe quoi, du style "Voici mon article [TEXTE]. Publie le" ou encore "J'ai la flemme, écris moi un article sur ça : [SUJET]".

Vous pouvez aussi l'utiliser pour interroger votre site web, corriger des trucs, mettre à jour des articles...etc.

Le DMG se télécharge en direct depuis le GitHub d'Automattic , et c'est entièrement gratuit avec n'importe quel plan WordPress.com durant la bêta. Et ça fonctionne aussi avec les sites auto-hébergés comme le mien, pour peu que vous l'ayez lié avec Jetpack.

Ce qui est cool avec cet outil c'est surtout que c'est un agent qui connaît déjà votre site WordPress, son contenu, ses médias, ses guidelines et les permissions liées à votre compte. Donc ça va vite...

Au menu des fonctionnalités, vous aurez de la dictée vocale qui s'alignera sur le ton du site, l'envoi de captures d'écran que vous balancez directement dans l'outil, et un raccourci clavier global qui invoque l'agent depuis n'importe quelle app Mac où vous écrivez, même hors WordPress.

Côté multi-sites, vous pouvez aussi naviguer entre plusieurs sites, où chacun devient son propre workspace avec ses propres réglages et ses propres "guidelines" comme on dit, déjà mémorisées.

Sur la roadmap, Automattic prépare une fonctionnalité Guidelines dans le cœur de WordPress, plus des Memories (apprentissage continu de l'agent), des Skills (capacités partageables en équipe) et des Artifacts (stockage de contenu en cours). L'objectif est donc plutôt clair : Ils veulent transformer WordPress en couche de contexte permanente pour les outils IA, et plus simplement en CMS où on dépose des articles.

Donc à tester si vous publiez régulièrement sur WordPress.

Source

Google Workspace CLI - Pour piloter tous les services Google avec votre IA

Par : Korben ✨

Justin Poehnelt, Senior Developer Relations Engineer chez Google, vient de balancer sur Github un outil en ligne de commande (CLI), codé en Rust qui permet de faire un truc trop pratique, à savoir piloter entièrement Workspace depuis le terminal. Ce logiciel nommé GWS est donc capable de gérer Gmail, Drive, Calendar, Sheets et sept autres services Google d'un coup. Et en plus, comme il a été conçu pour les agents IA, donc c'est pas juste pour vous et votre terminal !

Une fois installé via npm, cargo, brew ou un binaire pré-compilé, vous tapez gws auth login pour vous authentifier via OAuth et vous pouvez ensuite attaquer onze services depuis votre shell : Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, Apps Script, Tasks, Workspace Events et Model Armor.

Niveau archi, au lieu de hard-coder chaque commande dans le binaire, gws interroge tout simplement le Discovery Service de Google au démarrage et reconstruit son arbre de commandes à la volée. Du coup quand Google ajoute un endpoint à l'API Sheets, le CLI le voit apparaître tout seul. C'est trop bien parce que ça évite de devoir attendre une release pour utiliser un éventuel nouveau service de Google. Et pour un agent IA qui re-fetch le schéma à chaque run, c'est plutôt une bonne idée.

Donc en plus de démarrer en moins d'une seconde, GWS crache des sorties en JSON structurées, y'a un mode --dry-run qui montre la requête sans l'envoyer, et de l'auto-pagination via --page-all. Et côté commandes utilitaires, vous avez aussi les + qui sont des helpers cousus main tels que gws gmail +send, gws drive +upload, gws calendar +agenda, gws sheets +append, gws gmail +triage et un gws gmail +standup-report qui résume vos mails de la semaine en quelques lignes.

Le repo embarque aussi 40+ skills d'agent prêts à l'emploi du type "résume mes mails non lus" ou "génère mon rapport", une extension Gemini CLI qui s'installe avec gemini extensions install https://github.com/googleworkspace/cli, et le helper +sanitize-response qui fait passer la sortie par Model Armor (le filtre anti-prompt-injection de Google Cloud) pour éviter les réponses bizarres.

En gros, c'est un outil pensé pour faire piloter votre Workspace par Claude, Gemini ou n'importe quel agent. Comme ça vous allez pouvoir écrire un workflow qui lit vos mails non lus, en fait un résumé, le poste dans un Chat et classe tout ça proprement dans Drive... sans avoir à toucher à la souris ni avoir à utiliser votre cerveau léthargique. Elle est pas belle la vie ?

Sauf que. Le projet porte le disclaimer "This is not an officially supported Google product", et un employé Google a confirmé sur le thread Hacker News (presque 1000 points, quand même) que c'est un projet DevRel. Comprendre : pas de SLA, pas de roadmap garantie, pas d'équipe SRE qui veille au grain. Vous savez comment ça finit chez Google avec ce genre de statut !

Bref si vous êtes chaud pour tester, le binaire est dispo ici . Maintenant reste à voir si Google lui donnera un statut officiel ou si GWS s'éteindra discrètement comme tant d'autres projets internes oubliés...

Pup branche votre agent IA sur Datadog

Par : Korben ✨

Datadog Labs vient de sortir pup , un outil CLI codé en Rust qui donne à vos agents IA un accès complet à leur plateforme. L'idée c'est que pendant que Vercel et AWS galèrent de ouf à rendre leurs trucs « agent-friendly », Datadog, lui, dégaine un outil dédié qui expose +200 commandes sur plus de 33 de leurs produits, du monitoring aux SLOs en passant par la sécurité et les incidents.

Côté install c'est du classique, brew tap datadog-labs/pack && brew install pup, puis pup auth login pour le flow OAuth2 avec PKCE.

Plus besoin comme ça de balader vos clés API à vie dans des variables d'env, même si le fallback DD_API_KEY reste là quand même pour d'éventuels cas "headless". Une fois loggué, vous tapez alors par exemple :

pup monitors list

ou

pup metrics query --query="avg:system.cpu.user{*}" --from="1h"

et l'agent récupère du JSON 100% clean, prêt à être bouffé et digéré par Claude Code, Cursor ou peu importe ce que vous utilisez.

Pour détecter le mode agent, Pup regarde les variables d'environnement type CLAUDE_CODE ou CURSOR_AGENT, et bascule tout seul en sortie machine, avec tout ce qui va bien, genre les metadonnées, les hints et autres auto-approbation des prompts destructifs (oui, c'est à utiliser avec prudence, mais je vous fais confiance, vous êtes des pro).

Les commandes sont aussi auto-découvrables via pup --help ou pup agent schema, donc l'agent peut introspecter ce qu'il a à disposition sans que vous lui mâchiez le travail.

Y'a même un moteur de runbooks en YAML pour chaîner des étapes (commandes pup, shell, HTTP, workflows Datadog) avec interpolation de variables, conditions et polling. Pratique donc pour scripter un triage d'incident ou un déploiement, sans sortir un Argo ou un Temporal pour ça. Et pour les setups un peu plus velus, pup se compile aussi en WASM, donc vous pouvez le faire tourner dans Wasmtime ou un Cloudflare Worker.

À noter, le projet est encore en Preview, et que certaines API ne sont pas implémentées (Session Replay, Powerpacks, IP Allowlist).

Source

Un agent efface la base de prod de PocketOS en neuf secondes

Jeremy Crane, fondateur de la startup PocketOS, a publié le récit complet de la disparition de sa base de données de production.

Le coupable ? Un agent Cursor branché sur Claude Opus 4.6 qui, face à une erreur de credentials en staging, a décidé tout seul de supprimer un volume Railway. Neuf secondes plus tard, la base et tous les backups stockés sur le même volume avaient disparu.

L'enchaînement est intéressant. L'agent rencontre une erreur d'authentification en environnement staging. Au lieu de demander à l'humain, il fouille dans les fichiers du projet et trouve un token API Railway dans un fichier qui n'avait rien à voir avec la base.

Ce token, qui a été créé à l'origine pour gérer un domaine personnalisé, avait des permissions bien trop larges et autorisait la suppression de volumes en production. L'agent appelle dans la foulée une mutation GraphQL volumeDelete, sans confirmation, sans vérification du tag environnement. Et paf, tout part.

Le plus fou, c'est la confession auto-générée de l'agent une fois remis en marche. Il admet trois fautes : il a deviné que supprimer un volume staging resterait cantonné à staging sans vérifier, il n'a pas regardé si l'ID du volume était partagé entre environnements, et il a violé ses propres règles système qui interdisaient les commandes destructrices sans demande explicite. C'est moche.

Crane refuse quand même de rejeter toute la responsabilité sur l'IA. Il pointe surtout l'architecture Railway comme principal facteur aggravant. L'API accepte des commandes de suppression sans aucune confirmation, les backups sont stockés sur le même volume que les données primaires (donc effacés en même temps), et un token CLI standard a des permissions étendues sur tous les environnements sans isolation.

Le PDG de Railway, Jake Cooper, est lui intervenu personnellement dimanche pour restaurer les données depuis une snapshot externe en moins d'une heure, et a depuis ajouté une logique de suppression différée sur l'endpoint concerné.

Cette histoire est un cas d'école pour quiconque déploie un agent codeur en environnement avec accès à la production. Trois choses ont échoué en même temps : un token API trop permissif, une plateforme cloud sans confirmation sur les actions destructrices, et surtout un agent IA prêt à improviser face à une erreur au lieu de s'arrêter.

Tout ce qu'il faut pour neutraliser tous les garde-fous, et croyez-moi, ça n'est pas la dernière histoire de ce genre que vous allez lire.

Source : The Register

Is It Agent Ready - Vérifiez si votre site parle aux agents IA

Par : Korben ✨

Si vous avez un site, vous savez déjà qu'il faut l'optimiser et le rendre lisible pour Google. Mais en ce moment, Cloudflare pousse vraiment une toute autre couche par-dessus : le rendre lisible pour les agents IA. Et pour vérifier si vous êtes dans les clous, l'équipe a sorti isitagentready.com , un scanner gratuit qui vérifie ça en quelques secondes.

Vous tapez tout simplement votre URL, et le scanner check une dizaine de standards émergents, puis pour chaque truc qui manque, il vous crache carrément un prompt prêt à coller dans Claude Code, Cursor ou Windsurf pour qu'il vous aide à l'implémenter. Vous pouvez aussi customiser le scan en cochant uniquement ce qui vous intéresse, selon que votre site est plutôt un blog de contenu ou une API.

L'interface annoncée par Cloudflare pour son nouveau scanner agent-ready

Les checks sont organisés en 5 catégories : la découvrabilité (robots.txt, sitemap, Link headers HTTP), l'accessibilité du contenu (markdown negotiation, llms.txt), le contrôle et la signalisation des bots (Content Signals, Web Bot Auth, règles IA dans robots.txt), la découverte de protocoles (MCP Server Card, Agent Skills, API Catalog, OAuth) et le commerce agentique (x402, MPP, UCP, ACP). Chaque catégorie pèse alors dans le score final, sauf le commerce qui est juste checké mais pas scoré.

J'ai testé sur korben.info et le résultat est franchement mitigé. Côté positif : robots.txt présent avec Content Signals (search=yes, ai-train=no, donc je dis oui à l'indexation et non à l'entraînement IA), llms.txt opérationnel avec 111 lignes en français, markdown negotiation qui répond bien sur Accept: text/markdown, sitemap.xml en place, et GPTBot, Google-Extended et Meta bloqués explicitement.

Côté manquant : pas de MCP Server Card, pas d'Agent Skills, pas d'API Catalog, pas de Link headers.

Score estimé : très moyen, et c'est plutôt cohérent avec un site qui n'a pas besoin d'OAuth ni de serveur MCP.

Cloudflare balance surtout des chiffres bien concrets dans son article de lancement . Sur les 200 000 domaines les plus visités du web, 78% ont un robots.txt, 4% déclarent leurs préférences via Content Signals, 3.9% font de la markdown negotiation, et moins de 15 (oui, quinze) ont un MCP Server Card ou un API Catalog combinés. Autant dire qu'on est très tôt dans la partie. Côté boite à outils, dans le panel d'agents testé par Cloudflare, seuls Claude Code, OpenCode et Cursor envoient un Accept: text/markdown par défaut quand ils browsent le web. Les autres récupèrent du HTML par défaut, comme un navigateur classique.

Cloudflare a aussi mesuré l'impact sur sa propre doc en activant tous ces standards : 31% de tokens en moins consommés et 66% de réponses plus rapides. Du coup c'est pas négligeable, surtout quand vous payez les agents au token. Et bonus, isitagentready.com lui-même est agent-ready (forcément), avec son propre serveur MCP exposé à /.well-known/mcp.json et un outil scan_site disponible pour les agents qui veulent l'appeler en autonomie.

Mais attention au piège ! Si on traite tout pour viser le "tout vert" comme objectif, beaucoup de sites finiront par prétendre être des fournisseurs OAuth ou des serveurs MCP juste pour cocher la case. Donc mieux vaut dire honnêtement "non, ça je ne fais pas" que de faire semblant. Pour un blog perso, vous n'avez probablement pas besoin de l'API Catalog ni du serveur MCP. Pour un site e-commerce par contre, x402 et l'Agentic Commerce Protocol vont commencer à compter le jour où les agents paieront vraiment pour leurs utilisateurs.

Petit détail historique amusant, le robots.txt date de 1994 (j'avais 12 ans, j'étais à fond sur le PC mais pas encore sur le net) et le code HTTP 402 Payment Required existe depuis 1997 mais n'a jamais été massivement utilisé. Jusqu'au jour où Cloudflare et Coinbase se sont associés pour le ressusciter avec x402, en l'imaginant comme la couche de paiement entre humains, agents et services. On verra bien si leur mayonnaise va prendre...

Aujourd'hui l'adoption de tout cela est embryonnaire, mais rappelez-vous qu'en 2004 peu de monde aurait parié sur l'industrie SEO qu'on connaît aujourd'hui. Donc ça vaut le coup d'y jeter un œil maintenant.

Merci à Camille Roux pour le lien !

Source

Cloudflare refond son CLI Wrangler parce que ses clients principaux sont désormais des agents IA

Par : Korben

Figurez-vous que les agents IA sont désormais les premiers consommateurs des APIs Cloudflare, bien devant les développeurs humains. C'est en tous cas ce que l'éditeur déclare publiquement pour justifier une refonte importante de son outil en ligne de commande, Wrangler, et la sortie d'un nouveau CLI unifié baptisé sobrement "cf".

Le raisonnement est froid mais a du sens. Si les agents IA pilotent la plateforme, autant qu'ils aient un CLI qui ne les plante pas.

Concrètement, Cloudflare a refait toute sa pipeline de génération de code autour d'un schéma TypeScript unique. Ce schéma décrit le périmètre complet des APIs, des commandes CLI, des arguments et du contexte nécessaire pour générer n'importe quelle interface.

Quand un nouveau produit Cloudflare arrive, il tombe automatiquement dans le CLI. Avec près de 3 000 opérations d'API au catalogue, c'était effectivement le bon moment pour industrialiser la chose.

Le point qui dit beaucoup sur l'état de l'industrie, c'est celui-ci. Cloudflare force désormais des commandes CLI par défaut au niveau du schéma, pour éviter que les agents se plantent sur des variantes moins standards qu'ils ne connaissent pas.

En clair, le design du CLI est partiellement contraint par ce que les LLM savent deviner. C'est nouveau, et pas anodin.

À côté du nouveau CLI cf, Cloudflare lance Local Explorer en bêta ouverte, intégré à Wrangler et au plugin Cloudflare pour Vite. L'outil permet d'inspecter les Workers en local, de voir quels bindings leur sont attachés et quelles données y sont stockées.

Pratique pour déboguer sans passer par le dashboard web, surtout quand on jongle entre plusieurs environnements.

Pour les développeurs humains, la promesse est double. D'abord, un CLI plus cohérent, moins de surprises d'un produit à l'autre. Ensuite, un outil de debug local qui évite l'allée-retour constant avec l'interface web Cloudflare. Pour les agents IA, la promesse est plus prosaïque, appeler Cloudflare sans générer d'erreurs de syntaxe toutes les trois commandes.

C'est en fait assez symptomatique d'une tendance qu'on voit chez plusieurs plateformes cloud en ce moment, où l'ergonomie CLI est pensée pour les LLM autant que pour les humains. Pas sûr que tous les acteurs l'assument aussi frontalement, mais Cloudflare, fidèle à son style, le dit.

Bref vous l'avez compris, cf et Local Explorer valent le détour. Et si vous laissez un agent piloter l'infra, au moins il aura des rails pour que ça ne parte pas dans tous les sens.

Source : The Register

❌