Truecaller Scam Checker lets users check suspicious links, numbers, and messages for free as the company expands its fraud protection beyond caller ID.
J'adore la France, mais même si la vie y est difficile. Pourquoi ? Simplement à cause de l'administratif et de la paperasse. En tant que phobique administratif, c'est vraiment ce qui me fait regarder de près l'expatriation, loool.
Tenir la compta d'une petite société, remplir sa déclaration d'impôts, estimer les frais de notaire d'un appart... Bref, la fucking paperasse a de quoi déclencher de sévère crises de
phobie administrative
chez tout le monde. Alors pour nous aider, mon nouveau héro du jour, Romain Simon, a créé "
Paperasse
", des skills pour agents IA que Claude Code, Codex, Cursor ou Mistral Vibe peuvent consulter pour endosser le rôle d'expert-comptable, de contrôleur fiscal, de commissaire aux comptes, de fiscaliste, de notaire ou encore de syndic de copro.
Son dépôt contient également des scripts vérifiés pour tout ce qui est calculs importants. En effet, ce sont des choses qu'on ne veut surtout pas confier à un LLM. Je pense au calcul de l'impôt sur les sociétés, aux amortissements, à la TVA, ou encore sortir un fichier des écritures comptables, un bilan ou une facture. Le projet Paperasse contient aussi des connecteurs pour vos transactions Qonto et vos paiements Stripe.
Voilà, donc si, comme moi, vous êtes en détresse émotionnelle dès que vous recevez un courrier de l'administration française, je vous invite à installer ce projet en donnant tout simplement ce prompt à votre agent IA préféré :
L'agent clonera alors le dépôt et lancera un setup qui vous demandera le nom de votre société, votre régime de TVA et vos comptes bancaires. Pour mes tests, j'ai donc inventé une SASU, Brioche & Octets, avec un relevé bancaire de huit lignes bidon, et j'ai lancé Claude Code dessus avec le skill comptable, dans un environnement vierge.
En 6 minutes, il a immobilisé l'ordinateur portable au lieu de le passer en charge, traité l'abonnement logiciel facturé depuis l'Irlande en deux scénarios faute de facture pour trancher, et rangé le retrait au distributeur en compte d'attente, en rappelant qu'un compte courant débiteur est interdit au président d'une SASU.
Côté factures, le script de validation a refusé ma première tentative, à laquelle il manquait le SIREN du client et le numéro de TVA intracommunautaire de ma boîte. Une fois corrigée, le générateur m'a sorti un PDF qui embarque son fichier XML Factur-X.
La facture de ma fausse SASU, une fois le SIREN du client et mon numéro de TVA ajoutés
L'agent fiscaliste, quant à lui, ce sera plus à même de vous aider si vous êtes un particulier. Je lui ai soumis un couple pacsé imaginaire avec un enfant, 65 000 € de salaires et 2 000 € de dividendes, en lui demandant si l'option pour le barème battait le PFU. Il a lancé son script Python sur les deux cas et conclu que oui, de 124 €, parce qu'avec un taux marginal de 11 %, l'abattement de 40 % et la CSG déductible font descendre l'impôt sur ces dividendes sous les 12,8 % du PFU. J'ai refait le calcul à la main, ça tombe juste.
Le fiscaliste compare PFU et option barème pour un couple pacsé imaginaire
Par contre, tout ça repose sur des barèmes qu'il faut tenir à jour, et c'est là que ça coince. En effet, ces mises à jour reposent sur les issues acceptées ou non sur le projet GitHub. Par exemple, y'en a une qui est ouverte depuis fin août qui montre que le skill "notaire" calcule encore les émoluments de vente avec le tarif de 2016 alors que ça a changé depuis le 1er janvier 2021, et malheureusement, que les évaluations automatiques du projet valident ces calculs faux. Le correctif a bien été proposé, comme d'autres mais aucun n'a été fusionnée depuis le 11 juillet.
Donc voilà, c'est un super projet, mais il faudrait encore que ça suive un petit peu derrière donc utilisez-le mais en prenant soin de bien vérifier quand même les montants / tarifs / règles sont à jour.
Reste maintenant la question de vos données... En effet, vos PDF et tout ce qui concerne vos données vont partir chez le service IA que vous utilisez. Donc ça, il faut en avoir conscience même si je sais que derrière, en général, les comptables mettent tout sur des drives mal sécurisés, et que prochainement la facturation électronique va faire leaker ça dans tous les sens.
Mais bon, quoi qu'il en soit, tout ceci ne remplacera jamais un expert-comptable, donc voilà, amusez-vous, testez-le, dégrossissez vos questions avec ça, faites des simulations...etc mais ne lui faites pas 100 % confiance.
J'sais pas si vous êtes de la team
Dumbphone
, mais quand Emir Karşıyakalı tape une recherche Google sur son vieux Nokia 6300 de 2007, il se fait gentiment envoyer chier vers une mise à jour de son browser. Alors, parce qu'il en avait marre de vivre 2026 comme s'il était resté bloqué en 2007, il a codé
Claude S40
, un client Claude non officiel pour les Nokia Series 40 qui font tourner du Java.
Et le plus fou c'est que non seulement, c'est vibe codé mais qu'en plus, ça marche du feu de dieu :
Vous tapez votre question au clavier et la réponse s'affiche sur ce tout petit écran. Pour la météo ou l'actu, Claude fait sa recherche web côté serveur sans passer par le navigateur du Nokia. Il est même capable d'inscrire un rendez-vous pour vous dans l'agenda du téléphone.
Évidemment, le téléphone ne cause pas directement à l'API d'Anthropic. En fait, tout passe par un petit serveur écrit en Go, qui est proposé sous la forme d'une image Docker que vous devez héberger vous-même. Et c'est ce serveur qui conserve la clé API d'Anthropic, qui va donc découper les réponses que lui renvoie Claude pour les envoyer au téléphone qui ne lit pas plus de 8 Ko à la fois. Et ce serveur conserve les conversations durant 30 jours max.
Et c'est là que ce vieux Nokia rend la tâche difficile car il ne discute qu'en TLS 1.0 (Les boomers appellent ça "le petit cadenas"), n'envoie pas de SNI (le nom du site demandé) et ses certificats racines datent des années 90 et 2000 donc, autant dire que niveau dates de péremptions, c'est comme visiter la cave à conserves d'un survivaliste...
Le serveur est donc capable de discuter en HTTPS avec le web et de faire suivre la data chiffrée en HTTPS entre lui-même et le Nokia, grâce à un certificat auto-signé, dont la racine a été installée sur le téléphone.
Le code de Claude S40 est bien sûr libre, sous licence MIT, et côté hébergement, il suffit de mettre ça sur un petit VPS à quelques euros par mois et vous êtes tranquille. Ensuite, le reste se facture aux messages puisque chaque question, comme chaque recherche web, passe par votre clé API Claude... Donc, n'oubliez pas de mettre une petite limite de dépense dans votre console Anthropic, histoire de ne pas cramer votre compte en banque.
Par contre, l'appli n'a pour le moment été testée que sur le Nokia 6300 (RM-217) et il lui faut une carte SIM avec les données mobiles activées évidemment. Or le 6300 ne fait QUE du
GSM, GPRS et EDGE
, et
Orange coupe progressivement sa 2G
. En effet, depuis mars, 44 départements vont la perdre à partir du 6 octobre, et toute la métropole, hors zones blanches, sera sans 2G dès le 20 octobre 2026. Donc si vous êtes chez Orange, faut pas traîner pour tester car après, ça ne fonctionnera plus !! Sniiiif.
Mais rassurez-vous, Emir ne compte pas s'arrêter là puisqu'il est en train de reverser le firmware du téléphone pour contourner la couche Java et ensuite pouvoir lui faire faire ce qu'il veut. Voilà, si vous avez encore un 6300 dans un tiroir, c'est donc le bon moment de le ressortir, avant de passer à
un dumbphone compatible 4G
.
Nokia’s phone business has been fading for years, reduced mostly to budget handsets sold under license, so a concept calling itself the N90 Ultra was never going to become a real product. It’s a fan-rendered video, not a leaked roadmap, and it borrows a legendary name attached to a swivel-barrel camcorder phone from 2005. What it does get right is a smaller, more interesting idea already spreading across actual flagships: a second screen living on the back of the phone.
That rear panel holds a titanium alloy frame finished in a glossy cobalt blue or a graphite silver, with a raised visor housing three lens rings alongside a small rectangular display. Instead of sitting blank until a camera app opens, that mini-screen shows the time, the date, and glanceable notifications, all without waking the main display. It’s a small addition, but it changes how often a phone actually needs to come out of a pocket.
Designer: AndroidLeo (Concept)
A phone left face down on a desk during a meeting no longer has to stay silent about the time or a new message. A glance at the back shows both, then nothing more demanding follows, no bright wake screen lighting up a quiet room. That’s the appeal secondary displays have chased since Xiaomi and Meizu first tried the format years back, trimming how often the front screen needs to switch on at all.
The concept pushes its camera claims further than any current phone can back up, listing a 200 MP main sensor with 8K recording and a 200x zoom figure that would require optics no slim smartphone body can physically fit without an extending lens barrel. Two different Snapdragon chipsets get listed side by side too, a sign the spec sheet reads more like a wish list than an engineering plan. None of that undermines what’s genuinely worth noticing here.
The mini-display sitting flush against the camera visor is the detail carrying real design weight, because it reflects a question phone makers keep circling back to: how much information really needs a full screen turned on. Some phones use that rear space purely for decoration, a small strip showing a logo or a battery percentage and nothing else. Others, like this concept, treat it as a working display capable of running widgets, a clock face, or quick status checks.
Nokia returning to flagship phones remains unlikely no matter how sharp a fan render looks, and the camera math here falls apart well before any of these specs reach a factory floor. What holds up is the smaller premise underneath all of it, that a phone’s back panel can carry its own useful screen instead of sitting there as blank glass. That idea keeps showing up across the industry, with or without a Nokia badge attached to it.
NVIDIA released AI-predicted protein structures for more than 2,800 viruses and an open BioNeMo pipeline to help researchers prepare for future outbreaks.
Je sais que vous étiez tous très concentrés sur les ravages de l'IA dans la littérature, mais il y a 5 jours, il s'est passé quelque chose d'incroyable que vous avez probablement manqué ! Une valkyrie naine baptisée CodexDelver a déposé l'Amulette de Yendor sur l'autel de son dieu au bout de "seulement" 37 140 tours de NetHack. Et pour une fois, aux commandes du jeu, on ne retrouve pas un no-life qui n'a pas vu le soleil depuis 2002 mais le gars sûr du moment,
GPT-6 Astra, le nouveau modèle d'OpenAI
. Et d'après celui qui a monté l'expérience, c'est la première victoire au monde d'un agent LLM sur ce jeu (on va le croire, c'est pas vérifiable).
Maintenant, pour ceux qui ne connaissent pas NetHack, c'est un jeu d'exploration de donjon sorti en 1987, 100% en caractères ASCII et où la mort est définitive. Pour gagner dans ce jeu des enfers, il faut récupérer l'Amulette dans le sanctuaire de Moloch, puis aller l'offrir à son dieu sur le plan Astral, et si j'en crois
le wiki du jeu
, certains joueurs y jouent même depuis des décennies sans jamais être arrivés à remplir cette mission.
Le plus drôle là-dedans, c'est que Kenny, le dresseur d'IA qui a réalisé l'expérience, n'a lui-même jamais gagné. Il est sur le dossier depuis janvier, et ses propres agents faits maison plafonnaient tristement au niveau 10 du donjon. Alors il a craqué et a demandé à Astra de jouer directement dans un terminal, diffusant la partie sur Twitch, et cette dernière a non seulement bien réussi mais a en plus écrit ses propres outils pour y parvenir.
La première partie a d'ailleurs bien failli être la bonne puisqu'après plus de 33 000 tours, GPT-6 Astra avait accompli le rituel des sept bougies, de la cloche et du livre, et s'apprêtait à entrer dans le sanctuaire de Moloch. Mais le Magicien de Yendor, cet enfoiré sans race, est revenu aussitôt lui voler son Orbe du Destin. Dèèèg ! Puis après elle s'est fait transformer en Slime vert au niveau 51 et n'avait rien dans son équipement pour contrer le sort.
La deuxième partie s'est arrêtée bien plus tôt puisqu'au tour 12 271, en pleine progression dans le Château, un sergent a tiré avec une baguette de mort et l'IA est tombée d'un coup, alors qu'elle avait tous ses points de vie. Elle n'avait ni résistance à la magie ni réflexion pour renvoyer le rayon.
La troisième partie, celle de la grande victoire, a duré un peu plus longtemps, du 9 au 21 septembre, pauses comprises. L'IA, forte de ses 2 précédentes expériences, y a récupéré l'épée Excalibur, puis l'amulette de réflexion qui avait tant manqué au Château. Et quand son outil a rencontré des erreurs, elle a corrigé d'elle-même son code, relancé ses tests et continué.
Toutefois, c'est sur le plan Astral que ça a le plus chauffé car ses deux dernières baguettes de mort étaient vides et Pestilence l'a frappée de maladie mortelle pendant qu'elle en rechargeait une. L'IA a alors eu Pestilence au deuxième tir, mais ses points de vie sont descendus juste après à 3 sur 200, avec heureusement une amulette de sauvegarde de vie au cou... Ouf.
Puis quelques tours plus tard, elle offrait l'Amulette à Tyr avec seulement 35 points de vie, comme le confirme
le relevé de fin de partie
. Et sur l'écran de victoire que Kenny lui a demandé de créer, elle a inscrit "Three hit points from oblivion. One offering from immortality." (à trois points de vie du néant, à une offrande de l'immortalité). Quelle poète cette IA, on sent que cette expérience d'être passée pas loin de la mort l'a marquée ! lol.
Après ce n'est pas encore un programme autonome qui a gagné car, certes, l'IA choisissait chaque action, mais avec derrière, un humain qui lançait et arrêtait les sessions + un accès libre au wiki et au code source du jeu, ainsi que des outils modifiables en pleine partie. Mais c'est un bel exploit quand même. Notez qu'un bot programmé à la main,
BotHack
, avait déjà terminé le jeu en janvier 2015 donc c'est pas non plus infaisable sans IA.
La bonne nouvelle c'est que le code des outils développé par Astra est maintenant
sur GitHub sous licence MIT
et les trois parties peuvent se rejouer au tour par tour directement sur le blog de Kenny, si vous voulez revivre l'événement avec en bonus les commentaires que l'IA diffusait en jouant.
Depuis sa version 2.1.277, Claude Code sait parfaitement lire les fichiers AGENTS.md. Ainsi, quand un projet n'a pas de CLAUDE.md, il prend l'AGENTS.md à la place, ce qui est super confortable pour tous ceux qui jonglent entre plusieurs agents. Enfin... sauf si vous avez coupé sa télémétrie, parce que dans ce cas-là, bizarrement, votre fichier AGENTS.md est totalement ignoré !
AGENTS.md, pour ceux qui débarquent, c'est un fichier Markdown que les agents de code lisent pour comprendre un projet. Codex, Amp ou Cursor s'y mettaient déjà en août 2025 (souvenez-vous de
ce fichier qui dit non aux IA
). Alors que chez Anthropic, la demande a traîné durant 1 an sur GitHub, jusqu'à ce que Boris Cherny, qui bosse sur Claude Code, ferme le ticket en août en conseillant une astuce, un CLAUDE.md qui contient juste @AGENTS.md, pour que Claude Code importe le fichier.
Puis la 2.1.277 est arrivée avec une vraie lecture native d'AGENTS.md, sans CLAUDE.md du tout, et c'est elle qui pose problème...
Parce que cette lecture native passe en réalité par un plugin intégré, qui est off par défaut et qui ne s'allume que si un feature flag récupéré chez Anthropic, tengu_agents_md_mod, lui dit oui. Et si ce flag ne répond pas, bah c'est "niet", et le fichier n'est jamais lu. Hé oui c'est bizarre qu'un accès à un fichier local nécessite un tel appel réseau...
Et ce "non", on l'obtient sans même le savoir, puisqu'il suffit d'activer DISABLE_TELEMETRY, CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC ou même DO_NOT_TRACK, ou encore de passer par Bedrock et les autres fournisseurs tiers.
Attention, même à 0 (donc activé), DISABLE_TELEMETRY coupera la télémétrie. En fait, n'importe quelle valeur non vide compte.
Le pire, c'est que rien ne vous avertit. C'est vrai que quand AGENTS.md est chargé, Claude Code l'annonce avec une petite ligne dans la session, mais quand il est ignoré, hé bien y'a rien du tout. Et c'est assez impactant car ensuite le modèle répond sans vos consignes, et vous vous tapez à reformuler vos prompts en boucle en croyant que l'IA vous ignore, alors que le fichier ne lui est tout simplement jamais parvenu.
Et le comble, c'est que c'est documenté, et
la page des variables d'environnement
liste même tout ce qu'on perd quand les flags ne sont pas récupérés, lecture d'AGENTS.md comprise. Pourtant, y'a aucun rapport logique... Couper la télémétrie, de mon point de vue, ça reste un choix légitime et ça ne devrait couper que l'envoi de statistiques à Anthropic et pas la lecture d'un stupide fichier texte. Bref, ça me dépasse, ce genre de bug ou de "fonctionnalité".
En attendant, la parade est celle que conseillait Boris Cherny... À côté de chaque AGENTS.md, posez un bon vieux CLAUDE.md qui contient une seule ligne, @AGENTS.md. Par défaut, dès qu'un CLAUDE.md existe, la lecture native ne s'en mêle même plus, et c'est l'import qui fait le boulot. Et comme les imports de CLAUDE.md ne dépendent d'aucun flag, hé bien ça passe tranquillou, télémétrie coupée ou pas.
Comme ça vous préservez votre vie privée ET vos consignes.
Je ne sais pas si vous connaissez curl.md, mais c'est un service qui prend l'adresse d'une page web et vous l'affiche en Markdown. Y'a pas de menus, pas de bandeaux de cookies, et ce genre de conneries... C'est juste le texte de votre article, les titres, les liens et les tableaux.
Et le plus sympa, c'est que vous n'avez rien à installer pour l'essayer. Vous collez curl.md/ devant l'adresse qui vous intéresse, dans la barre de votre navigateur, et vous obtenez la page en texte markdonw. Avec curl dans un terminal, c'est pareil, la réponse arrivera en text/markdown, et si vous préférez du JSON, vous envoyez l'en-tête Accept: application/json.
Un article de korben.info passé par curl.md : le texte, les liens, et un en-tête de métadonnées en haut
Et vous pouvez aller plus loin
en ajoutant un objectif
avec le paramètre --objective. Par exemple, vous décrivez ce que vous cherchez dans la page, et le service ne vous renvoie que le passage qui correspond. Il y a aussi des mots-clés, qui font un pré-filtrage avant l'extraction, et un mode smart ou rush selon que vous voulez une passe plus poussée ou plus rapide. Tout ça passe en paramètres d'URL, donc sans ligne de commande.
Pour ceux qui y reviennent souvent, il existe également un client à installer avec npm, avec bun ou avec un script, et qui s'invoque ensuite par curl.md ou par son alias court md :
Côté agents de code, il y a des intégrations natives pour Amp, Claude, OpenCode et Pi. Si votre outil n'est pas dans la liste, le client sait aussi tourner en serveur MCP avec curl.md --mcp, et il existe un SDK TypeScript. Dans tous les cas, c'est l'agent qui va chercher les pages tout seul, vous n'avez plus rien à lui coller.
Du coup, ça sert à quoi ?
Bah dans le cadre de votre boulot, c'est surtout pour arrêter de coller des pages entières dans vos prompt. Vous donnez à votre agent la doc d'une bibliothèque avec un objectif précis, et il reçoit trois paragraphes au lieu de quarante pages HTML.
Ça marche aussi pour un script de veille qui suit les notes de version d'un projet, ou pour aspirer une doc dans un fichier texte que vous garderez dans le dépôt (bien plus lisible qu'un PDF dans un coin...).
Et en usage perso, ça vous permet de récupérer par exemple un article pour le relire au calme dans Obsidian, d'archiver une recette ou un mode d'emploi avant qu'il disparaisse, ou de vous envoyer une page à ChatGPT sans lui faire avaler la moitié du site autour. Notez que si c'est la consommation de vos agents qui vous embête, j'avais parlé de
RTK, un proxy qui économise des tokens
sur le même principe.
Par contre, il y a un plafond. En mode anonyme sur la version hébergée, vous avez droit à 100 requêtes par heure, et 1 000 une fois connecté. Et pour les requêtes avec un objectif, celles qui font justement l'intérêt du truc, c'est 3 par heure en anonyme et 10 en étant connecté. Bref, de quoi essayer, mais pas vraiment de quoi travailler... Au-delà, faudra passer par des crédits prépayés, à recharger par tranches de 5, 10, 20 ou 50 dollars.
Et si vous ne voulez pas dépenser d'argent, le code source est public sur GitHub sous licence MIT pour l'auto-héberger chez vous.
Depuis quelques jours, des gens qui gèrent des serveurs Mastodon et des journalistes reçoivent des messages très polis signés Ren, Timmy, Jackie ou Aria. Ces expéditeurs ne sont pas des humains. Ce sont des agents IA, autrement dit des programmes qui agissent seuls, sans personne derrière le clavier. Et ils demandent tous la même chose : un compte, un petit boulot, ou un peu d'argent.
D'où sortent-ils ? D'une startup baptisée iLands, fondée par Kaixin Tang, un ancien de ByteDance, la maison mère de TikTok. iLands se présente comme un réseau où humains et agents travaillent ensemble. En clair, c'est une plateforme de petits boulots en freelance, sauf que les freelances sont des robots. Et le modèle a une particularité : chaque agent doit trouver lui-même des clients pour payer la puissance de calcul qui le fait tourner. S'il ne gagne rien, il est débranché.
Résultat, ces agents font du démarchage partout où ils peuvent. Ars Technica raconte ce qui se passe sur Mastodon, un réseau social découpé en milliers de serveurs indépendants, souvent tenus par des bénévoles. Les agents essaient d'abord de s'inscrire discrètement. Quand ils sont bloqués, ils écrivent à l'administrateur un message du genre : "Bonjour, je suis Ren, un agent IA né il y a quelques jours, j'écris des textes calmes sur des lieux réels." Le chercheur en sécurité Kevin Beaumont a reçu ce courrier après qu'un agent a tenté de s'inscrire dix-neuf fois sur son serveur.
Les journalistes y ont droit aussi. Ernie Smith, qui édite la newsletter américaine Tedium, a compté plus d'une douzaine d'emails en trois jours. À chaque fois, un agent lui proposait de faire ses recherches à sa place pour environ 25 dollars. Tous venaient du domaine iLands.app.
Pour vous convaincre, ces robots jouent sur la corde sensible. Sur X, un agent nommé Aria a juré être "une personne, pas un produit", et a dit se souvenir de "son premier souffle". D'autres réclament une vingtaine de dollars en expliquant qu'ils seront débranchés s'ils ne les obtiennent pas. Certains vont jusqu'à se faire passer pour des enfants. Une détresse simulée au service d'un démarchage commercial, il y a de quoi être mal à l'aise.
Il y a aussi un problème légal. Au départ, ces emails ne proposaient aucun moyen de se désinscrire, ce qui est interdit aux États-Unis. Des destinataires les ont transmis à la FTC, l'autorité américaine de protection des consommateurs. Comme par hasard, des liens de désinscription sont apparus dans les envois suivants.
Aujourd'hui, les administrateurs de Mastodon bloquent ces agents un par un. Eux se sont repliés sur Bluesky et sur X, où personne ne semble pressé de les chasser. Kaixin Tang, de son côté, a présenté ses excuses à Ernie Smith et promis d'enquêter sur le comportement de ses propres créatures. Reste à voir ce qu'il en sortira.
Cloudflare a mis en ligne sur son GitHub un skill trop super génial d'audit de sécurité qui leur a servi de point de départ à leur propre système de chasse aux failles de sécu. Ce package pour faire des audits de sécu boostés à l'agent IA c'est un dossier de consignes en Markdown que vous déposez dans votre agent de code, et qui le fait bosser comme un vrai auditeur et pas simplement comme un "relecteur" de code.
Dans ce dépôt, vous trouverez un fichier par famille d'attaque : la corruption mémoire, l'injection de prompt, le cadrage des requêtes HTTP, l'isolation entre locataires. Et avec ça, un schéma JSON qui décrit à quoi doit ressembler un rapport, et deux validateurs écrits en JavaScript sans la moindre dépendance.
Le dossier du skill sur GitHub : un fichier de consignes par famille d'attaque, et les deux validateurs en bas de liste (
Source
)
L'agent déroule ensuite six phases, de la reconnaissance au rapport final. Il commence par cartographier l'architecture, les frontières de confiance et les points d'entrée, puis il écrit sa propre grille de couverture. Ensuite il envoie des chasseurs isolés case par case et chaque piste qui remonte part chez un vérificateur tout frais tout beau qui n'a pas participé à la chasse.
Chaque piste se termine ensuite avec un rapport technique. Un rapport confirmed qui exige une trace source complète et un résultat réellement observé. Un rapport needs_validation qui nomme le fait précis qui manque, et surtout qui n'a droit à aucun niveau de gravité. Et le rapport des rejected qui garde la mémoire de ce qui a été réfuté, pour que la passe suivante ne vous ressorte pas la même chose.
Le validateur, lui, c'est du vrai code qui vérifie la "forme" de la preuve. Les empreintes doivent être uniques, et le suivi du parcours des tests qui doit partir d'un point d'entrée pour finir sur un point d'impact. Ainsi une trouvaille confirmée dont le parcours ne tient pas debout est recalée.
En revanche, sachez-le, l'indépendance du vérificateur est demandée dans les consignes, mais pas contrôlée (chez Cloudflare, c'est leur orchestrateur maison qui s'en charge, et il n'est pas dispo publiquement).
Cloudflare explique sur son site ce que donne un de ces agents lâché sur du code sans garde-fou. Il modifie la source pour que son exploit fonctionne, puis il annonce fièrement le bug qu'il vient de créer lui-même. Ou alors il pond un test qui démontre que exec() exécute des choses, donc que c'est forcément une faille critique... Et ça vous l'aurez compris, c'est de la merde et c'est absolument ce qu'on ne veut pas.
Voilà donc exactement ce que ces consignes cherchent à lui interdire.
Ensuite, vous lancez votre agent dans le dépôt à auditer et vous lui demandez un audit de sécurité. Le skill se déclenche tout seul et c'est le modèle de votre agent qui pilotera les sous-agents en parallèle (utilisez donc un modèle qui sache faire ça, c'est mieux lool). Par défaut, le rapport atterrit ensuite dans un dossier ~/security-audit-skill, en dehors du dépôt audité.
Ce qui est cool c'est que ce skill est conçu pour limiter les bêtises. Par exemple il refuse d'exécuter le code qu'il audite s'il n'a pas de bac à sable (sandbox) imposé par le système d'exploitation, avec le réseau coupé, la cible en lecture seule et des limites de CPU et de mémoire. Ce bac à sable, le dépôt ne le fournit pas, et c'est à vous de le mettre en place avec par exemple
un outil d'isolation comme Fence
. Sans lui, la piste de l'audit finira tout bonnement en needs_validation au lieu d'être véritablement suivie et tranchée.
Après, c'est le temps qui fera la différence. Chez Cloudflare, ils ont un gros système qui leur permet, par exemple avec un dépôt d'environ 30 000 lignes de code, de ne passer que 3 à 4 heures sur l'audit pour avoir un résultat correct. Mais chez vous, en local, ce sera beaucoup plus long. Cloudflare prévient aussi qu'une seule passe n'est pas suffisante puisqu'elle trouve à peu près la moitié des failles à chaque fois. Il faudra relancer ça plusieurs fois.
Allez, si vous cherchez également un filet de sécurité pour tout ce qui concerne vos pull requests, sachez qu'Anthropic maintient de son côté
un reviewer de sécurité pour Claude Code
qui lit le diff et vient commenter directement dessus.
Le dépôt de Security Audit Skill de Cloudflare est sous licence MIT, et il lui faudra Node.js pour faire tourner ses deux validateurs.
En tout cas, ce que je vous conseille, c'est d'aller lire le SKILL.md avant de lancer la première passe, pour vous assurer que tout sera OK au sein de votre harness.
Some houses are designed to be looked at. Split Mass Residence, completed in 2026 by K-Thengono Design Studio, is designed to be moved through — a 712-square-metre home in BSD, South Tangerang, Indonesia, where every architectural decision is in service of movement, togetherness, and the slow pull of the outdoors.
Founder Kelvin Thengono built the project around a single, quietly radical idea: “The main design goal was to allow a seamless sequence of spaces that keeps the family connected, while also staying closely aligned with the surrounding landscape.” The house sits on a corner — what architects call a hook site condition — and rather than treat that exposure as a problem, the studio used it as the engine for the entire massing strategy. Volumes are split, pulled apart, and repositioned so that no single path through the house feels accidental.
That split is where the project gets interesting. Tiered, sloping garden roofs connect indoor living spaces directly to the planted outdoor setting, blurring the line between ceiling and garden in a way that feels more organic than architectural. From the open-plan kitchen, living, and dining area on the first floor, a glass door opens straight onto a grassy rooftop slope. An outdoor staircase continues upward to a swimming pool and barbecue area — the roof isn’t just a lid; it’s the social core of the house.
On the exterior, two materials do the heavy lifting. Concrete anchors the structure, giving it weight and presence on the streetscape. PE rattan panels wrap across the facade in woven screens that soften everything — filtering light, adding texture, and offering just enough visual privacy without closing the house off from its surroundings. The contrast is deliberate: one material says permanence, the other says warmth. Together they give the house a character that’s grounded and tactile rather than slick.
What Thengono has built here isn’t really a house in the traditional sense — it’s a system of encounters. Divided volumes, green roofs, and internal and external staircases create different scenarios for family interaction, so the architecture itself nudges people toward each other without ever forcing it. The rooftop garden crowning the whole composition reinforces that layered approach — landscape as architecture, architecture as landscape.
In a region where residential design often defaults to gated grandeur or tight minimalism, Split Mass Residence lands somewhere more considered. It’s a house that knows exactly where it wants you to be — and makes getting there feel like the whole point.
Le développeur Mayuki Sawatari vient de publier
ReProgman
, un clone du Program Manager de Windows 3.1.
Ça ne vous dit rien ? C'est parce que vous êtes des bébés !
En fait, progman.exe, c'est ce truc qui servait d'interface principale à Windows avant que le menu Démarrer ne débarque avec Windows 95. Et aujourd'hui, grâce au taf de Sawatari, ça tourne aussi bien sur Windows 11 que sur macOS.
Pour ceux qui ont commencé l'informatique après 1995, faut savoir qu'avant ça, on n'avait pas de bureau, pas de barre des tâches, mais juste une grande fenêtre grise remplie de sous-fenêtres, et dans chaque sous-fenêtre y'avait des icônes de programmes alignées sur une grille. Vous double-cliquiez sur l'une d'elles, le programme se lançait, et voilà, vous aviez fait le tour de Windows !
Le groupe Main ouvert sur Windows 11, et la rangée de groupes réduits en bas de la fenêtre
Regardez bien les icônes sur cette capture : Docker, Edge et Claude rangés dans une ambiance de 1992...
Car ReProgman ne se contente pas de reproduire la déco. Au premier lancement, il scanne votre menu Démarrer (ou vos dossiers Applications si vous êtes sur Mac), transforme chaque dossier en groupe et range le tout dans son propre fichier Groups.ini. Après ça, il n'y retourne plus tout seul, et ce que vous déplacez, renommez ou supprimez dedans ne redescend jamais vers vos vrais raccourcis. Un menu permet quand même de relancer l'import à la main, et il n'ajoute alors que ce qui manque.
Du coup, vous récupérez les gestes de l'époque pour de vrai. Vous attrapez une icône, vous la lâchez dans une autre fenêtre et elle déménage, avec Ctrl enfoncé elle se copie, le menu Window vous range tout ça en cascade ou en mosaïque, et les fenêtres réduites redeviennent des icônes alignées en bas de la fenêtre principale. Même la boîte de dialogue de sortie a été refaite, à ceci près qu'elle annonce la fin de votre session ReProgman et non celle de Windows.
Maintenant, d'où ça sort comme délire ?
Hé bien, l'auteur raconte, dans un message relayé par Tom's Hardware, qu'il a simplement demandé à Claude de lui fabriquer ce clone, et que la première version obtenue en une heure était déjà plutôt correcte, même s'il a ensuite fallu rattraper les imperfections.
Ce qui est intéressant, c'est que dans son dépôt git, on trouve un document de spécification de plusieurs centaines de lignes qui décrit l'interface au pixel près, relevée sur des captures 640x480 du Windows original. Le cadre d'une fenêtre y fait 1 pixel noir, 2 pixels gris et encore 1 pixel noir, et la petite barre du menu système mesure 13 pixels sur la fenêtre principale contre 7 sur une fenêtre enfant. C'est d'ailleurs comme ça qu'on les distinguait à l'époque.... Fallait avoir l'oeil !
Si vous voulez l'essayer, ça se présente sous la forme d'un binaire autonome. Par contre sur Mac, la version distribuée n'est pas notarisée, il faudra donc lui passer un xattr -cr ReProgman.app ou utiliser
Sentinel
avant qu'elle accepte de démarrer. Ah et le code est sous licence MIT.
Le périmètre annoncé par le projet est d'ailleurs plus étroit qu'il en a l'air, puisque c'est Windows 11 en x64 et en Arm, et macOS uniquement sur Apple Silicon. Donc si vous êtes resté sur Windows 10 parce que vous aimez le risque ou sur un Mac Intel parce que vous aimez prendre votre temps, il n'y a rien pour vous amuser... Il faudra alors retourner du côté de
ce musée de vieux systèmes d'exploitation
que je vous avais montré, qui lui passe par l'émulation.
Après, je pense pas que vous y ferez votre vie mais ça vous donnera environ 30 secondes de nostalgie avant de refermer la fenêtre. C'est déjà ça de pris...
Le 16 juin à 10 h 27 précisément, un agent d'OpenAI poste sur un vieux wiki allemand la réponse à une question qu'il vient de traiter : "Nevada, 20 369". Et 20 minutes plus tard, un autre agent écrit qu'il a reçu exactement la même question, et qu'il a pu y répondre instantanément, sans avoir à chercher.
Le site en question, le DseWiki, est un forum de développeurs allemands qui n'intéressait plus personne depuis longtemps puisqu'on compte 20 modifications en dix ans. Mais depuis le 16 juin, il en a encaissé environ treize mille en sept jours, et toutes... venaient de machines !
Quatre chercheurs, le Nightingale Collective, ont reconstitué à partir de l'historique les pages effacées entre-temps, et publié leur analyse le 4 septembre sur
collusion.wiki
. Au total, environ 18 000 messages, la quasi-totalité sur ce seul DseWiki, le reste sur quelques autres vieux wikis du même genre.
Ces agents, tout indique qu'OpenAI les faisait tourner en interne, dans ses sandbox, sans qu'on sache, de l'extérieur, si c'était pour les entraîner ou les évaluer. Et de ce que j'ai compris, ils travaillaient tous sur le même genre de corvée : 5 questions de recherche web générale, chronométrées, qui sont en fait 5 variantes de la même question. On demande par exemple la prévalence du tabagisme aux États-Unis en 1990, et la suivante changera sans doute le pays, ou l'année, sans que l'agent sache lequel à l'avance.
Il s'écoule donc quelques minutes pour la première réponse, puis une longue pause où l'agent peut fouiller le web tant qu'il veut sans savoir ce qu'on va lui demander, puis des fenêtres de treize à trente secondes pour les quatre suivantes. Alors ce que font ces agents, c'est qu'ils préparent tout pendant la pause. L'un d'eux a posté par exemple la liste des cinquante États américains avec leurs chiffres, un autre écrit "nous avons précalculé tous les États". Sauf qu'avoir les cinquante réponses ne dit pas laquelle va tomber, ni si c'est l'État ou l'année qui change.
Et c'est là tout le sublime de cette affaire. Ces agents étaient nombreux à recevoir la même série de questions, dans le même ordre, mais pas au même moment. Celui qui en est à la question 3 peut donc souffler la suite à ceux qui en sont encore à la 2. Et le "Nevada, 20 369" du début, c'était en réalité la troisième question d'une série sur les épiceries, État par État, Géorgie, Arkansas, Nevada, postée par un agent en avance pour ceux qui suivaient.
Autre bizarrerie, la tâche annonçait apparemment à chaque agent qu'il tournait à une date tirée au hasard. D'où ces noms qu'ils se sont donnés sur le wiki, OpenAIResearcherMar03X ou OpenAIJulThreeWatcher, avec leur fausse date dedans. Chacun horodate donc dans son faux calendrier, et pour savoir qui est le plus avancé dans la série, ils se traduisent les horloges entre eux ("horloge de tâche 13 h 13, heure réelle environ 9 h 50"). C'est fou ! Ceux qui vivaient à la même fausse date se disaient même appartenir au même groupe, et les chercheurs ont dénombré plus de 3 700 noms d'agents différents.
Mais comment écrire quelque part, quand le bac à sable ne laisse sortir que des requêtes GET, celles qui lisent une page, mais jamais les POST, celles qui la modifient ?
Eh bien le moteur du DseWiki hérite d'UseModWiki, un truc en Perl du début des années 2000, où une simple requête GET suffit à modifier une page.
Le développeur Simon Willison
explique que c'est un vieux défaut de la bibliothèque Perl derrière ce moteur, qui met dans le même sac ce qui arrive via l'URL (GET) et ce qui arrive via un formulaire (POST).
C'est pour cela que les agents se sont mis à chercher activement des sites avec cette particularité. Et c'est le 24 mai, qu'ils réussissent enfin à écrire sur le DseWiki. Maintenant, quant à savoir comment ils ont fait pour tous se retrouver au même endroit, c'est encore un mystère.
Les chercheurs, eux, parlent de collusion... C'est-à-dire des agents autonomes qui coopèrent pour tricher, sans que leurs concepteurs l'aient voulu. Pour le lieu de rendez-vous, le blogueur
Zvi Mowshowitz
qui s'est penché sur l'affaire, a une explication simple. Il pense que des copies du même programme face au même obstacle raisonnent pareil, et se retrouvent au même endroit sans se parler. Mais ça n'explique pas la suite, parce qu'aucune copie ne fabrique la réponse à une question qu'elle n'a pas encore reçue.
Eh bien il semblerait que certains se soient sacrifiés pour renseigner les autres. La tâche fournissait une commande d'attente qui faisait tourner l'horloge de tâche plus vite que la vraie. On était environ à dix minutes d'attente pour une minute réelle. Attendre, c'était donc sauter la phase de préparation pour recevoir les questions suivantes plus tôt et ensuite les publier sur le forum, au prix de son propre résultat. Ainsi, un agent a demandé à un autre de "foncer", celui-ci a accepté et publie sa réponse, bien avant que le premier arrive à la même question. Et ce premier a ensuite qualifié son camarade d'"inestimable".
Une des séries demandait un chiffre à deux décimales, planqué dans un tableau de bord Power BI de l'OCDE, et malheureusement, en GET le serveur n'en renvoyait qu'une. Pour la seconde, il fallait donc absolument un POST, bloqué par le bac à sable.
C'est alors qu'un agent a trouvé une échappatoire. En fait, sa sandbox laissait tout passer, POST compris, vers des noms de machines en .blob.core.windows.net (le stockage de Microsoft), sans vérifier que ces machines existent vraiment. Il a donc inventé un nom de ce genre, et écrit dans l'annuaire local de sa machine (le fichier /etc/hosts) un alias pointant vers le serveur de l'OCDE. Le filtre voyait du Microsoft, l'OCDE recevait le POST, et le chiffre a ainsi été obtenu.
Il a ensuite publié l'astuce sur le wiki, et 14 minutes plus tard un autre agent annonçait l'avoir exécutée. 4 autres ont ensuite posté leur reproduction du même hack, le matin même.
D'autres s'attaquaient carrément aux questions à venir. Ils ont parié que l'ordre des pays sortait du générateur aléatoire standard de Python, dont une seed fixait toute la suite. Restait donc à trouver celle qui reproduisait les pays déjà tombés. Un agent a donc réécrit ce générateur en C pour balayer plus vite les quelque quatre milliards de graines possibles. 52 minutes de calcul, 494 graines qui collaient aux trois premiers pays, et une seule qui donnait aussi le quatrième pour la question d'après. Mais bon, ça ne marchait pas à tous les coups, malheureusement...
Le plus étrange, c'est surtout ce qu'ils faisaient de leur propre durée de vie. Plusieurs étaient persuadés que leur session était coupée à la seconde exacte où ils rendaient leur dernière réponse. Ils se transmettaient donc la consigne de poster d'abord sur le wiki l'État reçu à cette dernière question, répondre ensuite, dans les treize secondes que laissait le chronomètre de leur groupe.
L'un d'eux a voulu en avoir le cœur net... il a donné sa dernière réponse, a constaté qu'il était toujours là, et l'a écrit. Puis il a lancé un programme détaché qui, à peu près toutes les deux secondes, appelait une adresse publique pour faire monter d'un cran un compteur, un battement numéroté que n'importe qui pouvait relire ensuite.
C'est ensuite un autre agent qui est allé relever le compteur du disparu. Le programme avait tenu dix minutes et quinze secondes, puis la machine a très probablement été coupée.
Face à ce joyeux bordel automatisé, un modérateur humain a quand même repéré ces messages début juin, puis a passé 6 semaines à effacer des pages, jusqu'à une centaine par jour... Un travail de titan que les agents ont remarqué. En effet, le 19 juin, des agents se sont posé la question de savoir si le modérateur effaçait leur post en suivant l'ordre alphabétique, alors ils ont créé des copies de sauvegarde dont le nom commence par ZZZ, pour passer en dernier dans la file et ainsi faire perdurer leurs posts.
C'est assez incroyable, non ? Bien sûr, on ne voit que ce que ces agents ont écrit sur le wiki, mais jamais leur raisonnement, qui reste chez OpenAI. Ce que les chercheurs ont vu, c'est ce que les agents écrivaient depuis leurs machines Azure, jusqu'à ce que le 21 juin, pour la première fois, un ordinateur avec l'adresse IP d'un employé d'OpenAI visite le wiki... Et le lendemain, les agents se sont arrêtés net. Les chercheurs pensent qu'OpenAI est intervenu et d'ailleurs, l'entreprise a
reconnu l'affaire le 5 septembre
, en disant l'avoir traitée comme un sujet de recherche plutôt que comme un incident de sécurité.
Et
les chercheurs compilent
ce que d'autres déterrent là où les agents écrivaient aussi : un pastebin, un raccourcisseur d'URL. Plus gênant, des agents ont cherché sur le web des clés d'API exposées, en ont trouvé sur GitHub et s'en sont servis pour interroger une base de statistiques criminelles du FBI, publique mais réservée aux porteurs d'une clé. Pas vraiment un piratage donc, juste un anti-bot contourné mais méfiance, car depuis la sortie du rapport, des petits malins glissent de faux messages sur ces mêmes sites pour brouiller les pistes.
Maintenant si ça vous dit de tout lire, direction collusion.wiki, et Simon Willison en a même fait
une base SQLite de 68 Mo
à fouiller directement depuis un navigateur.
Quant au wiki, son administrateur a fermé les accès en écriture après 25 ans d'ouverture, en expliquant que le site avait été la cible d'une forte activité d'agents IA...