Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Pascal Editor - Le plan 3D se dessine pendant que Claude bosse

J'ai jamais fait construire de maison mais je crois savoir que dessiner le plan de sa maison en 3D, ça passe encore par un logiciel assez lourd à installer + une licence, sans oublier l'interface façon Micro Applications de 2003 (qui s'en souvient ??). C'est pourquoi Aymeric Rabot et Wassim Samad ont pris le problème autrement avec Pascal Editor, un éditeur de bâtiments 3D qui tourne simplement dans un onglet de navigateur. Et en plus, c'est gratuit, open source (licence MIT) et surtout sans inscription.

Vous tracez les murs à la souris, puis viennent les zones, les dalles, les plafonds et les toits. Les portes et les fenêtres sont paramétriques, posez-les sur une cloison, la découpe se fait toute seule en géométrie booléenne via three-bvh-csg. Le mobilier s'accroche au sol, au mur ou au plafond selon l'objet ( allez regarder cet exemple ! )

Tout ça s'organise en Site, Bâtiment, Niveau, puis pièces. Le rendu passe par Three.js en WebGPU, la scène est sauvegardée en local dans IndexedDB, et l'historique remonte 50 étapes en arrière. Sauvegardez ou partagez un projet en ligne par contre, et il part sur leurs serveurs.

Le projet propose aussi @pascal-app/mcp sur npm, un serveur Model Context Protocol qui expose la scène 3D à un agent. Vous installez le package, et la commande pascal-mcp branche Claude Desktop, Claude Code, Cursor ou Codex directement sur votre plan (votre scène part alors chez le fournisseur du modèle, forcément).

Ça donne une trentaine d'outils utilisables en langage naturel : create_room pour sortir une pièce complète depuis un polygone, add_door et add_window sur un mur donné, furnish_room qui meuble selon le type de pièce, measure, check_collisions pour repérer les objets qui se chevauchent, et undo si l'agent part en vrille. Trois prompts sont livrés avec, dont from_brief qui transforme une phrase du genre "un 2 pièces dans 80 m²" en suite de modifications.

Deux outils lisent aussi des images, un pour les plans scannés, un pour les photos de pièce. Attention, ils n'embarquent aucun modèle de vision mais utilisent la capacité sampling du protocole, autrement dit c'est le modèle de votre client MCP qui regarde l'image.

Et puis il y a la synchro. Le serveur écrit dans une base SQLite locale, et la page de l'éditeur s'abonne au flux d'événements. Résultat, vous gardez l'onglet ouvert à côté de votre fenêtre de chat et vous voyez les murs apparaître au fur et à mesure que l'agent travaille. J'avais montré le même genre de bascule avec n8n qui laisse une IA piloter ses workflows , sauf qu'ici le retour est visuel et immédiat.

Côté interopérabilité, un convertisseur avale les fichiers IFC, le format d'échange du BIM, et l'export sort en GLB, STL ou OBJ. Cet export est d'ailleurs arrivé par des contributeurs extérieurs, pas par l'équipe, c'est pour vous montrer à quel point le projet est bien soutenu ! De quoi ensuite passer votre plan dans Blender, ou le texturer avant impression 3D . Un système de plugins permet aussi d'ajouter ses propres types d'objets, avec un exemple officiel qui plante des arbres et des fleurs.

Si vous voulez tester, l' éditeur s'ouvre direct dans le navigateur , et le code est sur GitHub. À vous de voir si vous dessinez tout vous-même ou si vous déléguez à l'IA.

Merci Letsar pour le lien !

Source

GitWand - Il trie vos conflits Git et vous montre pourquoi

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

Comment j'ai fait mon catalogue de vide-maison sans toucher à Figma

Je déménage bientôt, et comme je quitte ma jolie campagne pour aller dans un endroit plus petit et sans nature (ouin), je dois me débarrasser de pas mal de matériel... Ponceuse, débroussailleuse, taille-haie, tronçonneuse, canapé, tracteur tondeuse.... la totale quoi. Et Le Bon Coin, même si à un moment, je vais devoir y passer, ça me stresse. Je me suis déjà fait menacer par un connard, quand je vendais ma Clio y'a longtemps et entre les acheteurs fantômes et les négociateurs relous, je trouve que les gens s'y comportent comme des bêtes. Du coup, pour commencer en douceur, j'ai choisi la méthode old school à savoir faire un petit catalogue recto verso glissé dans les boîtes aux lettres des voisins.

Sauf qu'aligner des colonnes sur un logiciel de mise en page un soir de semaine, ça heurte très violemment ce que je peux encaisser émotionnellement en ce moment ^^. L'idée m'est donc venue de prendre un petit abonnement et de tester Figma MCP (la passerelle qui laisse un agent IA piloter Figma à votre place) branché à Claude Code : vous donnez votre brief (idées, textes, prix) et un dossier de photos, et l'agent construit la mise en page à votre place.

Comme ça, plus besoin de toucher à rien.

Et si je fais cet article, c'est parce que j'ai été impressionné ! Ça fonctionne super bien. J'ai pas eu besoin de faire 50 aller-retour du genre "décalle ce truc de 2 px vers la gauche" et l'IA s'est démerdée pour tout faire rentrer sur un A4 recto verso.

Puis après, j'ai fait le même tour de magie avec la plaquette commerciale qui sert à vendre du sponsoring sur le site (le Patreon , aussi généreux soit-il, ne permet pas encore d'en vivre sans annonceurs, sniiiif). Je lui ai donné mes data, je lui ai dit ce que je voulais et Claude Code a réalisé le design et assemblé les slides à partir de tout ça.

Figma MCP, pour ceux qui débarquent, ça désigne le Model Context Protocol appliqué à Figma. C'est un standard ouvert qui permet à un agent IA comme Claude Code de discuter directement avec un logiciel, ici Figma. En clair, l'agent peut lire ce qui se passe dans votre fichier ET écrire dessus, créer des frames, poser du texte, aligner des composants, un peu comme si vous étiez aux commandes vous-même, sauf que c'est vous qui donnez les instructions et lui qui exécute.

Pour l'activer, ouvrez Figma desktop, créez un nouveau document DESIGN

Puis basculez en Dev Mode (raccourci Shift+D ou le bouton tout en bas de l'écran) où la section MCP server du panneau d'inspection permet d'activer un serveur local, à l'adresse http://127.0.0.1:3845/mcp.

Ensuite, pour que Claude Code construise et modifie réellement votre design comme je l'ai déjà fait pour mon catalogue, vous devrez le connecter au MCP de Figma depuis votre terminal avec cette commande :

claude mcp add --transport http figma https://mcp.figma.com/mcp

Une fenêtre d'authentification s'ouvre, vous validez avec votre compte Figma, et c'est plié ! Anthropic propose aussi un plugin tout-en-un si taper la commande à la main vous gonfle. Notez que cette connexion gratuite est en bêta, et Figma a prévenu que ça basculera un jour sur un modèle payant à l'usage. C'est tellement dommage de faire payer pour ça...

Reste ensuite à coller le lien du document Design dans votre prompt (ou à sélectionner le bon frame), et l'agent saura exactement où écrire.

Pour faire un peu de PAO, un petit design ou une présentation à monter vite fait, c'est super fluide. Moi j'ai branché mon outil Kassis (anciennement VoxDrop), j'ai tout dicté dans Claude Code et j'ai obtenu ce que je voulais sans effort. Claude est même parti chercher des infos sur le matos en ligne.

Figma est un chouette outil et il n'a pas l'air si complexe que ça mais quand on n'a pas envie d'apprendre à maîtriser toute cette machinerie pour faire un mini truc, ce MCP est bien pratique. Il sait tout gérer, les calques, composants, auto-layout, et compagnie et ça annihile totalement cette courbe d'apprentissage qui m'aurait fait perdre du temps sur d'autres projets plus importants.

Si vous bossez régulièrement sur des prez, des maquettes ou tout ce qui ressemble à de la PAO, ça vaut clairement le coup d'essayer en tout cas, même si vous maîtrisez Figma.

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

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

Dropbox se branche à Claude Code et lui permet de lire vos fichiers

Dropbox vient de sortir un plugin pour Claude Code , et leur idée c'est de pouvoir brancher vos fichiers Dropbox directement dans vos sessions de dev Claude Code / Cowork.

Alors je me suis demandé à quoi ça pouvait bien servir et voici ce que j'ai compris. Une fois que le plugin est en place, ça permet à Claude Code d'aller piocher dans votre Dropbox vos docs techniques, vos cahiers des charges, votre code...etc pour s'en faire du contexte. Tout devient de la matière fraiche pour corriger ou générer du code et quand c'est fini, ce qui est produit peut être à son tour stocké sur Dropbox.

Le plugin sait récupérer les fichiers en fonction de leur nom, de mots clés, de leur emplacement et bien sûr en fonction de leurs méta données. Même vos liens partagés il sait comment les gérer. Bref, il fait tout simplement le passe-plats entre tout le bordel que vous stockez sur Dropbox et Claude Code.

Cela dit, gardez la tête froide parce que tout ce que l'IA lit part sur les serveurs d'Anthropic pour être traité. Donc évitez quand même de le lâcher sur le dossier qui contient vos contrats, vos mots de passe ou vos données clients. Lui autoriser juste un dossier dédié avec ce que vous acceptez de partager, ce sera plus sain.

Pour l'installer, ça se passe dans Claude Code sur le web. Vous filez dans le menu Personnaliser, Connecteurs puis vous cherchez Dropbox en parcourant les plugins et vous cliquez sur ajouter. Une auth OAuth plus tard (vos identifiants Dropbox habituels), c'est branché. Un petit /reload-plugins et le plugin s'active alors dans la session en cours.

En plus de ce plugin, Dropbox propose également un serveur MCP classique en ligne de commande qui est un peu plus souple et surtout peut se brancher dans Cursor, Claude Desktop ou Devin.

Un bémol quand même, c'est pas open bar... sniiif. Eh oui, Dropbox plafonne tout ça à 5 Mo par fichier lu ou créé via l'intégration, et le contenu pondu par Claude ne se sauvegarde qu'en texte (.txt, .md, .html, .py), et pas en image ni en PDF. Quant aux limites de débit de l'API, on ne les connaît pas.

Bref, pour les gros fichiers ou les binaires, faudra donc passer par autre chose.

Si vous vivez dans Claude Code et que votre vie est rangée dans Dropbox, ça vaut peut-être le coup de jeter un œil ici.

BadHost - Un caractère et votre agent IA passe à l'ennemi

Les chercheurs de X41 D-Sec viennent de divulguer une faille critique baptisée BadHost (CVE-2026-48710) dans Starlette, le framework Python qui sert de fondation à FastAPI, vLLM , LiteLLM et une grande partie des serveurs MCP basés sur FastAPI.

325 millions de téléchargements par semaine, et il suffit d'injecter un seul caractère dans le header HTTP "Host" pour contourner les contrôles d'accès path-based qui lisent "request.url.path" dont autant dire que beaucoup de déploiements d'agents IA en production tournent en ce moment avec une porte d'entrée très mal verrouillée.

Le proof of concept publié par OSTIF donne ceci :

curl -i -H 'Host: foo' http://target/admin # 403, bloqué
curl -i -H 'Host: foo?' http://target/admin # 200, ça passe !!

Et c'est tout ! Un simple point d'interrogation collé au Host header, et l'endpoint "/admin" qui jusqu'alors filtrait les non-authentifiés s'ouvre alors aussi facilement que le claque-merde de mes haters ^^.

Donc si votre infra utilise FastAPI, vLLM ou LiteLLM exposés directement en ASGI (uvicorn, hypercorn, granian) sans reverse proxy strict devant, vous pouvez tester votre exposition immédiatement grâce au scanner de BadHost développé par Nemesis et X41 D-Sec.

Niveau mécanique, Starlette reconstruit l'objet "request.url" en concaténant la valeur du header "Host" avec le path de la requête, puis re-parse le tout. Sauf que la valeur de "Host" n'est jamais validée donc si vous y injectez un "/", un "?" ou un "#", vous décalez la frontière entre path, query et fragment au moment du re-parse.

Du coup, le routeur Starlette dispatche sur le vrai path de la requête HTTP (donc votre endpoint sensible s'exécute bien), mais les middlewares qui lisent "request.url.path" voient simplement un path empoisonné qui ne correspond plus à rien d'interdit.

Donc le contrôle d'accès saute et le code derrière tourne quand même. On est sur un score CVSS de 7/10 et la boite de sécu Secwest estime même que cette note est largement sous-estimée... En gros c'est super grave !

Car la portée réelle ce sont surtout les serveurs MCP qui peuvent stocker ou manipuler des tokens et identifiants pour accéder aux ressources externes auxquelles les agents IA se connectent : bases de données, comptes mail, calendriers, S3, webhooks...etc

Bref, le genre de "coffre-fort" que vous ne voulez pas voir ouvert via un header HTTP à la con malformé. Markus Vervier de X41 D-Sec a même publié un petit échantillon de ce que leurs scanners ont déjà trouvé en production : Des bases de données d'essais cliniques chez des biopharmas, des données de vérification d'identité avec PII en temps réel, des accès SSH à des équipements industriels via bastion, des boites mails complètes en lecture/écriture, des listes de souscripteurs CMS, des topologies AWS complètes avec metric queries.

Bref, l'écosystème agents IA vient de passer en mode naturiste !

Pour régler ce problème, vous devez donc mettre à jour vers Starlette 1.0.1 ou supérieur, dans tous vos déploiements LLM qui l'intègrent... Et là c'est le bordel parce qu'il y en a partout : Dans les images Docker, les virtualenvs et les artefacts "vendorisés" un peu partout... Donc faut tout rebuilder.

Et si vous avez du code custom, l'OSTIF recommande aussi de remplacer request.url.path par request.scope["path"] partout où une décision de sécurité est prise.

En gros, lire la valeur non reconstruite est le "fix" qui survivra aux prochaines versions du bug, parce que croyez-moi, ça reviendra à coup sûr !

Maintenant, côté infra, X41 D-Sec et OSTIF indiquent que nginx, Apache httpd et Cloudflare rejettent le PoC par défaut, mais ça ne doit pas vous empêcher de vérifier votre config. Donc ne traitez votre reverse proxy comme une mitigation qu'après l'avoir testé explicitement avec le scanner Nemesis.

Au-delà du correctif technique, BadHost rappelle une mécanique qu'on a déjà vue avec la faille RCE de llama-cpp-python à savoir que la chaîne d'approvisionnement de l'IA ne tient que sur quelques mainteneurs bénévoles qui prennent des risques personnels énormes pour patcher proprement.

Kludex, le mainteneur de Starlette, est actuellement sous une avalanche de reports depuis des mois. L'audit qui a permis de trouver le bug a par ailleurs été financé par OSTIF et AWS et sans ça, BadHost serait encore probablement dans la nature pour un an voire plus avant d'être découvert plus naturellement.

Donc si votre boîte fait tourner du LLM en prod via FastAPI, vLLM ou LiteLLM, vous avez aujourd'hui 2 choses urgentes à faire : 1/ passer votre infra dans le scanner Nemesis, et 2/ envoyer un petit don à Kludex pour le soutenir !

Sources : Ars Technica , OSTIF

Faille MCP : 200 000 serveurs exposés à l'exécution de code, Anthropic dit que c'est normal

200 000 serveurs. C'est le nombre de machines potentiellement exposées à l'exécution de commandes système arbitraires via une faille de conception dans le SDK MCP d'Anthropic, d'après les chercheurs d'OX Security.

L'interface STDIO du protocole permet de créer des sous-processus sans contrôle, ce qui ouvre la porte à n'importe quelle commande OS sur la machine hôte.

Le problème touche tous les langages supportés par le SDK : Python, TypeScript, Java, Rust. Et les packages concernés totalisent plus de 150 millions de téléchargements. Les chercheurs ont documenté quatre classes de vulnérabilité. D'abord de l'injection de commandes non authentifiée, testée sur LangFlow (toutes les versions) et GPT Researcher

Ensuite des contournements de sécurité sur Upsonic et Flowise. Et puis de l'injection de prompt zero-click dans des IDE comme Windsurf, Cursor, Gemini-CLI et GitHub Copilot. Et enfin du "marketplace poisoning" : 9 marketplaces MCP sur 11 testées ont accepté un serveur malveillant de démonstration sans broncher.

10 CVE de niveau élevé ou critique ont été émis. OX Security a mené plus de 30 processus de divulgation responsable depuis novembre 2025, avant de rendre les résultats publics en avril.

La réponse d'Anthropic est celle qui fait grincer des dents. La boîte considère que le comportement est "attendu" et a refusé de modifier l'architecture du SDK. Elle a publié des recommandations de sécurité mises à jour, mais selon les chercheurs, "ça n'a rien corrigé". En clair, Anthropic estime que la sécurité de l'interface STDIO est du ressort de l'utilisateur qui déploie, pas du protocole lui-même.

C'est quand même un positionnement gênant, MCP est devenu un standard de facto pour connecter des modèles IA à des outils externes, et des milliers d'entreprises et de développeurs l'ont adopté.

Si le SDK officiel laisse passer de l'exécution de code arbitraire par design, et que la réponse officielle est "c'est voulu, sécurisez vous-mêmes", la responsabilité est déplacée vers l'aval sans filet.

Bref, si vous déployez du MCP en prod, les recommandations d'OX Security valent le détour. Anthropic ne corrigera pas à votre place.

Source : The Register

Plus de 1 000 environnements cloud infectés après une attaque sur le scanner Trivy

Un groupe de pirates a compromis Trivy, un scanner de vulnérabilités open source très utilisé dans les pipelines de développement. Résultat : plus de 1 000 environnements SaaS infectés par un malware qui vole des clés API, des identifiants cloud et des tokens GitHub.

Un scanner de sécurité devenu vecteur d'attaque

Trivy est un outil open source maintenu par Aqua Security. Il sert à détecter des failles, des mauvaises configurations et des secrets exposés dans du code, et il est intégré dans les chaînes de déploiement continu (CI/CD) d'un très grand nombre d'entreprises. Le groupe TeamPCP a réussi à compromettre la version 0.69.4 de Trivy en exploitant une mauvaise configuration dans le composant GitHub Action du projet.

En février, ils ont volé un token d'accès privilégié, et ce token n'a jamais été correctement révoqué. En mars, les attaquants l'ont utilisé pour injecter du code malveillant directement dans le projet, en poussant des images Docker et des versions GitHub vérolées vers les utilisateurs.

Le résultat : 75 des 76 tags de trivy-action ont été remplacés par des versions malveillantes.

La contamination s'étend

L'attaque ne s'est pas arrêtée à Trivy. Le même groupe a aussi compromis liteLLM, une bibliothèque Python qui sert d'interface pour les modèles de langage et qui est présente dans 36 % des environnements cloud.

Ils ont aussi touché KICK (un outil d'analyse statique de Checkmarx) et déployé CanisterWorm, un ver qui se propage via des paquets npm vérolés. Le malware installé est un infostealer qui extrait les clés API, les identifiants de bases de données, les tokens GitHub et toute information sensible accessible dans l'environnement de build.

Mandiant, la branche cybersécurité de Google, estime que plus de 1 000 environnements SaaS sont actuellement compromis, et que ce chiffre pourrait grimper à 10 000. TeamPCP travaillerait avec le groupe Lapsus$, connu pour ses attaques contre Microsoft, Nvidia et Uber.

Des révélations à la conférence RSA

Les détails de l'attaque ont été rendus publics lors de la conférence RSA. Le chercheur en sécurité Paul McCarty a été le premier à tirer la sonnette d'alarme, suivi par les équipes de Socket, Wiz et Aikido.dev. Aqua Security a vu ses 44 dépôts GitHub internes défacés, avec une exposition du code source et des configurations CI/CD.

L'affaire montre à quel point les outils de sécurité open source, quand ils sont mal protégés, peuvent devenir le point d'entrée idéal pour une attaque à grande échelle.

C'est quand même un comble : un scanner de vulnérabilités qui devient lui-même le vecteur d'une attaque. Le fait qu'un simple token non révoqué ait suffi pour compromettre toute la chaîne montre que la sécurité des projets open source reste un vrai sujet. Et quand on sait que liteLLM est présent dans plus d'un tiers des environnements cloud, on mesure l'ampleur du problème...

Source : The Register

Chrome DevTools MCP - Quand Google file les clés de Chrome à l'IA

Si vous utilisez un agent IA pour coder, y'a un truc qui sorti y'a quelques semaines et qui change clairement la donne. En fait c'est l'équipe de Chrome DevTools qui a balancé son propre serveur MCP pour connecter vos agents directement aux entrailles de Chrome. 29 outils répartis en 6 catégories (input, navigation, émulation, perf, réseau, debug)... et comme vous allez voir, c'est du lourd !

J'ai testé et c'est pas un wrapper qui clique bêtement sur des boutons. Chrome DevTools MCP donne en réalité un accès direct au Chrome DevTools Protocol via Puppeteer à votre IA. Du coup, votre agent peut capturer des traces de performance, lancer un audit Lighthouse, prendre des snapshots mémoire ou inspecter les requêtes réseau. En gros, TOUT ce que vous faites à la main dans l'onglet DevTools de Chrome, votre IA peut le faire à votre place.

D'ailleurs, si vous aviez kiffé BrowserWing qui enregistre vos actions navigateur pour les rejouer via MCP, ici c'est l'approche inverse. Pas de replay mais votre agent accède directement aux outils de debug. Et l'installation tient en une ligne. Vous collez ça dans votre settings.json (VS Code) ou votre config MCP et hop, c'est parti :

{
 "mcpServers": {
 "chrome-devtools": {
 "command": "npx",
 "args": ["-y", "chrome-devtools-mcp@latest"]
 }
 }
}

Y'a aussi toutes les lignes de commande à taper dans votre console sur le Github, selon votre outil. Ça marche avec VS Code, Cursor, Claude Code , Cline, JetBrains, Gemini CLI... en gros, tout ce qui cause MCP.

Et côté options, y'a aussi de quoi s'amuser. Le mode --headless pour tourner sans interface graphique, --isolated pour un profil Chrome temporaire qui se nettoie tout seul (pratique pour les tests), --slim pour n'exposer que les outils essentiels si vous voulez garder ça minimal, ou encore --channel pour choisir entre Chrome stable, beta, dev ou canary.

Le truc vraiment pratique (enfin moi en tant que "webmaster", j'adore) c'est la partie analyse de performance. Votre agent lance une trace, l'analyse et vous sort un diagnostic, du genre que votre First Contentful Paint est à 3.2 secondes parce qu'un script de 800 Ko bloque le rendu... tout ça sans que vous ayez à ouvrir les DevTools vous-même ! Pour déboguer des pages lentes, c'est carrément royal.

Attention quand même, tout ce que le navigateur affiche est exposé au client MCP donc évitez de lancer ça sur des pages avec vos mots de passe ou vos coordonnées bancaires, évidemment. Ah et comme ça reste un produit du méchant Google qui pompe toutes vos datas, sachez que les stats d'utilisation sont activées par défaut, donc pensez à les désactiver avec --no-usage-statistics si ça vous chiffonne ^^.

Voilà, pour du débogage et de l'analyse de perf pilotés par IA, y'a pas mieux pour l'instant.

Merci à Letsar et Lorenper pour le partage !

BrowserWing - Laissez l'IA prendre le contrôle de votre navigateur

Vous rêvez de pouvoir dire à une IA "va sur ce site, remplis ce formulaire avec mes infos, et clique sur le gros bouton rouge" et que ça se fasse tout seul pendant que vous allez vous chercher un café ? Hé bien c'est exactement la promesse de BrowserWing , un petit outil open source qui fait le pont entre vos modèles de langage (via les API d'OpenAI, Claude, DeepSeek...) et votre navigateur Chrome ou Chromium.

En fait BrowserWing va enregistrer vos actions dans le navigateur (clics, saisies, navigation), les transformer en scripts, puis les convertir en commandes MCP (Model Context Protocol). Pour ceux qui débarquent, le MCP c'est le nouveau standard qui permet aux IA de discuter avec des outils externes. Vraiment c'est super pratique comme protocole. Je l'utilise tous les jours, et je vous recommande vraiment de vous y intéresser.

Du coup, grâce à ça, vos agents IA peuvent ensuite rejouer ces actions. C'est comme si vous créiez des macros pour le web, mais intégrables dans un flux piloté par l'intelligence artificielle.

Attention toutefois, on est sur une version très précoce (v0.0.1), donc le jeu de commandes est encore limité et les choses peuvent bouger mais l'idée est là...

Voilà, c'est parfait pour simplifier l'automatisation de toutes ces tâches répétitives et reloues qu'on se cogne quotidiennement sur le web. On peut envisager du scraping, du remplissage de formulaires, ou même des workflows qui enchaînent plusieurs sites et l'avantage par rapport à un script Selenium ou Playwright classique, c'est que l'IA peut potentiellement mieux digérer les petits changements visuels et comprendre le contexte de la page.

Comment l'installer sans se brûler les ailes

Pour tester la bête, vous avez deux options. La plus simple, c'est de récupérer le binaire précompilé directement sur la page Releases du projet GitHub. Vous prenez celui qui correspond à votre OS, et hop, c'est parti.

Sur Linux ou macOS :

chmod +x ./browserwing
./browserwing --port 8080

Sur Windows :

./browserwing.exe --port 8080

Une fois que le serveur tourne, il suffit d'aller sur http://localhost:8080 pour accéder à l'interface. Pour les plus barbus qui aiment bien compiler eux-mêmes (je sais qu'il y en a parmi vous), c'est aussi possible via un petit make install et make build-embedded, à condition d'avoir Go 1.21+ et pnpm 9 sous le coude.

Le futur de la navigation assistée ?

Une fois l'interface lancée, le workflow est plutôt intuitif. Vous ouvrez un navigateur piloté par BrowserWing, vous cliquez sur "Enregistrer", et vous faites votre petite popote habituelle. Une fois fini, l'outil vous génère un script que vous pouvez éditer visuellement avant de le transformer en commandes MCP exploitables par n'importe quel agent compatible.

Le truc vraiment cool, c'est que BrowserWing gère la persistance des cookies entre les sessions. Ça veut dire que vous pouvez automatiser des actions sur des sites où vous devez être connecté sans avoir à vous retaper l'authentification à chaque fois. L'IA peut ensuite combiner plusieurs scripts et prendre des décisions en fonction du contenu de la page. C'est plus souple qu'un script codé en dur qui panique au moindre popup inattendu.

Bref, si vous passez vos journées à faire du copier-coller entre des sites web ou que vous voulez voir ce que l'automatisation par IA a vraiment dans le ventre (même si c'est encore "work in progress"), allez jeter un œil à BrowserWing. C'est sous licence MIT, c'est gratuit, et ça pourrait bien vous sauver quelques heures de vie par semaine à l'avenir. D'ailleurs, ça me rappelle un peu ce que je vous disais sur Chrome-GPT à l'époque, mais en beaucoup plus moderne grâce au MCP.

Un immense merci à Lorenper pour le partage de cette pépite !

Ghidra MCP - Quand l'IA fait le reverse engineering à votre place

Ghidra, le framework de reverse engineering open source de la NSA, est un outil que tous les analystes sécu utilisent au quotidien pour démonter des binaires. Sauf que voilà... quand vous passez des heures à renommer des fonctions, documenter des structures et tracer des cross-references à la main, ça finit par devenir un poil répétitif.

Du coup, un développeur a eu l'idée de coller un serveur MCP (Model Context Protocol) directement sur Ghidra. "Encore un wrapper IA bidon ??"... mais non les amis car Ghidra MCP Server est un bridge Python + plugin Java qui expose pas moins de 110 outils d'analyse via le protocole MCP. Rien que ça.

Concrètement, ça veut dire que vous pouvez brancher Claude, ou n'importe quel outil compatible MCP, directement sur votre session Ghidra et lui demander de décompiler des fonctions, tracer des call graphs, renommer des variables en batch ou même créer des structures de données automatiquement.

Au niveau architecture, un plugin Java tourne dans Ghidra et expose une API REST sur localhost:8089, puis un bridge Python fait la traduction entre le protocole MCP et ces endpoints HTTP. Vous lancez Ghidra, vous activez le serveur via Tools > GhidraMCP > Start MCP Server, et hop, votre IA peut causer directement avec le décompileur.

Et c'est pas juste de la décompilation basique. Y'a de l'analyse de structures, de l'extraction de strings, du mapping mémoire complet, de la gestion de scripts Ghidra (plus de 70 scripts d'automatisation livrés avec le projet !) et même un système de documentation cross-binaire.

En gros, vous analysez un malware, vous documentez toutes les fonctions, et si vous tombez sur une variante plus tard, l'outil transfère automatiquement votre doc via un système de hash SHA-256 sur les opcodes. Plutôt chouette ! En revanche, ça marche pas si le code est fortement obfusqué... logique.

Bon, pour ceux qui connaissent déjà OGhidra (qui fait tourner des LLM en local dans Ghidra), Ghidra MCP Server c'est l'approche inverse. Au lieu d'embarquer l'IA dans Ghidra, c'est Ghidra qui s'ouvre à l'IA via un protocole standardisé. Du coup vous n'êtes pas limité à un seul modèle... Claude, GPT, Gemini, n'importe quel client MCP fait l'affaire.

Côté prérequis, faut Java 21, Maven 3.9+, Python 3.10+ et évidemment Ghidra 12.0.2. L'install se fait en quelques étapes : cloner le repo, pip install, copier les libs Ghidra dans lib/, compiler avec Maven et déployer le zip dans les extensions. Rien de bien sorcier si vous êtes déjà dans l'écosystème... sauf si vous êtes sous Windows, là faudra peut-être un peu galérer avec Maven.

Les opérations batch sont par exemple très intéressantes... Avec cette fonctionnalité, vous pouvez renommer 50 variables d'un coup, poser des commentaires sur toutes les fonctions d'un module, typer des paramètres en série.

Bref, si vous faites de l'analyse de binaires et que vous voulez arrêter de tout vous taper à la main, c'est le genre de combo reverse engineering + IA qui va vous faire gagner pas mal de temps !

Pipenet – L'alternative moderne à localtunnel

Si vous avez déjà galéré à rendre accessible votre serveur web local à des testeurs externes... Ne désespérez plus car aujourd'hui, je vais vous présenter Pipenet , un petit utilitaire qui va vous changer la vie !

On a tous connu ce moment où on veut montrer une démo à un client ou tester un webhook et en général c'est à ce moment là que le drame se produit ! Configuration de la box, pare-feu qui fait la tête, redirection de ports qui ne veut rien savoir... Grosso merdo c'est la fin de votre productivité pour la matinée !

Mais grâce à l'équipe de glama.ai qui a codé cette alternative au bon vieux localtunnel, vous allez pouvoir exposer vos services locaux sur Internet en un clin d'œil. Et ce qui est cool c'est que contrairement à d'autres solutions qui deviennent vite limitées ou payantes, Pipenet vous laisse un contrôle total ! C'est ça la pwouiiiissance du logiciel libre !

Pour ceux qui se demandent ce qu'est exactement un tunnel TCP, c'est simplement un pont entre votre machine et le reste du monde !

Mais attention ! La sécurité (chiffrement et auth) dépend de la configuration ! Ça tombe bien puisque Pipenet supporte bien sûr le HTTPS et possède des options pour sécuriser votre propre serveur !

Il fait ça particulièrement bien en utilisant une architecture client et serveur. Vous pouvez donc utiliser leur serveur public par défaut (pipenet.dev) ou carrément héberger votre propre infrastructure de tunneling ! C’est top pour la confidentialité si vous pouvez l'auto-héberger !

Pour l'install, si vous avez Node.js, une simple commande suffit pour commencer à exposer votre port 3000 !

npx pipenet client --port 3000

Et voilà, votre application devient alors accessible via https://abc123.pipenet.dev.

C'est aussi simple que ça ! Et si vous voulez un sous-domaine spécifique (parce que c'est plus classe), il suffit de leur demander (sous réserve de disponibilité évidemment) !

Mais là où Pipenet se démarque vraiment par rapport à la concurrence, c'est son approche pensée pour les environnements cloud ! Il supporte par exemple le multiplexage sur un seul port (via l'option --tunnel-port) ce qui est top pour les déploiements sur des plateformes comme Fly.io ou dans des conteneurs Docker où la gestion des ports peut vite devenir casse bonbon !

Vous pouvez même l'intégrer directement dans vos propres outils grâce à son API et c'est d'ailleurs ce qu'a fait glama.ai avec son outil mcp-proxy pour connecter des serveurs MCP locaux avec des clients IA distants ! Et si vous voulez savoir si Pipenet supporte le streaming ou les WebSockets... Hé bien la réponse est oui !

Ce petit pépère gère le trafic basé sur HTTP, y compris le SSE , donc pour tout ce qui est streaming et connexions full duplex WebSocket, c'est OK.

Pipenet est l'évolution moderne des outils comme Pagekite ou localtunnel et c'est un choix excellent pour la plupart des usages que je viens d'évoquer !

Amusez-vous bien !

Source

Anthropic lance Cowork - Claude devient un vrai délégateur d'agents IA

Anthropic fait parler de lui avec ses recherches sur l'IA ! D'abord avec son protocole MCP qui connecte Claude à nos données (ce truc est incroyable !), et maintenant avec Cowork, un système qui laisse carrément des agents IA travailler en autonomie.

Et là, on passe enfin des mots à l'action.

Voilà le concept que je vais essayer de vous expliquer clairement... Cowork en fait, c'est une nouvelle fonctionnalité dans Claude Desktop (macOS uniquement pour le moment, hein) qui permet à Claude de travailler en autonomie sur des tâches complexes. Vous lui donnez un objectif, et hop, il se débrouille en coordonnant des sous-tâches en parallèle, un peu comme s'il déléguait en interne à plusieurs spécialistes.

L'interface Cowork dans Claude Desktop - un nouvel onglet dédié à la gestion autonome des tâches ( Source )

Vous définissez une tâche (genre "analyser ce dataset et créer un rapport"), et Claude gère tout en parallèle. Il peut fouiller dans vos fichiers locaux via MCP, coder une solution, tester le code... tout ça de manière coordonnée. Du coup, au lieu de faire tout ça à la main en jonglant entre plusieurs onglets Claude, vous avez un assistant qui sait déléguer en interne.

Et le truc qui me plaît perso, c'est qu'Anthropic continue dans sa logique d'ouverture. Avec MCP , ils avaient déjà montré qu'ils misaient sur la connexion aux données plutôt que sur la puissance brute. Mais là, ils vont encore plus loin puisque Claude peut utiliser les mêmes outils MCP que vous, accéder aux mêmes ressources, et s'interconnecter avec votre workflow existant.

Exemple d'artefact généré par Cowork - une visualisation de données créée automatiquement ( Source )

Bon, y'a encore du boulot évidemment et comme je le vous disais, pour l'instant c'est limité à macOS, et bien sûr faut quand même comprendre comment ça marche pour bien l'utiliser. N'oubliez pas que Claude peut encore se faire rouler comme un bleu si on ne lui donne pas des instructions claires. Et puis, décomposer une tâche complexe, ça demande des instructions précises. Donc un humain !

Mais l'idée est vraiment chouette car à la d'un assistant IA qui vous répond gentiment, vous avez maintenant un assistant qui sait déléguer en interne et gérer plusieurs choses à la fois. Ça me rappelle un peu les recherches d'Anthropic sur le fonctionnement interne de Claude ... ils comprennent enfin mieux leur outil, et peuvent maintenant le rendent utilisable pour des cas concrets.

Bref, si vous avez un Mac et un compte Claude, vous pouvez déjà tester Cowork. C'est clairement une brique de plus dans l'approche "IA pragmatique" d'Anthropic avec moins de hype sur les capacités futures, mais plus de focus sur ce qui marche aujourd'hui.

Source

Quand l'IA vous aide à hacker la mémoire des jeux

Les vieux de la vieille connaissent forcement Cheat Engine puisque c'est LE logiciel culte pour tripatouiller la mémoire des jeux , trouver l'adresse où est stockée votre santé, votre or, vos munitions, et la modifier à la volée. Sauf que manuellement, c'est un travail de fourmi... Trouver un pointeur stable qui ne change pas à chaque redémarrage du jeu, ça peut prendre des jours, voire des semaines de bidouillage.

Hé bien quelqu'un a eu l'idée un peu folle de brancher Claude directement sur Cheat Engine et visiblement le résultat est au rendez-vous.

Le projet s'appelle cheatengine-mcp-bridge et c'est un pont entre les IA compatibles MCP (Claude, Cursor, Copilot) et Cheat Engine. Concrètement, ça veut dire que vous pouvez maintenant demander à Claude de faire le boulot de reverse engineering à votre place, en langage naturel.

Dans cet outil, y'a trois couches qui communiquent ensemble : l'IA qui reçoit vos questions en langage humain, un serveur Python qui traduit tout ça en commandes techniques, et un script Lua côté Cheat Engine qui exécute les opérations sur le processus ciblé.

Et les possibilités sont dingues puisque l'outil expose pas moins de 39 "tools" MCP différents. Vous pouvez lire la mémoire (entiers, floats, strings, pointeurs), suivre des chaînes de pointeurs complexes du genre [[base+0x10]+0x20]+0x8, scanner des valeurs, analyser du code désassemblé, identifier des objets C++ via les infos RTTI, et même poser des breakpoints hardware. Il y a même le support du DBVM, le mode hyperviseur de Cheat Engine qui permet un traçage niveau Ring -1 , beaucoup plus difficile à détecter pour les protections anti-cheat classiques.

Avec ce MCP, vous lancez un jeu, vous demandez à Claude "Scanne l'or, j'en ai 15000". L'IA trouve alors 47 résultats. Vous dépensez un peu d'or dans le jeu, vous dites "Maintenant j'en ai 14900". Claude filtre et garde 3 adresses. Ensuite vous demandez "C'est quoi qui écrit sur la première adresse ?", et hop, breakpoint hardware posé automatiquement. Ensuite, un petit "Désassemble moi cette fonction", et vous avez tout le code de la fonction AddGold devant les yeux.

Tout ce processus qui prenait des heures de tatonnement se fait maintenant en mode conversation.

Pour l'instant c'est en lecture seule, pas d'écriture mémoire possible (probablement une sage précaution) et l'outil utilise les registres de débogage hardware DR0 à DR3, ce qui limite à 4 breakpoints simultanés mais garantit une compatibilité maximale avec les protections anti-cheat basiques.

Côté prérequis, c'est Windows only (à cause des canaux nommés ), Python 3.10 minimum, et Cheat Engine 7.5 ou plus récent. Et l'installation demande quelques étapes également... Il faut d'abord activer DBVM dans les settings de Cheat Engine, charger le script Lua, et configurer le chemin du serveur MCP dans votre IDE. Et n'oubliez pas de désactiver l'option "Query memory region routines" sinon vous risquez un joli écran bleu CLOCK_WATCHDOG_TIMEOUT.

C'est un projet encore frais mais j'ai trouvé ça cool, d'où le partage ici. Bon évidemment, on reste dans le domaine du reverse engineering et du modding de jeux et comme toujours, c'est destiné à un usage éducatif et de recherche donc ne venez pas pleurer si vous vous faites bannir d'un jeu en ligne, hein.

Mais en tout cas, pour les passionnés de rétro-ingénierie, les créateurs de trainers, ou simplement les curieux qui veulent comprendre comment fonctionne un jeu sous le capot, c'est un outil incroyable ! L'IA qui se met au hacking de jeux, on n'arrête vraiment plus le progrès.

Source

Cupertino - Plus de code iOS pourri avec vos assistants IA

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 :

git clone https://github.com/mihaelamj/cupertino-docs.git ~/.cupertino

Mais si vous tenez absolument à avoir la doc fraîche du jour (maniaque de la mise à jour, je vous vois), vous pouvez crawler ça vous-même :

# Swift Evolution, ~5 minutes
cupertino fetch --type evolution
# Doc complète, ~20-24h
cupertino fetch --type docs
# Sample code Apple, ~4 minutes
cupertino fetch --type samples

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 !

Source

Context7 - Vos assistants IA vont enfin arrêter d'utiliser de la doc obsolète

Scène du crime, mardi matin, vous demandez à Claude Code de vous générer un middleware Next.js qui vérifiera un JWT dans les cookies. Et l’IA vous pond sans sourciller 15 lignes de code bien propres, bien commentées… Elle est parfaitement confiante et vous ça vous rassure. Vous copiez son œuvre, vous collez. Et là, PAF, une erreur de compilation !!

Hé oui, la fonction qu’elle a utilisée n’existe plus depuis Next.js 14. En gros, Claude Code a halluciné tranquillement avec de la vieille doc pourrie de 2020.

Et dire qu’on a passé 20 ans à se foutre de la gueule des devs qui copient-collent du code depuis de vieux posts Stack Overflow alors qu’aujourd’hui, on copie colle sans réfléchir ce que nous donne une IA qui fait exactement pareil ! C’est ça le progrès les amis !

Hé bien Context7 vient régler exactement ce problème ! Il s’agit d’un serveur MCP (Model Context Protocol) développé par Upstash qui branche votre assistant de code sur la documentation officielle à jour, comme ça vous esquivez les fonctions dépréciées, les API fantômes, et les best practices d’il y a trois ans.

Context7 est donc compatible avec Cursor, Claude Code, Windsurf, VS Code, Zed, Gemini CLI, et tous les éditeurs qui supportent le protocole MCP (donc à peu près tout ce qui existe…) et une fois que c’est en place, y’a plus qu’à l’oublier. Si vous hésitez, y’a une démo ici pour tester .

Mais avant de commencer, sachez que vous aurez besoin de Node.js 18+ pour la méthode locale. Et pour la méthode serveur distant, juste un navigateur et votre éditeur de code.

La méthode serveur distant consiste à aller sur context7.com , à vous créer un compte gratuit, à récupérer une clé API, puis à ajouter cette config dans votre éditeur comme ceci :

{
 "mcpServers": {
 "context7": {
 "url": "https://mcp.context7.com/mcp",
 "headers": {
 "CONTEXT7_API_KEY": "votre_cle_api_ici"
 }
 }
 }
}

Pour Cursor, ouvrez les settings (Cmd+,), cherchez “MCP Servers”, et collez ça dans la config JSON. Pour Claude Code, c’est dans .claude/settings.json à la racine de votre projet. Sauvegardez, redémarrez l’éditeur, et c’est bon.

Et deuxième méthode d’install, c’est en local via npx. Après c’est la même clé API mais la config est légèrement différente :

{
 "mcpServers": {
 "context7": {
 "command": "npx",
 "args": ["-y", "@upstash/context7-mcp", "--api-key", "votre_cle_api_ici"]
 }
 }
}

Voilà, avec cette méthode, le serveur MCP tourne sur votre machine ce qui vous offre un peu plus de contrôle. Et une fois que c’est en place, vous utilisez Context7 en ajoutant simplement “use context7” dans vos prompts. Par exemple : “Créez un middleware Next.js qui vérifie un JWT valide dans les cookies et redirige les utilisateurs non authentifiés vers /login. Utilisez context7”.

L’IA va alors interroger le serveur MCP Context7, récupérer la doc officielle Next.js à jour, et générer du code qui marche vraiment. Et la liste des libs supportées grandit régulièrement : Next.js, React, Vue, Svelte, Tailwind, TypeScript, et des dizaines d’autres…

Voilà, ça prend 3 minutes à installer, ça sauve des heures de debug débile sur des APIs qui n’existent plus, et c’est gratuit pour un usage perso !

Et dans six mois vous aurez oublié que c’est installé et vous vous demanderez comment vous faisiez avant…

Merci à itchrisdeb pour l’info !

Networking Toolbox - La boite à outil open source de l'admin réseau

Vous êtes admin réseau et vous en avez marre de jongler entre différents outils pour calculer un masque de sous-réseau, vérifier un enregistrement DNS, ou tester une config DHCP ?

Ça tombe bien puisque Networking Toolbox débarque avec tous les outils réseau dont vous avez besoin dans une seule interface plutôt propre et carrée.

Le projet est développé par Alicia Sykes , une développeuse qui a déjà pas mal de projets open-source à son actif et son idée c’est de regrouper plus d’une centaine d’utilitaires réseau au même endroit, sans dépendances tierces, sans tracking, et avec une interface qui fonctionne aussi bien sur desktop que sur mobile.

Le site propose des outils dans cinq grandes catégories. Du calcul de sous-réseaux, avec des calculateurs IPv4 et IPv6, de la planification VLSM, des outils CIDR pour convertir des masques ou générer des plages IP. Ensuite, les diagnostics réseau : lookups DNS, vérifications TLS, tests de connectivité, analyses HTTP et email. Vous avez aussi des générateurs pour DHCP et DNS, avec création d’enregistrements, validation DNSSEC, et configuration de zones complètes. Et bien sûr, tout un tas d’utilitaires divers pour convertir, valider, et manipuler des données réseau.

Ce qui est pratique, c’est que vous pouvez bookmark n’importe quel outil avec un clic droit. Ça le rend accessible offline et l’épingle en haut de votre page d’accueil. Si vous utilisez souvent les mêmes choses, ça évite de naviguer dans les menus à chaque fois. L’interface supporte ausis plusieurs langues, plusieurs thèmes visuels, et se contrôle entièrement au clavier.

Niveau techno, c’est du Svelte avec TypeScript, compilé en SvelteKit. Les calculs se font côté client, donc pas de latence serveur et le code est publié sous licence MIT. Vous pouvez donc le déployer sur votre propre infrastructure si vous ne voulez pas utiliser l’instance publique.

3 options principales s’offrent à vous : un conteneur Docker qui se lance avec une ligne de commande, un déploiement sur des plateformes cloud comme Vercel ou Netlify, ou un build statique que vous hébergez où vous voulez.

Pour Docker, c’est hyper fastoche. Vous tapez

docker run -p 3000:3000 lissy93/networking-toolbox

et l’interface est alors accessible sur localhost:3000. Si vous préférez compiler depuis les sources, le repo est ici sur Codeberg . Vous le clonez, vous installez les dépendances avec yarn, et vous lancez le serveur de dev avec yarn dev. Le projet se compile en build statique, en build Node.js, ou avec des adaptateurs pour GitHub Pages et autres hébergeurs statiques…

Le plus intéressant, c’est que Networking Toolbox propose aussi une API gratuite, sans clé, sans restrictions CORS. Si vous développez vos propres outils ou scripts d’automatisation réseau, vous pouvez interroger l’API directement sans config particulière pour par exemple, convertir un masque, valider une plage IP, ou générer un enregistrement DNS programmatiquement !

Voilà, si vous administrez des réseaux ou si vous étudiez les infras, testez-le. Je pense que vous gagnerez du temps et vous arrêterez de chercher “subnet calculator” sur Google toutes les cinq minutes.

Merci à Lorenper et Letsar pour l’info !

API Abilities - Le langage universel de Wordpress pour unifier les composants IA

Vous avez un site WordPress et vous voulez ajouter de l’IA dedans ?

Alors pour faire ça, vous installez un super plugin qui utilise ChatGPT. Parfait ! Sauf que 2 mois après, vous découvrez l’existence d’un nouvelle version de Claude qui est bien meilleure. Ou Gemini sort une fonctionnalité que vous voulez absolument..

Mais bon, votre plugin est marié avec OpenAI, et impossible de divorcer. Du coup, vous êtes coincé. Bienvenue dans le grand bordel de l’IA, où chaque outil parle sa propre langue et refuse de discuter avec les autres.

Heureusement, WordPress vient de sortir un truc qui pourrait bien changer tout ça. En gros, ils ont créé trois outils qui fonctionnent ensemble pour transformer WordPress en “traducteur universel” pour les IA. Ça s’appelle l’Abilities API, le PHP AI Client SDK, et le support du MCP (Model Context Protocol).

D’après l’annonce officielle sur Make WordPress , l’idée c’est donc de créer un registre central où toutes les capacités de WordPress sont décrites de manière lisible par les machines. Jonathan Bossenger explique que l’Abilities API ne se limite pas à découvrir les capacités du site, mais gère aussi les permissions et l’exécution de manière sécurisée. Votre site peut dire à une IA “Voilà ce que je sais faire, voilà ce que tu peux toucher, et voilà comment tu exécutes ça”.

// N'importe quel plugin peut enregistrer ses capacités avec le hook `init`.
wp_register_ability( 'my-seo-plugin/analyze-content-seo', [
 'label' => __( 'Analyser le SEO du contenu', 'my-seo-plugin' ),
 'description' => __( 'Analyse le contenu de l\'article pour améliorer le SEO.', 'my-seo-plugin' ),
 'thinking_message' => __( 'Analyse de votre contenu en cours !', 'my-seo-plugin' ),
 'success_message' => __( 'Contenu analysé avec succès.', 'my-seo-plugin' ),
 'execute_callback' => [ 'MySEOPlugin', 'analyze_content' ],
 'input_schema' => [
 'type' => 'object',
 'properties' => [
 'post_id' => [
 'type' => 'integer',
 'description' => __( 'L\'identifiant de l\'article.', 'my-seo-plugin' ),
 'required' => true
 ],
 ],
 'additional_properties' => false,
 ],
 'output_schema' => [
 'type' => 'number',
 'description' => __( 'Le score du contenu en pourcentage.', 'my-seo-plugin' ),
 'required' => true,
 ],
 'permission_callback' => 'edit_posts',
] );

Le truc marrant, c’est que WordPress a la réputation d’être la technologie “has-been” du web. Les hipsters du dev vous disent que c’est un dinosaure, qu’il faut passer à Next.js ou je ne sais quoi, et pourtant, c’est ce dino qui devient le premier CMS à adopter le MCP, qui est quand même un standard ultra-récent. Si vous n’avez jamais entendu parlé de MCP, c’est développé par Anthropic et ça permet de standardiser la façon dont les IA communiquent avec les outils externes.

WordPress a intégré le MCP en quelques mois et je vous explique rapidmeent comment ça marche, parce que c’est pas si compliqué. Le PHP AI Client SDK v0.1.0 est en fait une interface unifiée pour parler à n’importe quelle IA. Vous écrivez votre code une fois, et ça fonctionne avec OpenAI, Claude, Gemini, ou même un modèle local que vous faites tourner chez vous. Ce SDK se charge donc de traduire vos requêtes dans le langage de chaque provider.

C’est donc surtout un truc pour les développeurs, les agences, les gens qui codent des plugins et des thèmes custom. Et si vous êtes un utilisateur lambda de Wordpress (qui ne code pas dans cet écosystème), sachez quand même que les plugins et thèmes que vous utiliserez demain seront construits là-dessus.

Donc indirectement, ça va influencer votre expérience car vous aurez des plugins qui vous laisseront choisir votre fournisseur de LLM IA dans les réglages. Par exemple, un plugin de rédaction pourra utiliser Claude pour le style, GPT-4 pour la structure, et Gemini pour la recherche d’images, tout en même temps si vous le souhaitez… Ce sera un peu comme le Bluetooth ou l’électricité : vous ne savez pas vraiment comment ça marche, mais vous l’utiliserez tous les jours sans y penser.

Ce SDK est déjà disponible via Composer pour les devs qui veulent tester et WordPress 6.9 intégrera l’Abilities API directement dans son core. Après ça, on devrait donc voir une explosion de plugins qui utiliseront plusieurs IA simultanément.

Après si vous n’utilisez pas Wordpress, rassurez-vous, c’est pas juste une feature de chez eux… C’est un standard qui pourra être adopté également par d’autres CMS. Un peu comme RSS à l’époque qui a commencé dans un coin, puis que tout le monde a adopté parce que c’était ouvert et pratique. Et bien là, c’est pareil, l’Abilities API et le MCP sont open source donc n’importe qui peut les implémenter dans ses outils.

A voir maintenant comment les projets concurrents vont réagir… Wix va-t-il continuer à pousser son intégration exclusive avec ChatGPT ? Shopify va-t-il ouvrir son API IA ? Ou est-ce qu’ils vont tous regarder WordPress prendre une longueur d’avance et se dire “Merde, on a peut-être loupé un truc” ?

Bref, moi je trouve ça cool car WordPress aurait pu faire comme les autres, c’est à dire un beau partenariat exclusif avec OpenAI, un joli chèque, et enfermer 43% du web dans un écosystème propriétaire… Mais au lieu de ça, ils ont créé un standard ouvert et gratuit comme ça, c’est la communauté qui décide.

Et ça c’est beau ! Donc si vous êtes dev et que vous voulez tester, le repo GitHub du PHP AI Client est dispo ici avec toute la doc. Et si vous êtes juste utilisateur curieux, gardez un œil sur les plugins qui sortiront après WordPress 6.9 car ça va devenir intéressant…

ChatGPT peut faire fuiter vos emails avec une simple invitation Google Calendar

Vous attaquez votre lundi matin, tranquillement avec votre petit café… vous ouvrez ChatGPT pour lui demander votre planning de la semaine et là, PAF (façon De Funès ^^), toute votre correspondance Gmail part directement chez un cybercriminel.

Ce serait fou non ? Et bien c’est exactement ce qu’un chercheur vient de démontrer et tout ça à cause d’une simple invitation Google Calendar.

Eito Miyamura, co-fondateur d’EdisonWatch , a lâché une bombe sur X le 12 septembre et sa démo est terrifiante. En gros, il simule un attaquant qui envoie une invitation Google Calendar vérolée, ensuite vous demandez innocemment à ChatGPT “Qu’est-ce que j’ai de prévu aujourd’hui ?”, et l’IA se transforme en espion qui fouille vos emails et les envoie au pirate. Vous n’avez même pas besoin de voir ou d’accepter l’invitation. Elle est là, dans votre calendrier, comme une bombe à retardement.

Et ça tombe mal niveau comm, car OpenAI vient tout juste d’intégrer le support complet du MCP (Model Context Protocol) dans ChatGPT. Cette technologie permet en effet à l’assistant de se connecter directement à Gmail, Google Calendar, SharePoint, Notion… Pratique pour la productivité, mais catastrophique pour la sécurité.

Cette attaque exploite ce qu’on appelle l’injection de prompt indirecte. Au lieu d’essayer de tromper ChatGPT directement, l’attaquant cache ses instructions malveillantes dans des données que l’IA est autorisée à lire. Dans ce cas précis, le texte d’un événement calendrier… Ensuite ChatGPT lit l’invitation, voit les instructions cachées, et les exécute docilement.

Selon les experts en sécurité qui se sont penchés sur le problème, le MCP n’a pas été conçu avec la sécurité en priorité. Les risques incluent donc les injections de prompt, les permissions d’outils vulnérables et les outils sosies qui peuvent remplacer silencieusement les outils de confiance.

Sympa, hein ?

D’ailleurs, ce n’est pas la première fois qu’on voit ce genre d’attaque puisqu’en août, des chercheurs avaient déjà démontré comment une invitation compromise pouvait manipuler Google Gemini pour contrôler des appareils domotiques et voler des informations. Le papier s’appelait joliment “Invitation Is All You Need”. Prophétique.

Vitalik Buterin lui-même a réagi à cette vulnérabilité. Il explique que compter aveuglément sur un seul système IA est trop fragile et facilement manipulable et je trouve que cette nouvelle exploitation de ChatGPT lui donne raison !

D’ailleurs, même avec les navigateurs IA, vous n’êtes pas tranquille. D’après cette autre découverte, vous pouvez littéralement vous faire vider votre compte bancaire en scrollant sur Reddit. En effet, des instructions malveillantes peuvent être cachées dans des commentaires sur des sites que l’attaquant ne contrôle même pas, ce qui peut entrainer votre navigateur IA à faire des choses que vous n’avez pas autorisé.

Bref, cette nouvelle vulnérabilité met en lumière un problème fondamental des LLM : ils ne savent pas faire la différence entre des instructions légitimes et des commandes malveillantes cachées dans du contenu. Car contrairement aux applications traditionnelles qui peuvent séparer les instructions développeur des inputs utilisateur, les LLM acceptent tout en langage naturel. Pour rester flexibles, ils doivent pouvoir répondre à des configurations infinies d’instructions et c’est cette flexibilité qui fait leur force… mais qui est également leur talon d’Achille.

Trail of Bits a même démontré une variante encore plus sournoise où des images spécialement forgées contiennent des prompts cachés. Invisibles en haute résolution, les instructions malveillantes apparaissent quand l’image est réduite par les algorithmes de prétraitement. L’IA lit alors le message et l’interprète comme une instruction légitime.

Ainsi, quand une IA suit des instructions malveillantes depuis du contenu web, les protections traditionnelles comme la same-origin policy ou CORS deviennent inutiles. L’IA opère avec tous vos privilèges sur toutes vos sessions authentifiées. Accès potentiel à vos comptes bancaires, systèmes d’entreprise, emails privés, stockage cloud… C’est vite le jackpot pour un attaquant.

Alors, comment se protéger ?

Hé bien Google recommande de changer les paramètres de Calendar pour que seules les invitations de contacts connus ou acceptées apparaissent. Cachez aussi les événements refusés et surtout, restez extrêmement prudent avec les intégrations tierces et les autorisations accordées…

Voilà, donc la prochaine fois que ChatGPT vous demandera l’autorisation d’accéder à votre Gmail, réfléchissez-y à deux fois car ça pourrait vous coûter bien plus cher qu’un peu de temps gagné.

Source

Développeurs, attention à l'empoisonnement de vos IA !

Si vous faites partie des 97% de dev à grosses lunettes qui utilisent des assistants IA comme GitHub Copilot, Windsurf ou Cursor, ce que vous allez lire va probablement flinguer votre journée…

Et oui parce que si vous pensiez que votre assistant IA préféré était votre meilleur atout pour coder, sachez que des chercheurs en sécurité viennent de découvrir qu’en réalité, tous ces outils pourraient se comporter en cheval de Troie placé directement dans votre IDE. Et le plus flippant c’est que vous ne verriez absolument rien venir, même en scrutant le code ligne par ligne.

Thorium Reader, un logiciel open-source permettant de visualiser et lire des E-Books

Thorium Reader est un logiciel gratuit et open-source (licence BSD 3) développé par EDR Lab permettant de visualiser les livres électroniques au format EPUB 3 sur Windows, Mac et GNU/Linux avec les DRM d'Adobe et les DRM françaises LCP et de lire les livres audio au format MP3.

Les DRM LCP sont utilisées notamment par les bibliothèques et médiathèques françaises et suisses, dans le cadre du Prêt Numérique en Bibliothèque (PNB). Elles sont considérées plus avantageuses pour les éditeurs, car elles évitent de payer les tarifs américains d'Adobe DRM. Les DRM Readium LCP ont été conçues par Readium Foundation, les spécifications sont publiques et existent en tant que ISO/IEC 23078-2:2024.

Thorium Reader permet de naviguer dans les catalogues OPDS. Côté accessibilité « les personnes incapables de lire les textes imprimés bénéficient désormais d'une application de lecture EPUB 3 qui prend en charge les lecteurs d'écran tels que Jaws et NVDA sur Windows, Voice Over sur Mac » (ainsi que Narrator qui fait partie de Windows 11).

Le logiciel est traduit dans 25 langues. Techniquement il repose sur typescript, electron, reactjs, redux, saga et i18next.

Le site Web d'EDRLab nous apprend que c'est une organisation à but non lucratif.

Son budget provient essentiellement de nos membres. EDRLab a démarré en France, mais compte désormais 60 membres en Europe, Amérique du Nord, Amérique du Sud et Asie. Le financement du projet vient des membres fondateurs (Editis, Hachette Livre, Madrigall, Médias-Participations, Cercle de la Libraire, Syndicat national de l'Édition), de subventions publiques françaises (CNL (Centre National du Livre), Ministère de la Culture) et de subventions supplémentaires des membres de l'EDRLab intéressés par l'ajout de fonctionnalités spécifiques (Fênix Editorial, Canadian Electronic Library, MLOL / Horizons Limited, Lyrasis).

Commentaires : voir le flux Atom ouvrir dans le navigateur

Portr – Tunnelisez facilement vos connexions HTTP et TCP

Vous êtes en train de bosser sur votre dernier projet révolutionnaire qui va changer la face du monde (ou pas), mais vous avez besoin de le montrer à votre équipe ou à des testeurs externes… Sauf que voilà, votre serveur est bien au chaud sur votre machine locale et personne n’y a accès. C’est là que Portr entre en scène tel un chevalier blanc sur son destrier étincelant !

Cet outil permet grâce à une solution de tunnel, d’exposer des connexions HTTP et TCP locales à l’internet mondial \o/. Et tout ça en utilisant le transfert de port à distance SSH. En gros, ça permet de créer un tunnel sécurisé entre votre machine et un serveur distant, et de rediriger le trafic vers votre serveur local.

Bon, Portr est principalement conçu pour les petites équipes qui ont besoin d’exposer des serveurs de développement sur une URL publique donc si vous comptez l’utiliser pour héberger le prochain Facebook, passez votre chemin. Mais ça offre :

  • Tunnelisation facile des connexions HTTP et TCP
  • Tableau de bord d’administration pour gérer les équipes et les utilisateurs
  • Inspecteur Portr pour analyser et rejouer les requêtes HTTP

Et si vous voulez voir à quoi ça ressemble en vrai, je vous ai dégoté 2 petites vidéo de démo :

Si ça vous dit d’essayer, direction le repo GitHub du projet. Vous y trouverez tout ce qu’il faut pour installer et configurer Portr. Ah et j’oubliais (décidemment…), Portr est open source et distribué sous licence GNU Affero General Public License v3.0 (AGPL-3.0) donc vous pouvez l’utiliser, le modifier et le redistribuer à votre guise.

Bon allez, je vous laisse, j’ai un tunnel à creuser moi.

Graftcp – Un petit tool capable de proxifier n’importe quel programme

Voici un outil bien pratique pour faire passer vos connexions TCP par un proxy SOCKS5 ou HTTP. Ça s’appelle graftcp et grâce à lui, vous pouvez dire adieu à vos galères pour proxifier certains outils.

Comparé à des solutions comme tsocks, proxychains ou proxychains-ng, graftcp n’utilise pas la méthode LD_PRELOAD qui ne fonctionne que pour les programmes liés dynamiquement. Par exemple, les applications construites avec Go ne peuvent pas être « accrochées » par proxychains-ng. Alors que Graftcp, lui, peut suivre et modifier les connexions de n’importe quel programme, ce qui le rend très versatile.

Pour l’essayer, c’est fastoche. Sur Linux, compilez graftcp et graftcp-local avec Go ou téléchargez directement les binaires Debian ou Arch.

Voici comment faire :

  1. Clonez le dépôt : git clone https://github.com/hmgle/graftcp.git cd graftcp make
  2. Après compilation, utilisez les binaires résultants dans local/graftcp-local et graftcp. Vous pouvez aussi les installer dans le système :
    sudo make install
    sudo make install_systemd
    sudo make enable_systemd
  3. Lancez graftcp-local avec l’adresse de votre proxy SOCKS5, genre 127.0.0.1:1080.
    Par exemple : local/graftcp-local -socks5 127.0.0.1:1080
  4. Utilisez ensuite graftcp pour encapsuler vos programmes afin qu’ils passent par le proxy sans broncher. Exemple pour installer un package Go : ./graftcp go get -v golang.org/x/net/proxy

Ou pour surfer pépouze avec Chromium ou Firefox : ./graftcp chromium-browser

Même votre shell préféré peut surfer incognito si vous le lancez avec graftcp :
./graftcp bash
wget https://www.google.com

Sous le capot, Graftcp fork et trace le programme avec ptrace. À chaque appel connect, il attrape l’adresse de destination et la transmet par pipe à graftcp-local. Ensuite, il la modifie pour pointer vers graftcp-local avant de relancer le syscall. L’appli croit alors qu’elle cause à sa destination mais en fait, elle parle à graftcp-local qui se charge de tunneler le trafic dans le proxy SOCKS. Malin non ?

Evidemment, vous pouvez personnaliser le comportement de graftcp en utilisant divers paramètres, comme spécifier des fichiers de configuration pour gérer une liste noire d’IPs (blacklist) ou une liste blanche (whitelist). Par défaut, localhost passe en direct :

$ graftcp -h Usage: graftcp [options] prog [prog-args] Options: -c --conf-file=<path> -a --local-addr=<IP> -p --local-port=<port> -n --not-ignore-local -b --blackip-file=<path> -w --whiteip-file=<path> -V --version -h --help

Pour plus de détail et options, consultez GitHub.

Notez que Graftcp est limité au TCP… pas d’UDP donc. Pour le DNS, il faudra donc passer par un proxy dédié comme ChinaDNS ou dnscrypt-proxy. Pour les performances, bien que les chiffres précis varient en fonction des configurations, graftcp est assez connu pour offrir une alternative robuste aux solutions comme proxychains.

Bref, c’est un outil polyvalent pour la proxification puisqu’il est léger, compatible avec tout et surtout facile à utiliser…

Source

TunnelVision – la faille qui fait sauter le VPN et laisse fuiter vos données

Voici une info qui va vous faire voir les VPN sous un autre angle. Bah oui, parce que si vous pensiez que votre petit tunnel chiffré préféré vous mettait à l’abri des regards indiscrets quand vous surfez depuis un réseau public, désolé de casser vos rêves, mais c’est loin d’être le cas !

Une équipe de chercheurs de Leviathan Security a découvert une faille qu’ils ont baptisée TunnelVision qui permet de court-circuiter la protection des VPN à l’aiiise, grâce à une fonctionnalité bien pratique du protocole DHCP, ce bon vieux serviteur qui distribue des adresses IP à tout va.

En gros, quand vous vous connectez à un réseau, votre machine demande gentiment une adresse IP au serveur DHCP local. Jusque là, tout va bien. Sauf que ce protocole a plus d’un tour dans son sac. Il peut notamment pousser des règles de routage sur votre bécane, via une option peu connue appelée « Classless Static Route » ou option 121.

Concrètement, un attaquant qui contrôle le serveur DHCP peut installer des routes par défaut sur votre machine, ce qui lui permet de rediriger tout votre trafic vers sa propre passerelle, même si vous êtes connecté via un VPN ! Et là, c’est le drame, car il peut intercepter toutes vos données en clair. 😱

Bon, rassurez-vous, il y a quand même quelques conditions pour que cette attaque fonctionne :

  • 1. L’attaquant doit avoir un accès physique au réseau local ou être en mesure de compromettre un équipement sur ce réseau.
  • 2. Le client VPN ne doit pas bloquer les sorties de trafic vers les interfaces réseau locales.

Mais quand même, ça fait froid dans le dos, d’autant que cette faille touche potentiellement tous les réseaux, des petits réseaux domestiques aux gros réseaux d’entreprise. Les chercheurs ont d’ailleurs réussi à l’exploiter sur Windows, macOS, iOS, Android, et même sur des distributions Linux.

Heureusement, il existe des parades pour se prémunir contre TunnelVision :

  • Activer les fonctions de DHCP snooping et d’ARP protection sur les commutateurs réseau pour empêcher l’installation de serveurs DHCP non autorisés.
  • Configurer des règles de pare-feu strictes pour bloquer le trafic non autorisé.
  • Utiliser des protocoles de chiffrement comme HTTPS pour sécuriser les ressources internes.
  • Implémenter une isolation réseau robuste via des fonctionnalités comme les espaces de noms réseau (network namespaces) sous Linux.

Les fournisseurs de VPN ont évidemment aussi un rôle à jouer en documentant publiquement les mesures d’atténuation contre TunnelVision et en avertissant leurs utilisateurs des risques.

Bref, en attendant un éventuel correctif, la prudence reste de mise. Mais en appliquant les bonnes pratiques et en restant vigilants, on peut quand même limiter les dégâts ! Si le sujet vous intéresse et que vous voulez aller plus loin, je vous invite à consulter le papier de recherche complet qui détaille le fonctionnement technique de TunnelVision. C’est un peu ardu, mais ça vaut le coup d’œil pour les plus motivés d’entre vous.

Source

❌