Vue lecture

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

Reviewer des patches git par mail sans quitter Thunderbird

Marc Coquand avait très envie d'embarquer son équipe dans un nouveau genre de workflow Git à base d'emails et c'est pour ça qu'il a créé thunderbird-patch-review .

Il s'agit d'une extension pour Thunderbird qui, lorsque vous ouvrez un mail qui contient une série de patchs, vous propose un bouton "Review" vous permettant d'accéder à une interface de relecture Git qui va vous être très familière, vous allez voir.

Ensuite, si la série des patchs vous convient, vous pouvez tous les approuver directement sur votre dépôt local avec la commande git-am sans jamais avoir à quitter votre client mail.

Pour lancer Git, l'extension utilise une API expérimentale maison qui embarque tout le nécessaire dans son paquet sans host de messagerie native à installer séparément. Ça fait un truc en moins à configurer et l'addon vérifie que tout est OK dans un worktree jetable, avant de valider la review.

Comme ça, s'il y a un conflit, le bouton Apply se grise et les erreurs remontent dans l'interface pour que vous puissiez toutes les revoir une par une et faire un retour propre à l'auteur.

Cet add-on a été vibe-codé avec GLM 5.2 et construit pour répondre aux besoins de son équipe. Il hésitait sincèrement à le partager parce que le monde n'est pas encore prêt pour le Vibe Coding, mais il explique sur son site qu'il y avait un sérieux manque d'outils dans l'écosystème pour pouvoir travailler sur des revues de patch directement dans son client mail.

Donc tant pis, yolo, il l'a publié quand même et je pense que ça devrait vous intéresser. Comme quoi faire bosser un agent pour soi n'oblige pas à le planquer.

Maintenant, les patches qui arrivent en pièce jointe ne sont pas encore gérés, les mails en HTML seul non plus, et la collecte d'une série ne cherche que dans le dossier du message ouvert. De plus, l'add-on n'est pas encore publié sur le store Thunderbird, donc vous devrez le packager vous-même en .xpi depuis la racine du projet :

git clone git://mccd.space/thunderbird-patch-review
cd extension && zip -qrX ../patch-review.xpi .

Ensuite, vous chargez le fichier obtenu via le menu engrenage du gestionnaire de modules complémentaires (Installer un module depuis un fichier) et c'est réglé ! Rien de méchant si vous avez déjà bidouillé des extensions Thunderbird, genre Send Later pour planifier vos envois dont je vous parlais il y a un petit moment maintenant.

Voilà, si vous faites déjà du git par email, ça vaut le détour. Le code est en EUPL 1.2, et tout se passe ensuite sur la mailing list de Marc.

Source

Moonshine - Et votre serveur Linux sans écran devient une console

NVIDIA a débranché GameStream, son système maison pour envoyer les jeux de votre PC vers une Shield ou un laptop. Sauf que le protocole, lui, n'est pas mort : Moonlight , le client open source qui le réimplémente, tourne toujours sur Windows, macOS, Linux, Steam Link, Raspberry Pi 4, Apple TV et Xbox, et même sur des Switch et des Vita en homebrew.

Et surtout, Hans Gaiser bricole depuis début 2024 une pièce qui manquait côté serveur, Moonshine , qui commence à être sérieusement utilisable.

Moonlight n'étant qu'un client, il affiche l'image et renvoie votre clavier, votre souris et votre manette. Derrière, il faut donc forcément une machine qui capture le jeu et qui encode la vidéo en temps réel.

Bref, comme je vous le disais, depuis que NVIDIA a rangé GameStream au placard début 2023, ce rôle revient à des serveurs communautaires. Le seul que la FAQ Moonlight recommande, c'est Sunshine , du collectif LizardByte. C'est codé en C++ sous licence GPL-3 et ça tourne sous Windows, Linux, macOS et FreeBSD. Sauf que Sunshine capture une session de bureau existante ce qui veut dire que sur une machine sans écran, il faut composer avec ça, et c'est de là que vient toute la littérature sur les dongles HDMI factices et autres écrans virtuels...

Alors que Moonshine, lui, est codé en Rust et prend un autre chemin. En fait, chaque session de streaming tourne dans son propre environnement isolé, qui est totalement séparé de votre bureau. Du coup, vous n'avez plus besoin de session active du tout... Une simple tour sans écran fera parfaitement le boulot.

Voilà, si vous avez une machine Linux qui dort dans votre placard avec un GPU dedans, ça peut vous permettre de lancer Moonlight depuis votre canapé à distance, et c'est le serveur qui gérera la session rien que pour vous.

Après, c'est du Linux uniquement, testé sur Arch même si ça remonte que ça tourne aussi sur d'autres distribs, avec systemd obligatoire pour lancer et gérer tout ce qui est processus. Et du côté du GPU, il vous faudra de l'encodage vidéo Vulkan, donc, vous l'aurez compris, une Nvidia RTX ou une AMD RDNA2 ou plus récente, voire une Intel Arc pour les plus motivés.

Voilà, toutes vos vieilles GTX resteront sur le banc de touches... Sans oublier que vous aurez besoin du client Moonlight en version 6.0.0 minimum et que la compatibilité avec les portages non officiels n'est pas garantie.

Les codecs supportés, c'est du H.264, H.265 et AV1, avec du HDR en 10 bits. L'AV1 est marqué expérimental et Hans Gaiser prévient lui-même qu'il fait gonfler la taille des images au fil du temps sur les cartes NVIDIA. Sauf que c'est réglé depuis : NVIDIA a sorti le correctif dans son pilote Vulkan beta 595.44.3.0 et Hans Gaiser a confirmé début avril, mesures à l'appui, que la qualité était revenue à la normale. Son README, lui, n'a pas suivi et vous conseille encore de rester en H.264 ou H.265. Donc si l'AV1 vous tente, prévoyez le pilote Vulkan beta, pas celui de votre distrib.

Notez aussi que Moonshine n'est pas conçu pour être utilisé sur des réseaux publics puisque le protocole GameStream sous-jacent a des limites qui font que le trafic n'est pas entièrement chiffré au niveau applicatif. Donc, si vous vous y mettez, n'exposez jamais les ports de Moonshine directement sur internet. Préférez passer par Tailscale ou un WireGuard par exemple.

Bref, Moonlight, Sunshine, Moonshine... si comme moi, vous vous emmêlez dans les noms, c'est parfaitement normal. N'empêche que c'est un super truc, encore en dev, certes, mais ça promet pour le futur...

Source

BMASS - Bootez direct votre PC sur une IA locale

Balaji Bikshandi avait un rêve ! Il voulait booter sa machine directement sur un LLM sans avoir à passer par le moindre environnement de bureau ! Et il y est parvenu avec son outil BMASS , qui s'installe sur une clé USB de 8 Go, et qui embarque Alpine Linux, llama.cpp et un modèle Qwen3 0.6B évidemment quantisé.

Vous allumez l'ordi portable, Alpine démarre depuis la clé et vous tombez sur un prompt BMASS>. Et voilà à partir de là, vous pouvez causer à votre ordinateur en langage naturel. Ensuite, quand vous demandez à BMASS de faire des trucs, celui-ci injecte la commande qui va bien dans une balise et le runtime l'exécute pour de vrai sous un compte Linux non privilégié. Et ensuite, le LLM récupère la sortie brute, pour répondre, à partir de cette "preuve".

Operator: Which operating system is this?
Assistant: <shell>cat /etc/os-release</shell>

Tout le code de BMASS tient en 399 lignes de Python, et nécessite de faire tourner un llama-server en background sur le port 8080 avec 2048 tokens de contexte et 2 threads. Et ensuite lui fait le pont entre le modèle et le shell. Y'a rien de sorcier donc mais comme ça tourne sur du CPU, que c'est hors-ligne, et que ça peut se mettre sur des vieilles machines, c'est plutôt cool...

Voilà je vous laisse avec la vidéo que Balaji a filmée, ça montre le démarrage complet de son IA bootable :

Voir cette vidéo sur YouTube

Ah et petite subtilité qui va vous plaire, le code de BMASS contient une regex baptisée FALSE_EXECUTION_CLAIM dont le boulot est de détecter quand le modèle prétend avoir exécuté une commande alors qu'il n'a rien lancé du tout. Le runtime lui renvoie alors une correction pour lui dire qu'aucune commande n'a été exécutée lors de ce tour. Faut dire que la 0.6B de Qwen hallucine tellement parfois, qu'il lui fallait obligatoirement un garde-fou.

Donc, voilà, côté sécu c'est super léger... y'a juste une regex qui bloque les sudo, doas, pkexec et autres su, mais c'est tout. Pas de conteneur, encore moins de namespace et surtout pas de liste blanche, donc si vous vous lancez, ce sera à déployer uniquement pour rigoler sur une vieille machine sans importance, parce que si demain, le modèle décide de lancer un rm -rf, faudra pas venir chialer ^^.

Petit service au passage si vous voulez tester, la doc d'installation vous fait copier le prompt système dans /opt/bmass/config/system-prompt.txt, sauf que le launcher le cherche dans /opt/bmass/system-prompt.txt.

Dans le genre modèle local qui tient dans presque rien, j'en ai parlé avec Llamafile qui fait tourner un LLM depuis un fichier unique. Et si les bidouilles minimalistes vous amusent, il y a aussi ce mini-PC Linux piloté entièrement en morse .

Perso, je doute que ça serve à grand-chose. Mais le concept est marrant !

RetroMac - Le retour des Flying Toasters et du dock en verre

Maik Klotz, un développeur allemand, a sorti une app menu bar qui repeint votre Mac aux couleurs de Snow Leopard, System 6, Windows 98 ou encore BeOS. Elle s'appelle RetroMac et elle ne touche pas une ligne de votre système, donc pas de risques de tout casser.

Le catalogue des thèmes couvre à peu près tout ce qui nous a fait vieillir : le System 6 de 1988 en noir et blanc 1 bit avec ses barres de titre à rayures et sa police Chicago, Mac OS 9 et son Control Strip, l'Aqua bleu bonbon de 2001, le Snow Leopard de 2009, Windows 98, Windows XP et même BeOS. Chaque thème embarque son dock d'époque, ses curseurs, ses icônes et son écran de démarrage animé.

Les économiseurs d'écran sont de la partie aussi, un par thème avec 3D Pipes, FlowerBox, Flying Toasters, Flurry. Si vous ne voyez pas de quoi je parle, c'est que vous êtes trop jeune. Vous en avez de la chance !!

Par-dessus, y'a une trentaine de shaders qui simulent les vieilles dalles : CRT Royal, Sony Trinity, NTSC Composite, VHS, VCR, Game Boy. Vous pouvez les balancer en plein écran, sur un seul moniteur si vous en avez plusieurs, ou sur une seule fenêtre.

Le shader CRT Royal, scanlines et bombement d'écran compris

Le truc auquel je ne m'attendais pas, c'est la caméra virtuelle. RetroMac s'expose également comme une webcam système donc vous débarquez en réunion Zoom, Meet ou Teams avec une tête de VHS mal rembobinée. Effet garanti !! lol.

Et comme RetroMac se contente de peindre un shader par-dessus ce qui est déjà à l'écran, vos apps, vos fichiers et vos réglages système restent totalement intacts, donc c'est sans risques.

Après les thèmes, eux, modifient bel et bien des réglages du dock, de la barre de menus, des icônes du bureau et du fond d'écran, mais c'est rien d'irréversible. Et surtout RetroMac embarque un Health check et un bouton de restauration qui remet tout en place en un clic

Et le rythme de dev est assez dingue puisque le dépôt date du 22 mai et il en est déjà à sa dix-neuvième version. La 2.2, sortie il y a deux jours, ajoute Warcraft I et II qui tournent nativement sur le moteur open source Stratagus , avec le shader CRT qui se pose par-dessus le jeu.

Après le reste, c'est carré de chez Carré, il y a un binaire universel Intel et Apple Silicon. Et côté tarifs, tous les thèmes, tous les curseurs et une vingtaine de shaders sont gratuits. Après il y a un mode pro qui coûtera 8,88 euros une fois pour toutes et ajoutera le shader webcam et le fond d'écran animé.

Autrement, il n'y a pas d'abonnement. Et les sources sont sous GitHub sous licence GPL 3.0 avec même les fonctions payantes dedans. Donc c'est plutôt très ouvert mais pas encore complètement libre.

J'avais déjà parlé de ShaderBeam pour retrouver la netteté du CRT sur un écran moderne, d' Infinite Mac pour glisser un vieux Mac dans une page web, et du Virtual OS Museum et ses 1700 systèmes mais RetroMac la joue autrement, puisqu'il ne vous colle pas un vieil OS dans une fenêtre, mais déguise celui dont vous vous servez ;).

Voilà, si l'idée de faire booter votre M4 comme un Mac de 2001 vous amuse, c'est par ici . Et le jour où ça vous saoule, un clic et tout revient en place.

Un demi-million de domaines anti-pub stockés dans 50 Ko de RAM

Pi-hole sur un Raspberry Pi, c'est cool, mais ça vous coûte quand même quelques dizaines d'euros (lien affilié) et ça squatte une prise en permanence. C'est pourquoi M-Abozaid a fait tenir la même chose dans une clé ESP32-C3 à pas cher (lien affilié). Son firmware bloque ainsi 537 000 domaines de pub en utilisant à peine 50 Ko de RAM, et est capable de répondre à une requête bloquée en 10 millisecondes.

Maintenant que j'ai toute votre attention, je vais vous expliquer comment ça marche. En fait, un Pi-hole classique charge toute sa liste de blocage en RAM, sauf que l'ESP32 lui, comme il n'a que quelques centaines de Ko de mémoire vive et pas de PSRAM, il est donc techniquement impossible d'y caser un demi-million de domaines comme ça simplement. Du coup notre cher développeur a dû ruser en hashant chacun des domaines bloqués à max 5 octets chacun (40 bits max).

Tous ces hashes sont ensuite triés une fois pour toutes, puis gravés directement dans la flash de la puce (4 Mo suffisent). Puis quand une requête DNS arrive, le firmware hashe le domaine demandé et fait une recherche par dichotomie dans la flash. Environ 18 lectures suffisent pour trancher parmi les 537 000 entrées, d'où les fameux 10 ms. Et la RAM ne sert jamais à stocker la liste, mais juste à faire tourner le bazar réseau.

Et là où c'est vraiment malin, c'est que 40 bits de hash restent quasi sans collision. Il n'en a eu aucune jusqu'à 141 000 domaines, et une seule à 537 000 donc autant dire rien du tout !

Voir cette vidéo sur YouTube

Après il y a peu de chances que ça remplace Pihole, en tout cas pour le moment, parce qu'il n'y a pas de serveur DHCP. Et activer les mises à jour OTA du firmware demande d'avoir deux partitions, du coup la capacité de l'ESP 32 tombe à 250 000 domaines.

Après le dashboard est plutôt sympa, ça tourne en mDNS sur l'adresse c3adblock.local, avec des compteurs de blocage par client, le bannissement d'un appareil et la possibilité d'ajouter vos propres noms de domaines à bloquer.

Voilà moi je vois vraiment ça comme un espèce de résolveur de secours plutôt qu'un vrai remplaçant pour Pi-hole. Vous le placez derrière votre serveur DNS principal et le jour où celui-ci est en panne, la petite clé prendra le relais pour pas cher. En plus comme on le voit dans la vidéo, ça peut s'alimenter sur le port USB de n'importe quel routeur, donc c'est pratique.

C'est totalement open source sous licence MIT et c'est livré avec un script python qui permet de construire la table des hashes à partir des listes StevenBlack et Hagezi. Pour plus tard, le développeur prévoit un Bloomfilter en mémoire RAM pour zapper la lecture flash sur les 99 % des requêtes qui ne matchent aucun domaine et puis le serveur DHCP dont je vous parlais.

Si les DNS auto-hébergés vous parlent, je vous ai déjà présenté Technitium qui remplace carrément Pi-hole, Unbound et BIND . Et pour les bidouilles ESP32 à quelques euros, y'en a plein, genre celle qui remplace le Touch ID d'Apple .

Bref, un demi-million de domaines de pub bloqués par une puce plus petite qu'une clé USB c'est bien joué !! Le repo est sur GitHub si ça vous tente.

Source

Une demi-seconde a fait tomber la backdoor XZ - Voici son livre

Une demi-seconde.

C'est le retard qu'ont pris les connexions SSH d'Andres Freund, ingénieur chez Microsoft, lors d'un benchmark de routine en mars 2024. Cette demi-seconde, Adrian Mastronardi, CTO de Habi et linuxien depuis 1996, vient d'en tirer un bouquin gratuit, Half a Second , qui raconte toute l'affaire XZ du début à la fin.

La plupart des gens auraient haussé les épaules mais lui, non. Il a tiré le fil, encore et encore, et a fini par déterrer une des backdoors les plus tordues jamais glissées dans un logiciel open source.

Half a Second, le livre gratuit d'Adrian Mastronardi sur le backdoor XZ

Pour ceux qui auraient loupé l'épisode, XZ Utils c'est un outil de compression qu'on retrouve sur à peu près tous les systèmes Linux, serveurs compris, donc autant dire une bonne partie d'Internet.

L'attaquant, lui, a joué le contributeur modèle pendant environ 2 ans. Gagner patiemment la confiance du mainteneur, puis glisser sa backdoor dans le code. Je vous en parlais à chaud à l'époque , le jour même de la découverte et quelqu'un avait même bricolé dans la foulée un agent SSH exploitant cette backdoor .

Mais la technique, dans ce livre, c'est presque secondaire. Le vrai sujet est dans le sous-titre : le travail invisible qu'il y a en dessous. Lasse Collin, le mainteneur de XZ, portait ce projet critique tout seul, bénévolement, et il était au bout du rouleau. Et c'est précisément cet épuisement que l'attaquant a retourné contre lui. Entre la pression des utilisateurs, les faux contributeurs qui râlent, la culpabilisation de ne pas pouvoir faire mieux tout de suite tout le temps.… Le mec a été intoxiqué / manipulé avant même que la moindre ligne de code.

Et des gars comme Lasse Collin, il y en a des milliers. Il y a des tas de gens qui maintiennent seuls gratuitement sur leur temps libre, des petites briques libres dont dépendent nos banques, nos hôpitaux, nos administrations et personne ne les paye, voire pire, personne ne les considère ni leur dit merci.

Et cela fait deux des proies faciles pour des attaquants bien organisés. Concernant le bouquin, rien à redire, la bibliographie s'appuie sur les rapports de l'OpenSSF, d'Akamai ou encore de Binarly. C'est une vraie enquête extrêmement bien sourcée qui ne tombe pas dans le charabaiat technique, ce qui fait que c'est parfaitement lisible pour tout le monde, même pour ceux dont la sécurité informatique n'est pas la spécialité.

Et le récit mélange les trois voix, celle du narrateur manipulé, celle de l'ingénieur curieux et celle de l'opérateur fantôme. Parce que oui je sais pas si vous savez, mais celui qui a fait cette backdoor n'a jamais été identifié et ne le sera peut-être jamais. Voilà, ça a l'air d'être un chouette bouquin distribué sous licence créative Commons non commercial. C'est donc gratuit et ça le restera pour toujours.Par contre, c'est en anglais, donc faudra faire un petit effort. Mais n'importe qui peut le traduire si ça l'amuse.

Bref, si l'affaire XZ vous avait marqués, c'est le récit qu'il vous fallait.

À lire ici en PDF ! Et merci à LWN d'avoir repéré le bouquin.

Castor - Votre flux vidéo web sur la télé, en top qualité

Vous avez déjà pesté contre votre télé qui refuse de lire une vidéo pourtant toute bête trouvée sur le web ? Hé bien Kilian Houpeurt aussi et c'est pourquoi il a décidé, plutôt que de râler dans le vide comme un mec lambda sur Twitter, qu'il allait prendre le taureau par les cornes et coder sa propre solution.

Ça s'appelle Castor et évidemment ça envoie du bois, lol. En fait c'est un outil en ligne de commande écrit en Go qui est open source et qui permet d'envoyer le vrai flux vidéo d'une page Web directement sur votre télévision en qualité max sans avoir besoin de Chromecast, ni d'AirPlay.

L'astuce, c'est qu'il ne recopie pas votre écran comme le ferait un mirroring (qui rame et qui compresse tout, on est d'accord...). Vous lui donnez simplement l'adresse d'une page Web et lui va la charger dans un Chrome Headless, c'est-à-dire sans interface et capter le trafic réseau grâce au Chrome Devtools Protocol. C'est le flux vidéo ensuite qui transite qui est repéré et qu'il prend à la source.

Derrière, vous vous en doutez, ffmpeg transcode à la volée pour votre télé pendant que ffprobe détecte le format qui arrive. Pour alimenter Castor, vous avez alors trois possibilités, soit vous lui fournissez une page Web avec la commande castor cast player, soit vous lui passez un flux brut en .m3u8 avec la commande castor cast url, ou alors simplement un identifiant IMDB/TMDB que Castor résoudra via les sources que vous avez configurées de votre côté.

Et si vous renseignez une clé TMDB, castor cast tout court vous sortira alors un navigateur interactif en plein terminal Et c'est là-dedans que vous pourrez filtrer par genre (ou peu importe la métadonnée que vous voulez) ou parcourir les films comme vous le feriez sur Netflix, ou encore aller explorer les épisodes d'une série. Qui vous fait envie. Tout ça sans jamais quitter votre terminal. Ça a quand même un peu de gueule !

Le navigateur TMDB de Castor, directement dans le terminal.

Castor sait les générer lui-même les sous-titres avec whisper.cpp avant de les incruster dans la vidéo, Mais attention quand même, le modèle par défaut ne comprend que l'anglais, si vous voulez du français, faudra faire pointer Castor vers un modèle whisper multilingue.

Enfin, côté réception, Castor sait causer DLNA / UPnP, un protocole que Samsung, LG, Sony Bravia, Panasonic, Philips, Hisense ou encore TCL savent gérer depuis des années. Un petit castor scan et il vous liste tous les récepteurs qui traînent sur votre réseau et vous verrez que Kodi, VLC et Plex répondront aussi présents. Pour ce qui est du support du Chromecast, c'est encore un peu expérimental, donc ne comptez pas trop dessus pour le moment.

L'installation sur Mac se fait via brew install --cask stupside/tap/castor. Prévoyez juste Chrome ou Chromium sur la machine + ffmpeg et ffprobe accessibles dans le PATH. Une image Docker existe avec tout dedans, mais méfiance sur Docker Desktop macOS ou Windows puisque la découverte réseau ne passe pas le bridge, donc le conteneur ne verra jamais votre télé.

Maintenant, ce n'est pas un outil de piratage, puisque Castor n'héberge rien du tout. C'est un outil générique qui pousse un flux vers une TV, et c'est à vous de respecter la loi ainsi que les conditions d'usage des sites. Bref, ne castez que ce que vous avez le droit de regarder. Pour envoyer un flux IPTV ou un bête .m3u8 sur l'écran du salon, c'est en tout cas, super pratique.

Si vous bidouillez un serveur média maison, allez donc jeter un œil à Castor , le dépôt vaut le détour !

WP2Shell - La faille qui permet de pirater WordPress sans aucun plugin

Vous avez un site sous WordPress ? Alors lâchez tout ce que vous faites deux minutes, parce que là c'est du sérieux !!

Cette nouvelle attaque baptisée WP2Shell permet de compromettre une installation Wordpress sans passer par le moindre plugin. Heureusement, un patch est sorti en urgence le 17 juillet !

En temps normal, quand une alerte sécu tombe sur WordPress, le fautif c'est un plugin tiers vérolé , un truc installé un soir de flemme et oublié depuis des lustres. Mais cette fois, rien de tout ça puisque le trou de sécu se trouve dans le cœur de WordPress lui-même.

Dans le détail, WP2Shell enchaîne deux failles. La première, CVE-2026-63030 , est une confusion de route dans l'API REST batch, sur l'endpoint /wp-json/batch/v1. La seconde, CVE-2026-60137 , est une injection SQL bien planquée dans le paramètre author__not_in de WP_Query. Chacune dans son coin, c'est déjà vilain, mais mises bout à bout, elles offrent une exécution de code à distance.

Pas de compte, pas de mot de passe, et encore moins de plugin exotique mais simplement quelques requêtes HTTP et hop, c'est plié !

Côté versions, la chaîne complète touche WordPress 6.9.0 à 6.9.4 et 7.0.0 à 7.0.1. Si votre site est dans cette fourchette, vous êtes donc exposé. Les correctifs sont arrivés avec les versions 6.9.5 et 7.0.2. Et si vous vous traînez encore une vieille 6.8.x, sachez que seule l'injection SQL vous concerne potentiellement mais qu'elle a été patchée depuis la version 6.8.6.

Derrière cette trouvaille, on trouve Adam Kues, chercheur chez Assetnote (une branche de Searchlight Cyber), qui a assemblé et documenté toute la chaîne avant de la remonter proprement via le programme HackerOne de WordPress. Les détails techniques les plus croustillants restent sous le coude le temps que la planète patche mais l'équipe a mis en ligne un outil, wp2shell.com , pour vérifier si votre site est vulnérable. Allez-y, ça coûte rien !

Autre signal qui ne trompe pas, WordPress.org a déclenché les mises à jour automatiques forcées sur les sites concernés. Une mesure réservée aux failles vraiment graves, comme à l'époque où la faille critique de Really Simple Security avait exposé des millions de sites. Il y a donc de bonnes chances que votre installation toute pourrie dont vous ne vous occupez pas parce que vous êtes un mauvais webmaster ^^ ait déjà été rustinée toute seule. Vraiment, vous ne méritez pas les équipes sécu de Wordpress ^^

Mais ne pariez pas votre site là-dessus non plus... Car si vous avez désactivé les mises à jour auto (et beaucoup d'hébergeurs et d'admins le font), personne n'aura rien poussé chez vous. Sans oublier qu'un bout de PoC circule déjà sur GitHub (les chercheurs gardent pour eux le dernier maillon vers la RCE, mais ça n'arrêtera pas longtemps les motivés), et les scans automatisés ont commencé.

En attendant de patcher, bloquez surtout donc l'accès anonyme à l'endpoint batch de l'API REST via votre WAF ou votre plugin de sécu. Attention, pas seulement la forme /wp-json/batch/v1 : sa variante ?rest_route=/batch/v1 doit sauter aussi, sinon autant laisser la clé sur la porte. Cloudflare propose d'ailleurs des règles toutes prêtes. Et pour durcir le reste de votre config, ma vieille série sur le sujet reste d'actualité.

En tout cas, quand on sait qu'il y a +500 millions de sites actuellement propulsés par Wordpress, même s'ils ne sont pas tous concernés par cette faille, ça reste une surface d'attaque gigantesque !!

Bref, filez vérifier votre version. Sous 6.9.5 ou 7.0.2, vous mettez à jour et vous bloquez le batch en attendant. Deux minutes chrono, et votre site dort tranquille !

Source : Security Affairs

Pix 2D to 3D - Des sprites aux modèles 3D, sans IA ni GPU

Si vous faites du pixel art, voilà un petit outil qui devrait vous plaire. Pix 2D to 3D prend votre sprite et vous le transforme en modèle 3D voxelisé au format .obj, importable direct dans Blender, Unity ou Godot. Pas la moindre trace d'IA là-dedans, uniquement des maths, et son dev Prashant bosse chez Snaptrude sur du logiciel 3D, donc autant vous dire qu'il maîtrise.

L'idée, c'est de vous épargner la modélisation quand vous montez un jeu en 3D iso ou un 2.5D et qu'il vous manque juste trois caisses et un tonneau pour meubler le décor. Vous dessinez le sprite, vous le passez dans l'app et hop, l'objet 3D ressort de l'autre côté.

Vous avez 4 modes selon ce que vous lui donnez à manger, plus un réglage Auto qui devine le format tout seul en regardant les proportions de votre image.

Single voxelise un sprite unique. Single + Repeated le répète sur les 4 côtés en l'extrudant sur la profondeur de votre choix. Dual accepte une planche à 2 vues (face et dos). Et mon préféré, Quad, avale carrément une planche de 4 vues alignées à l'horizontale dans un ordre bien précis : gauche, face, droite, dos. Résultat, un objet complet visible à 360°.

Si c'est sur ce dernier mode que vous voulez partir, sachez que le développeur conseille de passer par la fonction d'export de Frame d' un éditeur de sprites plutôt que de tout vous taper à la main.

L'interface de Pix 2D to 3D, avec le sélecteur de mode et les réglages de profondeur

L'algorithme calcule l'épaisseur des pixels en fonction de leur distance au bord, et les flancs sont arrondis pour une transition douce. L'outil modifie également les bords pour un effet plus naturel, en supprimant progressivement des voxels, ce qui évite l'aspect rigide et artificiel.

Du coup, pas de GPU qui chauffe, rien à installer à part l'app. Après cet outil est un convertisseur géométrique, pas un devin, hein donc à vous de bien gérer l'alignement du dessin dans les cases au départ. Sur Windows, la dernière pre-release est disponible par contre, pour macOS, il faut utiliser la version précédente et sous Linux, ça se compile facilement avec Go, Node, GTK3 et WebKit2GTK.

En tout cas, pour des formes simples et plutôt rondes, j'ai trouvé le rendu assez bluffant. Maintenant, si vous préférez rester dans votre éditeur, Pixelorama dispose de sa propre extension de voxélisation, mais sans le mode à 4 vues. Et pour vous rendre compte de ce que donnent des sprites voxélisés à grande échelle, je vous invite à jeter un œil à ce mod voxel de Duke Nukem 3D qui vaut vraiment le coup d'œil.

C'est par ici que ça se passe !

Firefox en WebAssembly - Gecko s'embarque dans vos pages web

Vous avez une TV connectée qui vous crache de la pub, un navigateur intégré dedans qui n'accepte aucune extension, et surtout aucun moyen d'installer quoi que ce soit dessus ? Bonne nouvelle les amis, l'équipe de Puter vient de compiler Firefox en WebAssembly, ce qui fait que ce mur commence sérieusement à se fissurer...

On avait déjà de vieux OS et des émulateurs x86 qui tournaient dans une page web , et là on passe carrément au navigateur au complet. La démo est en ligne si vous voulez tester tout de suite.

L'idée, la voilà... vous ouvrez un onglet dans votre navigateur, et dans cet onglet, c'est un Firefox complet qui tourne, avec son propre moteur d'affichage. Curieux de savoir ce que ça pesait, j'ai récupéré les fichiers, et une fois tout déballé, on arrive à 233 Mo. C'est exactement le même Firefox que sur votre machine, sauf qu'il vit à 100% sur une page web.

Le plus marrant là-dedans, c'est toutes les possibilités que ça ouvre... Par exemple, il y a un gars sur Hacker News qui vient de récupérer une TV sous VIDAA, ce système où tout s'affiche en pages web et où le navigateur maison refuse le moindre bloqueur de pub. Et maintenant son programme du week-end c'est de démarrer Firefox dans le navigateur de la télé, puis d'y glisser uBlock Origin . Et ça vaut pour tout ce qui est cadenassé, la borne d'accueil, le Chromebook du collège, le poste du boulot où l'informatique vous a tout bloqué sauf le navigateur.

La deuxième, c'est de pouvoir vérifier un site dans Firefox quand vous n'avez pas de Firefox sous la main. Vous êtes sur iPhone, ou coincé sur le Chrome tout naze de votre boîte sans les droits admin ? Bah vous ouvrez un onglet et vous avez un vrai moteur Mozilla sous la main pour vérifier que votre page ne part pas en vrille.

La troisième possibilité s'adresse aux développeurs. Pour fabriquer une miniature de page ou prévisualiser du HTML, il faut d'habitude un navigateur qui tourne sur un serveur, avec la machine à payer derrière. Là, le rendu peut se faire directement chez le visiteur, grâce à un peu de code :

import { Gecko } from 'gecko.js';

const gecko = new Gecko({ canvas: document.querySelector('canvas')! });
await gecko.init();
await gecko.load('data:text/html,# hello from Gecko

');

Maintenant, la limite de la démo actuellement en ligne, c'est que tout le trafic passe par les serveurs de Puter, sans quoi ça ne pourrait pas fonctionner du tout. Le HTTPS reste bien chiffré de bout en bout, mais évitez quand même d'y taper vos mots de passe. Ah et ça rame aussi un peu, et sur mobile c'est mort pour le moment. En tout cas, c'est pas un truc que je vous conseille d'utiliser au quotidien parce que bien employé par un cybercriminel, ça pourrait permettre s'il y a une faille dans le moteur de rendu évidemment de lire par exemple vos cookies.

Donc si vous l'utilisez, pensez bien à faire tourner chaque site que vous visitez avec ça, dans une instance séparée

Ce chantier a été entrepris avec l'aide de Claude d'Anthropic. Il a englouti une trentaine de milliards de tokens, soit dans les 25 000 $ au tarif normal. Mais heureusement, l'équipe de Puter avait un abonnement Max et s'en est tirée "que" pour une centaine de dollars. Voilà, c'est de la bidouille, avec les défauts qui vont avec mais avouez que c'est beau ^^.

Le code est ici sous licence MPL, et y'a aussi WebkitWasm qui fait la même chose avec WebKit.

Source : Simon Willison

Open OSCAR Server - Faites revivre AIM sur vos vieilles bécanes

Vous vous souvenez d'AIM ? Mais siiii, le petit bonhomme jaune qui courait, la porte qui claque quand un pote se connecte, les away messages passifs-agressifs à base de paroles de chanson... Et bien la bidouilleuse Veronica a remonté son propre serveur AIM, et ça a l'air de plutôt bien fonctionner

Pour reposer un peu le cadre, AOL a débranché AIM fin 2017. Depuis, les millions de screen names de l'époque pointent dans le vide (Moi c'était FoxMDE ^^), et tous les vieux clients qui traînent actuellement sur vos disques durs ou CD-Rom se connectent à un serveur qui n'existe plus.

Fin de l'histoire, normalement (?).

Bah pas vraiment car AIM tournait sur un protocole qui s'appelle OSCAR, et qui est le même que celui d'ICQ. Du coup, un développeur du nom de mk6i a réimplémenté ce truc en open source, baptisé Open OSCAR Server . En gros, vous faites tourner le serveur sur votre propre machine, vous dites à votre vieux client AIM d'aller taper là plutôt que chez AOL, et hop, vous revoilà en 2003. Veronica utilise ainsi AIM 5.1 sur ses bécanes, et elle héberge le sien sur un petit VPS Debian qui coûte trois francs six sous.

Alors pourquoi avoir fait ça ? Eh bien comme elle le dit elle-même, Discord commençait à la gonfler, et elle avait la nostalgie du lycée. Je vous traduis le passage, il est chouette car je m'y suis bien retrouvé : "Au lycée, la plupart de mes journées commençaient et finissaient par AIM. C'était avant que tout le monde ait des SMS (ou des téléphones portables). Tout, des projets de classe aux relations entières, se passait dans une fenêtre AIM."

Voilà. On a tous connu ça, certains avec MSN ou ICQ...

Ce qui me plaît là-dedans, c'est que ça remet surtout des vieilles machines au boulot. C'est la même énergie que NeoCities et son web fait à la main , sauf qu'ici c'est votre messagerie. Votre Windows 98 dans le placard peut ainsi redevenir utile (gaffe aux virus quand même) ! Vous montez le serveur, vous filez l'adresse à vos potes, et vous avez votre messagerie privée à vous. Pas de pub, et surtout aucun webdesigner coké pour vous chambouler toute l'interface un matin sans prévenir.

Après faut quand même savoir bricoler un minimum sous Linux mais avec son tuto, vous devriez vous en sortir. Bref, si ça vous tente, elle détaille toute la manip sur son blog.

Source

Comic Chat - L'IRC qui vous dessinait en BD fonctionne encore

Microsoft vient de balancer sur GitHub le code source de Comic Chat. Je pense qu'on est peu nombreux à s'en souvenir mais c'était un logiciel sorti en 1996, imaginé par DJ Kurlander chez Microsoft Research, qui affichait nos discussions IRC sous forme de bande dessinée auto-générée, avec les personnages, les bulles et le cadrage gérés automatiquement.

C'était codé en C++ et 30 ans plus tard, ça se compile encore !

Vous tapiez une phrase, et le logiciel décidait quels personnages coller dans la case, quelle tête ils faisaient, comment les orienter, quelle forme donner à la bulle, à quel moment passer à la case suivante et même quel zoom appliquer. Le tout en temps réel, à partir de vos mots. Par exemple, si vous écriviez un point d'exclamation dans votre phrase, hop, votre avatar levait les bras.

Comic Chat recompilé sous Visual Studio 2022, sur Windows 11. La roue des émotions est en bas à droite.

Kurlander a présenté son bidule à SIGGRAPH 96 avec Tim Skelly et David Salesin et c'était assez innovant pour l'époque parce que Comic Chat ne se contentait pas d'afficher vos messages, mais prenait des décisions éditoriales suivant la gueule de votre conversation, tout ça sans IA ^^.

Les gens avec qui vous discutiez étaient sur des serveurs IRC à écrire de la ligne de commande. Et vous de votre côté, vous étiez dans une vraie bande dessinée à discuter avec eux et chacun d'entre eux avait un petit personnage attribué d'office. Les dessins que vous aviez sous les yeux, d'ailleurs, ne sortaient pas d'une banque de cliparts . C'est Jim Woodring , un auteur de BD indé américain, qui a créé ces personnages.

L'appli a été traduite en 24 langues, livrée avec Internet Explorer 3 puis bundlée avec Windows 98 donc vous l'avez peut-être eu sans le savoir. La version 2 est ensuite arrivée avec IE4 sous le nom de Microsoft Chat, avant que la messagerie instantanée ne bouffe tout au début des années 2000.

Microsoft écrit dans son annonce que Comic Chat a, je cite, "apporté Comic Sans au monde", sauf qu'en réalité c'est Vincent Connare qui avait dessiné la police en 1994 pour Microsoft Bob, dont les bulles en Times New Roman l'avaient rendu dingue. Et cette police est sortie dans le Plus! Pack de Windows 95, soit un an avant Comic Chat. Ouais on me la fait pas moi ^^.

Ce qui est rigolo, c'est que si vous allez fouiller un peu sur le dépôt GitHub et que vous regardez l'historique, vous verrez que Microsoft n'a pas juste poussé une archive et basta. Ils ont carrément reconstruit tout l'historique Git à partir des dates des fichiers. Du coup vous pouvez tomber sur des commits qui datent du 2 août 1996. C'est drôle non ?

Je trouve ça super cool que ce projet soit libéré. Microsoft avait déjà fait le coup avec Zork , passé en MIT l'an dernier. En tout cas, il y a eu chez Microsoft, un petit travail de réactualisation avec des versions qui peuvent fonctionner sur les écrans d'aujourd'hui et se connecter sur de vrais serveurs IRC actuels en TLS. Vous pouvez télécharger ces versions compilées récentes ici.

Et si vous voulez vous lancer, il y a Mermaid Elizabeth qui maintient même une liste de serveurs qui marchent encore avec. Perso, entre ça et un client IRC moderne , mon choix est vite fait ! ^^

Bref, si vous voulez voir à quoi ressemblait le web quand on se demandait sérieusement "et si les discussions étaient des BD ?", c'est sur GitHub .

Source

❌