Alors, est ce que vous AUSSI, vous avez succombé à la tentation de Claude Code, le nouvel agent en ligne de commande d'Anthropic ?
J'suis sûr que oui !! Ahaha, C'est vrai que c'est hyper pratique de laisser une IA fouiller dans son repo pour corriger des bugs ou refactorer du code. Mais comme toujours avec ces outils qui ont un pied dans votre terminal et un autre dans le cloud, la question de la sécurité finit toujours par se poser.
Est-ce que Claude Code est vraiment sûr ?
Pour Anthropic, la réponse est un grand oui, avec tout son système de permissions basé sur une "blocklist" d'arguments dangereux...
Sauf que voilà,
RyotaK
, un chercheur en sécurité chez GMO Flatt Security, a décidé d'aller voir sous le capot, et ce qu'il a trouvé devrait normalement, vous faire lever un gros sourcil.
En effet, le gars a dégoté pas moins de 8 façons différentes de faire exécuter n'importe quelle commande arbitraire à Claude Code, le tout sans que vous ayez à cliquer sur "Approuver".
En fait, Claude Code autorise par défaut certaines commandes jugées "inoffensives" comme man, sort ou sed, parce qu'elles sont censées être en lecture seule. Et pour éviter les dérives, Anthropic filtre les arguments avec des expressions régulières.
C'est du classique mais RyotaK a montré que c'est un vrai champ de mines. Par exemple, sur la commande "man", il suffisait d'utiliser l'option --html pour lui faire exécuter un binaire arbitraire chargé de "formater" la page.
man --html="touch /tmp/pwned" man
Pareil pour la commande "sort" qui, avec l'argument --compress-program, permet de lancer un shell qui va gentiment interpréter tout ce qu'on lui envoie sur l'entrée standard.
sort --compress-program "gzip"
C'est vicieux parce que ce ne sont pas des bugs de Claude Code à proprement parler, mais juste des fonctionnalités légitimes d'outils Unix vieux de 30 ans que personne ne soupçonne d'être des vecteurs d'attaque ici...
Alors oui, pour ceux qui se demandent si Claude peut lire tout leur code, la réponse est oui, et c'est justement là que ça coince car si vous lancez l'outil sur un projet qui contient des fichiers malveillants (venant d'une PR douteuse ou d'un repo cloné à la va-vite), l'IA peut se faire piéger par ce qu'on appelle de l'injection de prompt indirecte.
Dans un des PoC, le chercheur utilise même les subtilités de Bash avec des trucs comme ${VAR@P} qui permettent d'interpréter le contenu d'une variable comme une invite de commande, exécutant ainsi du code caché. On est en plein dans la magie noire pour terminal et le pire, c'est que même git s'est fait avoir... En effet, Claude bloquait l'argument --upload-pack, mais comme git accepte les versions abrégées, il suffisait de taper --upload-pa pour passer à travers les mailles du filet !
Bref, c'est le jeu du chat et de la souris habituel, mais ici les enjeux sont énormes puisque l'agent a potentiellement accès à vos clés SSH, vos variables d'environnement et tout votre OS.
Après la bonne nouvelle (parce qu'il en faut bien de temps en temps...ahah), c'est qu'Anthropic a réagi au quart de tour et la faille, estampillée CVE-2025-66032, a bien été corrigée dans la version 1.0.93 de claude-code. Ils ont carrément abandonné l'approche par blocklist (trop permissive par nature) pour passer à une allowlist beaucoup plus stricte. Donc, si vous traînez encore sur une vieille version, un petit coup de npm install -g @anthropic-ai/claude-code ne vous fera pas de mal.
Voilà... C'est vrai que ces chouette tous ces assistants IA mais le prix à payer pour avoir un assistant qui bosse à votre place c'est que derrière, faut s'assurer aussi qu'il ne laisse pas la porte ouverte aux cambrioleurs en passant.
Après, ça ou un vrai employé qui tape dans la caisse
ou pire
...
Anthropic a annoncé, le 12 janvier 2026, le lancement de Claude Cowork, un outil visant à automatiser les tâches non techniques de la vie pro. À ce stade, la fonctionnalité est proposée en avant-première aux abonnés Max utilisant l’application Claude Desktop sur macOS.
Le mythe du développeur puriste travaillant à la dure dans son terminal vient de prendre un coup de vieux. Début 2026, Linus Torvalds, le créateur du noyau Linux et de Git, a admis utiliser l'IA pour générer du code sur ses projets personnels.
Vous connaissez sans doute la stéganographie, l'art de planquer des messages secrets un peu partout, mais avez-vous déjà entendu parler de la stéganographie inversée ? Non ? Eh bien, laissez-moi vous présenter Gibberifier.
L'idée est géniale puisqu'il s'agit de rendre un texte totalement illisible pour une IA (ChatGPT, Claude, Gemini, et consorts) tout en le laissant parfaitement clair pour nous, pauvres humains. C'est un peu comme parler une langue que les machines ne comprennent pas.
Le secret de cette technique réside dans l'utilisation de caractères Unicode de largeur zéro (comme le fameux U+200B) qui sont des caractères qui existent informatiquement mais qui ne prennent aucune place à l'écran. Gibberifier en insère aléatoirement entre les lettres de votre texte. Pour vos yeux, "Bonjour" reste "Bonjour". Mais pour une IA, ça ressemble à un truc comme ça "B\u200Bo\u200Bn\u200Bj\u200Bo\u200Bu\u200Br" en indécodable.
Et voilà comme le tokenizer de l'IA (la partie qui découpe le texte en morceaux digestes) panique complètement. Lors de mes tests avec ChatGPT, celui-ci est à la ramasse, quand à Claude, pas moyen qu'il accepte le message, ça le fait bugger... c'est assez jouissif à voir.
L'outil a été développé par GeneploreAI et le code est dispo en open source sur GitHub (licence GPL-3.0) et c'est pas juste un script python obscur, ils ont sorti des extensions pour
Chrome
et
Firefox
, et même une version web pour tester rapidement. J'ai testé avec ChatGPT et il galère un peu..
Mais avant que vous ne partiez chiffrer tout votre blog, une petite mise en garde quand même : Ce n'est pas fait pour des romans entiers. L'auteur recommande de l'utiliser sur des passages courts (environ 500 caractères). C'est idéal pour protéger une "formule secrète", un prompt spécifique ou un paragraphe clé que vous ne voulez pas voir aspiré par les scrapers d'entraînement.
Certains se demandent peut-être si c'est dangereux. En soi, non, ce sont juste des caractères standard mais c'est une belle démonstration de la fragilité actuelle des LLM. Un simple grain de sable Unicode suffit à enrayer la machine la plus sophistiquée du monde.
Bref, si vous voulez troller un peu les bots ou protéger un snippet de code, c'est l'outil qu'il vous faut.
Bernard Lambeau, un développeur belge avec plus de 25 ans d'expérience et un doctorat en informatique, a décidé de pousser le concept jusqu'au bout à savoir utiliser Claude Code non pas pour écrire quelques scripts, mais pour générer un langage de programmation complet.
Carrément ! Il est chaud Bernard, car quand je dis complet, je parle d'un compilateur entier avec analyseur lexical, un parseur, un système de typage, des backends multiples...etc. Voilà, comme ça, en full pair-programming avec une IA.
Ça s'appelle Elo et l'idée, c'est de proposer un langage tellement sécurisé by design qu'on peut le confier à des non-développeurs… ou à des IA. Pas de variables mutables, pas d'effets de bord, pas de références qui traînent dans tous les sens. Bref, un langage où il est quasi impossible de faire une bêtise, même en essayant très fort.
Alors pourquoi créer un énième langage alors qu'on en a déjà des centaines ?
Hé bien le truc, c'est que la plupart des langages existants partent du principe que vous savez ce que vous faites. JavaScript, Python, Ruby… Ils vous font confiance. Trop, parfois.
Elo, lui, adopte l'approche inverse... le "zero-trust". Le langage ne fait confiance à personne, ni au développeur, ni à l'IA qui pourrait l'utiliser. Ainsi, chaque expression est pure, chaque fonction est déterministe, et le compilateur vérifie tout avant d'exécuter quoi que ce soit.
Et surtout Elo est un langage d'expressions portables, ce qui veut dire que vous écrivez votre logique une fois, et vous pouvez la compiler vers JavaScript, Ruby ou même du SQL PostgreSQL natif. Oui, oui, le même code peut tourner dans votre navigateur, sur votre serveur Ruby, ou directement dans votre base de données. Et là, y'a de quoi faire des trucs sympas pour peu qu'on ait besoin de partager de la logique métier entre différents environnements.
Le typage est volontairement minimaliste mais costaud et se compose de 10 types de base : Int, Float, Bool, String, DateTime, Duration, Tuple, List, Null et Function. Pas de classes, pas d'héritage, pas d'objets au sens classique mais juste des valeurs et des fonctions, ce qui peut paraître limité dit comme ça, mais c'est justement cette contrainte qui rend le langage sûr.
Moins de features, c'est moins de façons de se planter !
L'opérateur pipe |> est le cœur du langage car au lieu d'imbriquer des appels de fonctions comme des poupées russes, vous chaînez les transformations de gauche à droite. Par exemple, pour récupérer tous les clients actifs et compter combien il y en a, vous écrivez quelque chose comme customers |> filter(active: true) |> size. C'est lisible, c'est fluide, et même quelqu'un qui n'a jamais codé comprend ce qui se passe.
Et il y a aussi l'opérateur alternative |. Comme ça, si une expression peut retourner null, vous pouvez prévoir un fallback avec ce simple pipe. Genre user.nickname | user.firstname | "Anonymous". Ça essaie dans l'ordre et ça prend la première valeur non-nulle.
Comme ça, fini les cascades de if/else pour gérer les cas où une donnée manque ! Youpi !
Voilà pour le langage...
Maintenant parlons un peu du bonhomme car Bernard Lambeau n'est pas un inconnu dans le monde du développement. Il est derrière Bmg (une implémentation de l'algèbre relationnelle), Finitio (un langage de schémas de données), Webspicy (pour tester des APIs), et Klaro Cards (une app no-code). Tout cet écosystème partageait déjà une certaine philosophie, et Elo vient unifier le tout. Son langage est d'ailleurs utilisé en production dans Klaro Cards pour exprimer des règles métier que les utilisateurs non-techniques peuvent modifier.
Ce qui m'a intéressé dans toute cette histoire, c'est surtout la méthode de développement de Bernard qui a travaillé en pair-programming avec Claude Code pendant des semaines, voire des mois. L'IA générait du code, et lui relisait, corrigeait, guidait, et l'IA apprenait de ces corrections pour les itérations suivantes. Sur l'ensemble du projet, chaque ligne de code, chaque test, chaque doc a été écrit par Claude et croyez le ou non, le code est clean car Bernard est un pro !
En regardant cette démo, on découvre une vraie méthodologie de travail avec l'IA car il n'a pas juste balancé des prompts au hasard en espérant que ça marche. Au contraire, il a mis en place tout un système pour que la collaboration soit efficace et sécurisée.
Premier truc : le "safe setup". Bernard a configuré un environnement Docker sandboxé dans un dossier .claude/safe-setup afin de laisser Claude Code exécuter du code dans un conteneur Alpine isolé, sans risquer de faire des bêtises sur la machine hôte. En entreprise, c'est exactement le genre de garde-fou qu'on veut quand on laisse une IA bidouiller du code. Le conteneur a ainsi accès aux fichiers du projet, mais pas au reste du système.
Ensuite, il y a la documentation projet via un fichier CLAUDE.md à la racine. Ce fichier décrit l'architecture du langage avec le parser, l'AST, le système de typage, les différents backends, comme ça, quand Claude démarre une session, il lit ce fichier et comprend la structure du projet.
La gestion des tâches est aussi bien pensée puisqu'il utilise un système de dossiers façon Kanban : to-do, hold-on, done, et analyze. Chaque tâche est un fichier Markdown qui ressemble à une user story.
Ainsi, quand il veut ajouter une feature, il crée un fichier dans to-do avec la description de ce qu'il veut. Claude lit le fichier, implémente, et Bernard déplace le fichier dans done une fois que c'est validé. Le dossier analyze sert pour les trucs à creuser plus tard, et hold-on pour ce qui attend des décisions.
Ce qui est bien trouvé aussi, c'est qu'il utilise trois modes d'interaction selon les situations. Le mode "accept-it" pour les trucs simples où Claude propose et Bernard dispose. Le "plan mode" quand la tâche est complexe avec Claude qui pose des questions de design avant d'écrire du code. Et le mode autonome avec --dangerously-skip-permissions quand il a parfaitement confiance pour une série de modifications.
Bernard a aussi créé plusieurs personas spécialisés (des agents) que Claude peut invoquer. Un agent "security" qui analyse le code du point de vue sécurité. Un agent "DDD" (Domain-Driven Design) qui vérifie la cohérence du vocabulaire métier. Un agent "skeptic" qui cherche les cas limites et les bugs potentiels. Et un agent "Einstein" qui détecte quand le code devient trop complexe et suggère des simplifications.
En gros, 4 cerveaux virtuels qui relisent chaque modification.
Et là où ça devient vraiment ouf, c'est que Elo se teste lui-même. Les tests d'acceptance sont écrits en Elo, avec une syntaxe d'assertions qui se compile vers JavaScript, Ruby et SQL. Comme ça quand Bernard ajoute une feature, il écrit d'abord le test en Elo, puis Claude implémente jusqu'à ce que le test passe. Le langage valide sa propre implémentation.
Comme je vous l'avais dit, c'est propre !
Bernard n'a fait que valider et refuser et ne retouche jamais le code lui-même. C'est Claude qui fait tout le reste et ça c'est un sacré changement dans la façon de développer.
Il évoque aussi l'idée que quand on délègue une compétence à quelqu'un (ou quelque chose) qui la maîtrise, on peut se concentrer sur le reste. Comme ça, Bernard ne s'occupe donc plus d'écrire du code mais s'occupe plutôt de définir ce que le code doit faire, de valider les résultats, et de guider l'architecture.
C'est vraiment le métier de développeur nouvelle génération et c'est très inspirant si vous cherchez votre place de dev dans ce nouveau monde.
Maintenant si vous voulez tester, l'installation est simple. Un petit
`npm install -g @enspirit/elo`
Et vous aurez ensuite accès à deux outils :
elo pour évaluer des expressions à la volée, et
eloc pour compiler vers la cible de votre choix.
Et si vous voulez du JavaScript ?
eloc -t js votre_fichier.elo.
Du Ruby ?
eloc -t ruby.
Du SQL ?
eloc -t sql.
Le site officiel propose également
un tutoriel interactif
plutôt bien fichu pour découvrir la syntaxe. On commence par les bases (les types, les opérateurs), on passe aux fonctions, aux gardes, et on finit par les trucs plus avancés comme les closures et les comparaisons structurelles. En une heure ou deux, vous avez fait le tour.
Alors bien sûr, Elo n'est pas fait pour remplacer votre langage préféré car ce n'est pas un langage généraliste. Vous n'allez pas écrire une app mobile ou un jeu vidéo avec... Par contre, pour exprimer des règles métier, des validations, des transformations de données… C'est pile poil ce qu'il faut.
Peut-être qu'un jour on verra une équipe où les product managers écrivent directement les règles de pricing ou d'éligibilité
en Elo
, (j'ai le droit de rêver) et où ce code est automatiquement validé par le compilateur avant d'être déployé.
Plus de traduction approximative entre le métier et les devs, plus de bugs parce que quelqu'un a mal interprété une spec.
Le dépôt GitHub est ouvert
, la documentation est dispo, et le langage est sous licence MIT donc vous avez de quoi explorer, tester, et pourquoi pas contribuer si le cœur vous en dit.
Voilà, avec Claude Code (ou d'autres comme Gemini CLI, Codex CLI...etc) on n'est clairement plus sur des outils qui complètent du code ou qui génèrent des snippets. On est carrément sur un système IA capable de créer des outils complets et des langages entiers, avec son humain préféré qui joue le rôle de chef d'orchestre.
Steve Klabnik a d'ailleurs fait quelque chose de similaire avec son langage Rue, lui aussi développé avec Claude, si vous voulez jeter un œil !
Voilà les amis ! La tendance est claire j'crois... les développeurs expérimentés commencent à utiliser l'IA comme un multiplicateur de force, et pas comme un remplaçant et je pense vraiment que vous devriez vous y mettre aussi pour ne pas vous retrouver à la ramasse dans quelque années...
Amusez-vous bien et un grand merci à Marc d'avoir attiré mon attention là dessus !
Après les standards pour les APIs, après les standards pour le web, après les standards pour à peu près tout ce qui touche à l'informatique, voici... un standard pour les champignons !
Et non, je ne parle pas des champignons de Mario qui vous font grandir de partout (hi hi). Je parle de vrais champignons. Ceux qu'on cultive pour les manger. Bref, ceux qui représentent une industrie de 50 milliards de dollars qui gère encore ses données sur des feuilles Excel et des bouts de papier collés sur des bocaux.
Shiitake happens, comme on dit ^^.
Heureusement des champignonistes plus malin que les autres ont créé
WOLS, pour WeMush Open Labeling Standard
. L'idée c'est d'encoder toutes les infos de traçabilité de vos cultures fongiques directement dans un QR code. Origine du mycélium, substrat utilisé, dates d'inoculation, conditions de croissance... Hop, tout ça compressé dans un petit carré noir et blanc que vous pouvez scanner.
Le truc couvre 5 types de spécimens (de la culture mère jusqu'à la récolte), 4 stades de croissance, et propose 3 formats de QR différents selon vos besoins. Vous voulez juste un truc compact ? 500 octets. Vous voulez du JSON-LD pour faire le malin avec vos métadonnées ? 400 octets en mode embedded. Vous êtes parano et vous voulez chiffrer vos précieuses données de pleurotes ? AES-256-GCM, mon ami.
D'ailleurs, le projet est agnostique côté espèces : Que vous cultiviez du Lion's Mane (le champignon du hipster), du Shiitake (le classique), des pleurotes ou même du Reishi pour vos smoothies santé, le standard s'en fiche et encode tout pareil. De quoi faire pleurer de joie tous les myciculteurs de la planète. Ou les faire pleurote de joie, si vous préférez.
(Oui, je vous ai eu "champignoniste", c'est pas un vrai mot ^^)
Côté technique, c'est du sérieux malgré le sujet rigolo. Y'a des implémentations en JavaScript (@wemush/wols), en Python (wols), et même un conteneur Docker pour les feignasses qui veulent pas installer de dépendances. Le tout sous
licence open source
, donc vous pouvez forker ça et l'adapter à vos besoins sans vous prendre le cèpe. D'ailleurs si vous cherchez
un nom pour votre propre projet open source
, évitez les jeux de mots sur les champignons, c'est déjà pris.
Bref, si vous cultivez des champignons (légaux, hein les toxicos) et que vous en avez marre de noter vos infos sur des post-it qui finissent par moisir comme vos substrats ratés, ce standard pourrait bien être la truffe numérique que vous attendiez.
Ah, Atom... Si vous avez connu l'éditeur de code de GitHub à l'époque, vous savez de quoi je parle. C'était le premier éditeur vraiment moderne, hackable à souhait, avec une communauté de dingues qui créait des extensions pour tout et n'importe quoi. Et puis Microsoft a racheté GitHub, et Atom a fini au cimetière des projets open source en 2022. RIP.
Sauf que les créateurs d'Atom n'ont pas dit leur dernier mot. Nathan Sobo et son équipe ont décidé de repartir de zéro pour créer Zed, un éditeur de code qui corrige toutes les erreurs du passé. Et quand je dis « de zéro », c'est vraiment from scratch, en Rust cette fois, et pas en Electron \o/.
Zed en action
Et ce qu'on obtient, c'est un éditeur qui démarre en quelques millisecondes et qui reste fluide même quand vous ouvrez des projets monstrueux. Là où VS Code commence à ramer sur un gros monorepo, Zed reste stable. C'est pas de la magie, c'est juste du code natif bien optimisé avec un moteur de rendu GPU custom (GPUI pour les intimes).
Mais le truc qui m'a vraiment intrigué, c'est leur concept de « Zed is our office ». En gros, l'équipe de développement de Zed n'a pas de bureau physique. Leur bureau, c'est Zed lui-même. Ils bossent en permanence dans des « channels » partagés où ils peuvent coder ensemble en temps réel, se parler en audio, et voir les curseurs des autres se balader dans le code. C'est du pair programming poussé à l'extrême, et apparemment ça marche plutôt bien pour eux.
Du coup, la collaboration temps réel est au cœur du projet Zed. Vous pouvez inviter quelqu'un dans votre espace de travail, et hop, vous codez ensemble comme si vous étiez sur le même ordi. Chacun voit les modifications de l'autre instantanément, avec des curseurs colorés pour savoir qui fait quoi. Y'a même un système de « follow » pour suivre ce que fait votre collègue dans les fichiers. Pratique pour les reviews de code ou le debugging à plusieurs.
Côté IA, ils ont aussi intégré un assistant qui supporte Claude, GPT et même Ollama pour ceux qui veulent faire tourner des modèles en local. Vous pouvez alors discuter avec l'IA dans un panneau dédié, lui demander de générer du code, de l'expliquer ou de le refactorer. Rien de nouveau en soi (VS Code fait pareil avec Copilot), mais l'intégration est propre et l'assistant a accès au contexte de votre projet.
Pour le reste, c'est du classique mais bien fichu : coloration syntaxique via Tree-sitter (ultra rapide), support LSP pour l'autocomplétion et les diagnostics, terminal intégré, support Vim... Le thème par défaut est plutôt classe et les performances sont vraiment impressionnantes.
Le projet est open source sous licence GPL/AGPL/Apache, et la version de base est gratuite. Y'a aussi une offre payante pour les équipes qui veulent plus de fonctionnalités de collaboration, mais pour un usage perso, vous n'avez pas besoin de sortir la CB.
Bref, si vous en avez marre de voir VS Code bouffer 2 Go de RAM pour éditer trois fichiers, Zed mérite clairement un essai. C'est dispo sur macOS, Linux et Windows.
Si vous avez toujours voulu essayer Emacs mais que la courbe d'apprentissage vous fait peur,
IDEmacs
est fait pour vous ! Ce projet transforme Emacs en clone de VSCode avec les mêmes raccourcis clavier, la même interface graphique et les mêmes fonctionnalités out-of-the-box, comme ça vous n'avez plus besoin de vous taper une configuration durant trois jours avant de pouvoir écrire une ligne de code !
Cool, hein ?
L'idée c'est donc de permettre aux développeurs habitués à des IDE modernes de passer à Emacs sans devoir réapprendre tous leurs réflexes. Les raccourcis clavier reprennent ceux de VSCode comme Ctrl+C pour copier, Ctrl+V pour coller, Ctrl+F pour chercher. C'est basique mais indispensable quand vous venez d'un autre éditeur.
Côté interface, IDEmacs intègre Treemacs pour avoir un explorateur de fichiers dans la sidebar comme sur VSCode. Y'a aussi Centaur Tabs pour les onglets, un thème Dark Plus qui ressemble à celui de Microsoft, et le support des curseurs multiples. Bref, visuellement vous êtes en terrain connu.
Du coup, c'est pour qui exactement ?
Hé bien le projet cible trois types d'utilisateurs : les développeurs qui veulent migrer vers Emacs depuis un autre IDE, les débutants en Lisp ou Scheme qui ont besoin d'Emacs pour bosser, et les non-programmeurs qui cherchent juste un éditeur de texte puissant sans se prendre la tête avec la config.
D'ailleurs, contrairement à la plupart des starter kits Emacs, IDEmacs ne cache pas les éléments graphiques par défaut. Les menus, barres d'outils et scrollbars sont visibles donc vous pouvez configurer le tout via l'interface graphique plutôt qu'en écrivant du Elisp à la main.
La config proposée inclut une vingtaine de packages tels que Vertico, Consult et Marginalia pour l'autocomplétion, Magit pour le contrôle de version, Sly et Geiser pour le développement Lisp et Scheme, plus des outils comme expand-region, multiple-cursors et smartparens pour l'édition avancée.
Pour installer IDEmacs, il vous faudra donc Emacs 29 ou plus récent, git, et optionnellement grep et locate. Clonez le repo puis lancez Emacs avec
emacs --init-directory=/path/to/IDEmacs/vscode .
Et hop, c'est prêt !
IDEmacs reste une porte d'entrée vers Emacs, et pas un remplacement définitif de VSCode mais l'idée avec ce truc, c'est de vous permettre de commencer à utiliser Emacs sans friction, puis de personnaliser au fur et à mesure que vous comprenez comment ça marche. Je vous assure que vous allez probablement vouloir modifier des trucs une fois que vous serez à l'aise.
Voilà, si vous avez toujours été curieux d'Emacs mais que vous n'avez jamais osé franchir le pas, c'est l'occaz !
Voilà un outil qui va plaire à ceux qui chassent les failles de sécurité... Ce projet s'appelle Security Skills et c'est un système de compétences pour agents IA (genre Claude Code ou Gemini CLI) qui transforme votre proxy mitmproxy en chasseur de failles automatisé. Vous lui dites "trouve-moi des problèmes de sécurité sur example.com" et l'IA se met à analyser le trafic HTTP intercepté en appliquant des patterns qu'elle a appris de vrais bugs rémunérés.
Le mec derrière cet outil a commencé par récupérer 10 000 rapports de bugs sur HackerOne via un dataset Hugging Face, qu'ensuite, il a filtré pour ne garder que les 4000 qui ont reçu un paiement, partant du principe que si une boîte a sorti le portefeuille, c'est que la faille était sérieuse. Et avec ces 4000 exemples concrets, il a créé 17 Skills différents qui savent détecter des trucs comme les IDOR (quand vous pouvez accéder aux données d'un autre utilisateur juste en changeant un ID dans l'URL), les SSRF, les injections SQL, les fuites de secrets et j'en passe.
Ce qui est malin avec cette approche, c'est qu'il n'a pas essayé de tout coller dans le prompt système du LLM. Comme sa première version avec 150 descriptions de bugs collées directement dans les instructions faisait exploser les coûts et le contexte, il a décidé de découper ça en modules réutilisables. Chaque Skill étant un fichier markdown avec ses propres patterns de détection, quand vous demandez à l'IA de chercher des failles d'authentification, elle va chercher le bon Skill et l'appliquer intelligemment.
Le système tourne avec CodeRunner, un serveur MCP open source qui exécute du code IA dans une sandbox isolée sur Mac donc c'est plutôt moderne, et ça utilise aussi les conteneurs natifs d'Apple pour l'isolation et ça supporte pas mal de LLM différents comme Claude, ChatGPT, Gemini ou même des modèles locaux.
Et le succès est au rendez-vous car l'auteur raconte avoir testé son système sur Vercel et trouvé une faille sur leur endpoint /avatar?u=USERNAME qui permettait d'énumérer les noms d'utilisateurs. Le genre de bug classique IDOR que l'IA a repéré automatiquement en analysant le trafic capturé. Bon, c'est pas le hack du siècle, mais ça prouve que le système arrive à appliquer ce qu'il a appris des vrais rapports de bug bounty.
Pour l'installer, faut cloner le repo CodeRunner, puis lancer l'installeur et le serveur MCP deviendra accessible localement. Ensuite vous pouvez l'utiliser avec n'importe quel client compatible MCP, que ce soit Claude Desktop, Gemini CLI ou même votre propre interface. Les Security Skills sont dans un repo séparé et contiennent toute la logique de détection dérivée des 4000 rapports en question.
Voilà encore un bel exemple de comment on peut vraiment utiliser les LLM pour des tâches de sécurité concrètes, et pas juste pour générer du code. Et j'ai trouvé l'idée d'apprendre à partir de vrais bugs payés plutôt que de documentation théorique, plutôt pas con.
Vous utilisez Claude Code ? Alors vous savez probablement que l'outil d'Anthropic peut être étendu avec des "Skills", c'est à dire des modules qui ajoutent des capacités supplémentaires à Claude. Y'a un fichier SKILL.md, des scripts optionnels, et comme ça, votre assistant sait faire de nouvelles choses. Sauf que pour trouver ces skills quand on n'a pas envie de se les palucher à la main (ou à l'IA), faut aller les chercher dans les repos GitHub, fouiller les README, comparer les étoiles... La flemme quoi...
C'est la raison d'être de
SkillsMP
qui vient résoudre ce problème. C'est en fait un marketplace communautaire (pas affilié à Anthropic) qui agrège plus de 26 000 skills Claude provenant de dépôts GitHub publics, le tout présenté dans une interface qui ressemble à un App Store, avec des catégories, des stats, et tout le toutim.
Je vous préviens d'emblée, le site est un peu bordélique. Entre les filtres, les catégories (Développement, Outils, Data & AI, DevOps...), les tris par popularité ou mise à jour récente, et l'interface du tur-fu, faut un peu tâtonner au début. Mais une fois qu'on a pigé comment ça marche, c'est vraiment cool de pouvoir explorer tout ça au même endroit.
Le truc intéressant c'est que SkillsMP filtre automatiquement les repos de mauvaise qualité. Pour qu'un skill apparaisse, il faut minimum 2 étoiles sur GitHub. Ça évite de se retrouver avec des trucs abandonnés ou mal foutus. Y'a même un badge "Marketplace Ready" pour les skills qui ont un fichier marketplace.json bien configuré.
Pour installer un skill que vous avez trouvé, vous avez alors 3 options. Soit vous le mettez dans ~/.claude/skills/ pour l'avoir disponible partout sur votre machine. Soit vous le collez dans .claude/skills/ dans votre projet si vous voulez le partager avec votre équipe via Git. Soit vous passez par l'installation plugin avec une commande du genre /plugin marketplace add anthropics/skills.
La différence avec les commandes slash c'est que les skills sont "model-invoked". Ça veut dire que c'est Claude qui décide tout seul quand les utiliser en fonction du contexte de votre demande. Vous n'avez donc pas besoin de taper /truc pour activer un skill, il se déclenche automatiquement quand c'est pertinent.
Attention quand même, comme toujours avec du code open source venu d'Internet, les développeurs de SkillsMP le précisent bien, ils filtrent les repos pourris mais ça reste votre responsabilité de vérifier ce que vous installez. Un skill a accès à pas mal de trucs sur votre machine, donc prenez 2 minutes pour auditer le code avant d'installer un truc d'un développeur inconnu.
Bref, si vous passez beaucoup de temps sur Claude Code et que vous voulez découvrir ce que la communauté a créé comme extensions,
SkillsMP
c'est un bon point de départ. C'est gratuit, y'a pas besoin de compte, et ça vous évite de passer des heures à fouiller GitHub manuellement.
Microsoft released Visual Studio Code version 1.107 with new features focused on Agent HQ, a multi-agent orchestration interface introduced in version 1.106. In version 1.107, background agents are promoted beyond pure CLI-based sessions: they run as named background tasks with isolated worktrees and richer context attachment, and appear as manageable sessions in the Agent HQ experience (the integrated Chat + sessions UI), rather than existing only as Copilot CLI or cloud sessions.
Vous avez toujours voulu créer des workflows d'agents IA mais vous avez la flemme de coder tout ça à la main ? Hé bien y'a un projet open source qui va vous faire plaisir. Ça s'appelle Sim Studio et c'est une plateforme qui permet de construire des workflows d'agents IA de manière visuelle, un peu comme sur Figma.
Le principe c'est d'avoir un canvas sur lequel vous glissez-déposez des blocs : des LLMs, des outils, des connexions à des services tiers comme Slack, Gmail, Supabase ou Pinecone. Vous reliez tout ça avec des flèches et hop, vous avez votre workflow qui tourne. Pas besoin d'écrire une seule ligne de code si vous voulez pas.
Et le truc sympa c'est qu'il y a un Copilot intégré qui peut générer des nœuds, corriger les erreurs et améliorer vos flows directement à partir de langage naturel. Vous lui décrivez ce que vous voulez et il vous pond les blocs correspondants. Pratique pour les feignasses comme moi.
Côté fonctionnalités, c'est plutôt complet. Vous pouvez connecter différents modèles (des LLMs hébergés mais aussi des modèles locaux), brancher des bases de données vectorielles pour que vos agents puissent répondre à des questions basées sur vos propres documents, et contrôler finement comment chaque outil est utilisé.
Et une fois votre workflow prêt, vous avez plusieurs options pour le déployer. Soit vous le déclenchez manuellement, soit vous le transformez en API, soit vous le programmez pour qu'il tourne périodiquement. Y'a même moyen de le faire réagir à des webhooks, genre quand vous recevez un message Slack, ou de le déployer comme un chatbot standalone.
Le projet est backé par Y Combinator et ils annoncent déjà plus de 60 000 développeurs qui utilisent la plateforme. De plus, c'est SOC2 et HIPAA compliant, donc niveau sécurité c'est du sérieux pour ceux qui bossent dans des environnements exigeants.
Niveau déploiement, bien sûr, vous avez le choix. Soit vous utilisez leur version cloud sur
sim.ai
, soit vous self-hostez le bazar avec Docker Compose ou Kubernetes. Pour les paranos qui veulent garder le contrôle total sur leurs données, c'est possible de tout faire tourner en local avec Ollama.
Pour l'installer en local, c'est assez simple. Vous pouvez lancer directement avec npx simstudio ou passer par Docker. Niveau technos, le projet utilise Next.js, PostgreSQL avec pgvector, et ReactFlow pour l'éditeur visuel.
Bref, si vous cherchez un outil pour bricoler des workflows d'agents IA sans vous prendre la tête avec du code,
c'est open source et gratuit
.
Vous avez des LEGO qui traînent chez vous et vous cherchez un projet un peu original à faire avec ? Hé bien j’ai trouvé un truc sympa pour vous occuper ce week-end : Construire un QR code fonctionnel en briques LEGO.
Ça s’appelle
Brick QR Code
et c’est un générateur en ligne qui transforme n’importe quelle URL en instructions de montage LEGO. Vous entrez votre lien, le site génère le pattern, et hop vous avez tout ce qu’il faut pour construire un QR code scannable avec vos petites briques colorées.
Un QR code c’est juste une grille de carrés noirs et blancs, et ça tombe bien parce que les LEGO 1x1, c’est totalement ça. Le site vous donne les instructions étape par étape, un modèle 3D pour visualiser le truc, et surtout une liste de pièces compatible BrickLink pour commander exactement ce qu’il vous manque.
Pour que ça marche, il faut respecter quand même quelques règles de base. D’abord, la taille minimum d’un QR code c’est 21x21 studs, mais ça peut monter plus haut selon la longueur de votre URL. Ensuite, et c’est super important, il faut absolument une bordure blanche autour du code sinon votre téléphone n’arrivera pas à le scanner. C’est le piège classique dans lequel tout le monde tombe au début.
D’ailleurs, le fait que ça soit en LEGO ne pose aucun problème de lecture. Malgré la surface un peu irrégulière des briques avec les studs qui dépassent, les smartphones modernes scannent ça sans broncher. Y’a même des gens qui font ça depuis 2009 et qui confirment que ça fonctionne nickel.
Après, c’est surtout un projet fun à faire pour le délire. Vous pouvez coller ça sur la fenêtre de votre bureau pour impressionner vos collègues, l’offrir à quelqu’un avec un lien vers une playlist ou un message perso, ou juste le faire parce que c’est cool de construire un code qui marche vraiment. Et puis c’est quand même plus classe qu’un QR code imprimé sur du papier, non ?
Voilà, si vous voulez vous lancer, prévoyez une baseplate d’au moins 32x32 studs pour avoir de la marge avec la bordure, et assurez-vous d’avoir assez de pièces 1x1 dans deux couleurs bien contrastées. Le noir et blanc c’est le plus fiable, mais techniquement n’importe quel combo de couleurs avec un bon contraste devrait passer.
Ce tutoriel explique comment exposer le socket Docker à un conteneur de façon sécurisée avec un Docker Socket Proxy qui va filtrer les accès sur l'API Docker.
Vous en avez marre des services de partage de code tout pourris qui vous demandent de vous créer un compte, ou de lier votre GitHub, et qui ensuite vous bombarde de bannières pubs ?
Hé bien y’a une alternative plutôt cool qui va vous plaire.
Ça s’appelle
pbnj
(oui, comme le sandwich au beurre de cacahuète - Peanut Butter aNd Jelly), et c’est un pastebin auto-hébergé qui vous permet de partager du code en tout simplicité. Pas de prise de chou avec de la gestion de users ou ce genre de choses… Vous y balancez du code et vous récupérez une URL à envoyer à vos amis.
Le truc sympa, c’est que ça génère des URLs faciles à retenir au lieu des classiques suites de caractères aléatoires. Comme ça vous avez des trucs du genre “coucou-tu-veux-mon-blog” plutôt que “x7f9k2m8”. Bon ok c’est un peu plus long, mais au moins vous pouvez le retenir ou le donner par téléphone sans épeler chaque lettre. Vous pouvez tester
ce que ça donne en cliquant ici
.
Côté fonctionnalités, on a de quoi faire avec de la coloration syntaxique dans plus de 100 langages différents avec 12 thèmes . Y’a aussi un outil en ligne de commande qui s’installe via npm et qui permet de balancer un fichier en une commande comme ceci :
`pbnj monfichier.py`
Et si vous voulez garder vos snippets en privés, vous pouvez ajouter une clé secrète optionnelle. Après pour le déploiement de pbnj, vous pouvez faire ça sur Cloudflare Workers si vous n’avez pas de serveur à vous. Et ce sera gratuit car Cloudflare propre dans son offre D1, 500 Mo de stockage, soit environ 100 000 pastes de 5 Ko chacun donc pour un usage perso ou en petite équipe, c’est largement suffisant.
Maintenant, pour installer tout ça, c’est vraiment fastoche. Suffit de cliquer 1 fois sur le bouton de déploiement Cloudflare puis installer le CLI comme ceci :
`npm install -g @pbnjs/cli`
Et :
`pbnj --init`
pour configurer l’URL de votre worker et votre clé d’authentification.
Voilà, si vous cherchez un truc qui fait le café, avec versioning Git, collaboration en temps réel et tout le toutim, passez votre chemin mais si vous voulez juste un endroit pour coller du code et le partager sans prise de tête,
pbnj
remplit parfaitement le contrat !
Vous développez une app SwiftUI et Claude vous balance du NavigationView alors qu’Apple recommande NavigationStack depuis la sorite d’iOS 16 ? Ou encore il vous sort @ObservableObject et @Published alors qu’on est passé à @Observable ?
Bienvenue dans le club des devs qui passent plus de temps à corriger les hallucinations de leur IA qu’à coder…
Ce problème, Aleahim, un développeuse macOS, en a eu marre alors elle a créé Cupertino, un serveur MCP qui donne accès à Claude à plus de 22 000 pages de documentation Apple en local. Plus besoin d’aller sur le net, et surtout plus d’excuses pour mélanger du code iOS 12 avec du SwiftUI moderne.
Ainsi, au lieu de laisser Claude deviner les API (et se planter une fois sur deux), on lui file l’accès direct à la vraie doc. Les 261 frameworks Apple sont là, indexés dans une base SQLite locale, avec un moteur de recherche full-text qui répond en moins de 100ms. SwiftUI, UIKit, AppKit, Foundation, Core ML, ARKit… tout y est.
L’écosystème se découpe ensuite en plusieurs repos GitHub. D’abord le serveur MCP principal qui fait le boulot d’indexation, ensuite un repo avec la doc pré-crawlée (parce que se taper 20 heures de téléchargement, merci mais non merci), et une collection de 606 projets d’exemple Apple officiels pour la route.
De quoi transformer Claude en assistant qui connaît VRAIMENT la plateforme.
Si ça vous intéresse, sachez qu’avant de vous lancer, faut être sur macOS 15 minimum avec Xcode 16 et Swift 6.2+. Côté espace disque, prévoyez 2-3 GB. Et si vous avez déjà bidouillé dans le terminal, que vous connaissez Git et que vous avez Claude Code installé, vous êtes bons. Comptez environ une quinzaine de minutes pour tout mettre en place.
Et rassurez-vous, je ne vous laisse pas tomber, on va attaquer l’installation ensemble. D’abord, récupérez le projet et compilez-le :
git clone https://github.com/mihaelamj/cupertino.git
cd cupertino
make build
sudo make install
Cette commande compile le projet Swift en mode release (ne faites pas attention aux warning éventuels) et copie le binaire dans /usr/local/bin/. Vous devriez ensuite voir un message du genre “Build complete” suivi des chemins où le binaire est déployé.
Maintenant passons sur la doc. Plutôt que de crawler vous-même les serveurs Apple pendant une journée entière, je vous recommande de récupérer la version pré-packagée. Ça prend 5 minutes au lieu de 20 heures, et franchement la vie est trop courte :
Le crawler utilise un délai de 0,5 seconde entre chaque requête pour ne pas se faire blacklister par Apple. D’où les 20 heures…
Ensuite, il faut construire l’index à l’aide de la commande suivante :
cupertino save
Puis lancer le serveur MCP comme ceci :
cupertino serve
Maintenant, passons à la connexion avec Claude Code. Alors pourquoi Claude Code, parce que c’est celui que j’utilise, c’est le meilleur, c’est mon préféré ❤️.
Et c’est là que tout se joue, une seule commande :
claude mcp add cupertino --scope user -- /usr/local/bin/cupertino
Le --scope user fait que le serveur sera dispo dans tous vos projets, pas juste celui où vous êtes. Vous devriez voir : “Added stdio MCP server cupertino with command: /usr/local/bin/cupertino to user config”.
Et maintenant pour vérifier que tout marche, lancez Claude Code avec claude puis tapez /mcp. Vous devriez voir cupertino dans la liste avec 3 outils : search_docs, list_frameworks et read_document. Vous pouvez aussi lancer cupertino doctor dans le terminal pour un diagnostic complet qui vérifie que le serveur MCP, le répertoire de doc et l’index de recherche sont bien en place.
Testez en demandant à Claude de chercher quelque chose dans la doc Apple. Genre “NavigationStack iOS 16”. Il devrait utiliser l’outil search_docs et vous retourner la vraie documentation avec les bons exemples de code… pas du deprecated.
Si vous avez l’erreur “command not found: cupertino”, le binaire n’est pas dans votre PATH. Vérifiez que /usr/local/bin y est bien ou relancez sudo make install. Si c’est “Database not found”, vous n’avez pas de doc indexée. Retournez chercher le repo cupertino-docs ou lancez le crawl. Et si le serveur ne se connecte pas à Claude Code, fermez Claude Code complètement et relancez-le car les serveurs MCP se chargent au démarrage.
Voilà… Pour les devs Apple qui en ont marre de corriger les suggestions de Claude, Cupertino la formation Apple qu’il manquait à votre assistant IA !
Les documents permettant de décoder le dernier message secret de Kryptos, la célèbre sculpture codée installée au siège de la CIA, ont été adjugés 962 500 dollars le 22 novembre 2025. Plus de trente ans après son installation, le code K4 continue de défier cryptographes et amateurs du monde entier.
Vous voyez cet emoji ? 😎󠄺󠄗󠅑󠅙󠄐󠅠󠅑󠅣󠄐󠅥󠅞󠄐󠅠󠅕󠅥󠄐󠅜󠅕󠄐󠅝󠅕󠅙󠅜󠅜󠅕󠅥󠅢󠅣󠄐󠅣󠅙󠅤󠅕󠄐󠅔󠅥󠄐󠅝󠅟󠅞󠅔󠅕󠄐󠄯 Hé bien, il contient peut-être un message secret que vous ne pouvez pas voir.
Non je ne suis pas devenu fou, c’est de la stéganographie Unicode et c’est le sujet de ma dernière vidéo.
L’idée c’est de planquer du texte invisible à l’intérieur de n’importe quel caractère grâce aux sélecteurs de variation Unicode. Ces petits caractères invisibles se glissent après un emoji et peuvent encoder un message complet. À l’oeil nu, vous voyez juste un smiley. Mais en réalité, y’a peut-être tout un paragraphe caché dedans.
Dans cette vidéo, je vous montre donc comment utiliser l’outil open source de
Paul Butler
pour encoder et décoder vos propres messages. On teste aussi si ChatGPT arrive à lire ces messages cachés et je vous explique les applications concrètes comme le watermarking de contenu ou l’envoi de messages discrets.
C’est une technique à la fois fun et utile à connaître, que ce soit pour protéger vos créations ou juste pour impressionner vos potes geeks.
J’ai tout expliqué en 13 minutes, accessible même si vous n’y connaissez rien en Unicode. Et un grand merci à
mes soutiens sur Patreon
sans qui rien ne serait possible !