Vue lecture

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

J'ai créé mon propre outil de stats sans tracking

Un site sans cookie de mesure d'audience et sans bandeau de consentement, c'est reposant je trouve... Sauf qu'à cause de ça, bah je ne savais plus trop combien de gens venaient me lire tous les jours. Relou hein ?

C'était ma situation depuis un moment déjà, vu que tout ce qui servait à mesurer l'audience a dégagé de korben.info il y a un bon bout de temps. Alors faute de mieux, je me suis rabattu sur AWStats, qui lit bêtement les logs Apache du serveur mais bon, c'est pas terrible, parce qu'avec le cache de Cloudflare, il y a une grosse partie de mon trafic qui n'est pas pris en compte.

En effet, quand Cloudflare possède une copie valide de la page dans son cache, il peut la renvoyer directement sans contacter le serveur d'origine. Vous êtes donc bien un visiteur réel, mais Apache ne voit aucune requête et AWStats ne vous comptabilise pas. Du coup, tous les outils fondés exclusivement sur les logs d'origine sous-estiment la part du trafic absorbée par le cache.

Après il y a bien le classique Google Analytics, mais bon même configuré en mode full RGPD, ça reste Google et ça appelle quand même un service tiers aux US... Vous connaissez aussi déjà des alternatives propres, puisque je vous ai parlé de Matomo, Plausible et de Vince Analytics , mais elles ajoutent toutes une mesure côté navigateur, avec un script, un pixel ou un stockage local (le localstorage) et moi, je ne voulais aucun outil d'audience de plus dans vos pages !

De son côté, Cloudflare lui, voit chaque requête HTTP qui atteint son réseau, y compris celles auxquelles son cache répond. Ses chiffres couvrent donc beaucoup mieux le trafic HTTP que mes logs d'origine. Le souci, c'est que son dashboard, je ne l'aime pas. Je le trouve incomplet, mal foutu, chiant à utiliser, et il ne montre pas ce que j'ai envie de voir.

Donc, histoire d'avoir ce que je voulais, j'ai fini par coder le mien. Enfin, entièrement vibe codé et ça tourne aussi bien sur un serveur qu'en local sur une machine de bureau.

Petite parenthèse pendant que j'y suis, vous ne le savez peut-être pas mais depuis que ChatGPT a débarqué dans nos vies fin 2022, tout ce que je développe moi-même sur ce site et l'ensemble de mes outils internes sont vibes codés avec des LLMs comme ceux d'OpenAI et d'Anthropic. C'était une purge au tout début et maintenant ça s'est tellement amélioré et je me suis tellement spécialisé là-dedans, que le code n'est devenu qu'une formalité. Ne hurlez pas, mon site est statique et j'envoie pas de fusée dans l'espace !

Mon collecteur s'exécute en local, cause à une API, et il n'envoie pas une seule ligne de mesure dans votre navigateur. Bref, que mon backend soit écrit avec un LLM, à la main ou en Brainfuck, vous chargez exactement la même chose de mon outil de stats, c'est-à-dire rien du tout. La garantie est donc architecturale et pas une question de talent.

Et surtout, mon outil de stats n'ajoute aucune mesure dans votre navigateur. Aucun JavaScript ni cookie supplémentaire n'est posé par mon outil. À la place, il lit l'API GraphQL Analytics de Cloudflare, en lecture seule et récupère des compteurs déjà agrégés par jour et par dimension. Cela veut dire par exemple, que quand je récupère le nombre "nombre d'IP distinctes par jour", je ne récupère pas les IPs en tant que telles mais juste un total que Cloudflare me communique et qu'il a déjà traité en amont.

Et vous n'êtes pas obligés de me croire sur parole, parce que c'est vérifiable en 10 secondes... Ouvrez l'inspecteur de votre navigateur, onglet Réseau, et rechargez cette page. Vous ne verrez aucun script de mesure d'audience, aucun appel vers un domaine tiers et aucune iframe. Même les vidéos YouTube ne se chargent qu'au moment où vous cliquez sur la vignette. Le seul truc qui bouge, c'est le compteur du footer qui télécharge un nombre, sans rien renvoyer derrière.

Attention, ce n'est pas à confondre avec Cloudflare Web Analytics et ses mesures RUM (Real User Monitoring) puisque cette fonctionnalité injecte un bout de JavaScript pour mesurer les performances ressenties dans le navigateur. Chez moi, c'est désactivé tout ça.

Maintenant soyons clairs sur un point, parce que c'est l'objection évidente et qu'elle est parfaitement légitime... Cloudflare, lui, voit bien votre adresse IP. Pas à cause de mon outil de stats, mais parce que c'est un reverse proxy et que c'est mécaniquement ce qui se passe dès qu'un site est derrière un CDN. Votre requête arrive chez eux avant d'arriver chez moi, sinon ils ne pourraient ni router, ni mettre en cache, ni bloquer une attaque. Mon outil ne change rien à ça, il se contente de lire des totaux déjà calculés et je ne récupère jamais la moindre IP. Tout est détaillé dans mes CGU, avec les bases légales, les durées et la liste des cookies de sécurité, si vous voulez le détail complet.

Mon outil et le compteur que vous pouvez retrouver dans le footer de mon site reposent sur les requêtes collectées côté serveur chez Cloudflare et sans l'analyse web, je ne peux juste pas suivre par exemple un parcours utilisateur, connaitre un taux de rebond ou évaluer les temps de chargement mesurés chez les lecteurs. Rien de grave donc...

Maintenant, il y a un souci chez Cloudflare, c'est que selon le jeu de données et le forfait que vous payez ou non, le détail ne reste interrogeable que durant une fenêtre limitée de temps. Mon outil doit donc passer chaque jour récupérer les agrégats encore disponibles et les stocker dans une base SQLite sur mon serveur ou en local, selon la façon dont on l'a déployé.

Ça me permet de garder mon propre historique agrégé. J'ai aussi activé le Super Bot Fight Mode de Cloudflare, qui réduit une large partie du trafic automatisé, mais attention, ça ne me donne pas pour autant des stats sans aucun bot. Les crawlers autorisés comme Googlebot et ceux qui passent entre les mailles du filet restent comptabilisés dans mes chiffres, exactement comme avec tous les autres outils de mesure web. Et je préfère le dire clairement plutôt que de vous vendre des chiffres "propres" qui ne le sont jamais totalement, vu qu'un filtre anti-bot ne peut retirer que les bots qu'il a détectés.

À côté de ça, j'ai aussi branché ma Google Search Console, et là non plus sans installer la moindre bibliothèque tierce... Je signe moi-même un JWT en RS256 avec le module crypto natif de Node, je l'échange contre un jeton d'accès chez Google, et le compte de service que j'utilise est restreint au scope lecture seule. Ça m'apporte des statistiques agrégées sur les impressions, les positions, les requêtes de recherche et surtout Discover !!

Si je devais résumer ça, je dirais que Cloudflare estime le volume de trafic et que Search Console montre quelles recherches produisent des impressions et des clics, même si sans aucun tracking en place, ça n'explique évidemment pas la motivation de chaque lecteur. Mais osef ! Et comme Cloudflare embarque aussi son pare-feu, j'en profite pour rapatrier des statistiques sur les événements de sécurité et les routes attaquées, comme ça, je peux tout voir au même endroit.

Maintenant, le vrai plaisir, c'est de pouvoir afficher ce que je veux dans mon propre dashboard. Par exemple, la répartition par langue, les navigateurs, d'où provient le trafic avec un joli petit camembert, les pays, l'état de mon cache, la bande passante, etc. Et quand j'ai un nouveau besoin qui me pête dans le cerveau, je peux ajouter une vue rapidement et je ne m'encombre pas de ce qui ne me sert pas.

Sans traceur placé chez vous, je ne connais donc pas les sessions, le taux de rebond, le parcours de lecture, les entonnoirs de conversion, donc impossible de savoir si vous êtes revenu hier, ni dans quel ordre vous avez lu 3 articles. Mais je m'en tape complètement puisque ces métriques ne m'ont jamais servi à rien.

Ce que je veux connaitre, c'est surtout l'ordre de grandeur de l'audience et le nombre de pages demandées. Le parcours individuel et les entonnoirs de conversion, c'est surtout un besoin de régie publicitaire ou de site e-commerce, et pas d'un site comme le mien. Quand on sait que les bandeaux de cookies nous coûtent 575 millions d'heures perdues collectivement, et que l'Europe réfléchit enfin à les alléger , s'en passer n'est pas vraiment une punition.

Bref, mes stats sont maintenant plus digestes que celles d'AWStats, sans avoir à vous tracker ou vous faire charger quoi que ce soit. Ça me va donc très bien. Et si vous voulez un avant-goût de la technique derrière l'outil, j'ai montré récemment comment vous faire un compteur de fréquentation gratuit , donc n'hésitez pas à y jeter un œil...

La vérif d'âge de l'Europe ridiculisée par une extension Chrome

Bon, vous le savez, l'Europe tient absolument à savoir votre âge, avant de vous laisser scroller librement sur le net. Alors pour cela, ils ont mis au point une application qui permet de prouver votre âge et qui nous est proposée comme simple à utiliser et respectueuse de notre vie privée.

Mais ça c'était sans compter sur Paul Moore , chercheur en sécurité, qui vient à nouveau de l'éclater à l'aide d'une simple extension Chrome...

Mais reprenons depuis le début, parce que cette appli, c'est le modèle de référence de la Commission européenne pour vérifier qu'un internaute a bien plus de 18 ans, sans avoir à dévoiler qui il est. Développée par un consortium germano-suédois, elle est actuellement en test dans cinq pays dont la France, et vise aujourd'hui surtout le contenu adulte / porno et les jeux d'argent.

Ce 13 juillet, notre bien-aimée Ursula von der Leyen a même annoncé vouloir réutiliser cette infrastructure pour barrer l'accès des plus jeunes aux réseaux sociaux, avec une loi attendue après l'été et un âge minimum autour de 13 ans. "Les réseaux sociaux ne sont pas un jouet", comme elle l'explique !

Et pour arriver à cela, rassurez-vous, l'UE ne va pas stocker la carte d'identité de chaque Européen puisque le principe de ce système de contrôle, c'est de prouver l'âge sans transmettre l'identité.

Enfin, en théorie...

Parce qu'en pratique, c'est un peu la fête du slip ! Déjà il y a le dépôt Github officiel qui prévient tout le monde que c'est une implémentation de référence et absolument pas un truc à déployer en production. Donc en gros démerdez-vous !

Et ensuite, cette application est censée présenter une preuve d'âge à un vérificateur sans avoir à balancer notre identité. Alors ce qu'a fait Paul Moore, c'est qu'il a fabriqué cette preuve directement à partir d'une extension Chrome, et la présenter au vérificateur officiel de la démo. Et comme vous vous en doutez, celui-ci l'a validée comme si de rien n'était

Ça a l'air tellement simple !

En même temps, vu que la clé crypto, c'est une simple clé logicielle P-256 et pas une clé qui est enfermée dans le coffre matériel du téléphone, eh bien c'est assez facile à déjouer. Il n'y a pas besoin de scanner son passeport ou sa carte d'identité, il n'y a aucune reconnaissance faciale, ni aucune attestation matérielle façon Play Integrity pour prouver que ça tourne sur du vrai matos et (rigolez pas) la même preuve peut être rejouée en boucle encore et encore !! Une preuve d'âge peut donc servir 2 fois de suite.

Et puis cette preuve d'identité, elle est à 100% sous le contrôle du client. Donc en gros c'est à l'application installée sur votre téléphone qu'on demande de ne pas tricher. Mais lol.

Pour Moore qui a mis au point ce hack, il n'y aurait aucun patch qui pourrait régler ça. C'est vraiment l'architecture qui est foireuse. Et comme tout repose sur la bonne foi de l'application, eh bien c'est foutu. N'importe qui détourne l'application ou forge sa propre app peut faire croire au vérificateur qu'il a plus de 18 ans.

Pour boucher ce trou, l'Europe dispose de deux pistes : Soit passer par une attestation matérielle en béton, comme celle que Google verrouille via Play Integrity, ce qui recale au passage les gens sous GrapheneOS, Linux et compagnie, ou alors faire de la vraie crypto à divulgation nulle, prévue pourtant dans la spec mais pas branchée dans cette version.

Ce qui est rigolo, c'est que Moore a expliqué sur X avoir codé son proof of concept avec une IA en quelques minutes. Et on n'oublie pas non plus que Bruxelles veut interdire les réseaux sociaux avant 13 ans et a fait passer Chat Control pour scanner nos messages.... Je trouve que ça fait beaucoup de "contrôle" qu'on essaye de déguiser en "protection".

En attendant, ils sont bien ridicules avec leur application de validation d'âge en mousse.

Source

L'Europe veut interdire tout réseau social avant 13 ans, et même les IA

Un comité d'experts mandaté par la Commission européenne a rendu ses conclusions ce lundi, et la ligne est nette : il faut encadrer partout dans l'Union l'accès des mineurs aux plateformes en ligne.

L'idée principale, c'est une majorité numérique par étapes.

Avant 13 ans, on serait donc sur une tolérance zéro. Aucun réseau social, pas d'assistant d'intelligence artificielle. La seule exception tolérée serait un usage encadré par un parent ou installé dans le cadre de l'école.

Entre 13 et 18 ans, l'accès serait possible, mais sérieusement conditionné. Il faudrait une vérification d'âge fiable, et surtout des plateformes capables de prouver qu'elles ont retiré leurs fonctions les plus addictives, le défilement sans fin et les notifications qui vous rappellent toutes les cinq minutes.

Ce n'est qu'à 18 ans qu'un Européen récupérerait sa pleine autonomie numérique, avec quand même une vérification d'âge pour tout ce qui est réservé aux adultes.

Derrière tout ça, il y a l'idée que l'enfance est une période fragile pour le développement du cerveau. Ursula von der Leyen, la présidente de la Commission, estime que les enfants doivent pouvoir jouer et se faire des amis dans le vrai monde, sans qu'un algorithme ne s'en charge à leur place.

Sur le terrain, plusieurs pays ont déjà dégainé, la France en tête, suivie de l'Espagne, la Grèce, le Danemark, l'Autriche ou encore la Suède. L'Estonie, elle, freine des quatre fers et refuse la moindre interdiction, alors qu'une partie des Vingt-Sept n'a toujours pas tranché.

C'est justement pour éviter ce patchwork que Bruxelles pousse une règle commune, bien plus simple à imposer à des plateformes déjà largement encadrées à l'échelle européenne.

Et la Commission ne fait pas que cogiter. Vendredi, elle a sommé Meta de revoir les interfaces d'Instagram et Facebook, jugées trop addictives, sous peine d'amende, exactement comme elle l'avait déjà exigé de TikTok en début d'année.

Fixer la barre à 13 ans plutôt qu'à 15 ou 16 est un vrai pari, mais tant qu'on ne saura pas vérifier l'âge sans ficher tout le monde, le plus dur restera à faire.

Source : NYTimes

Un compteur de visiteurs sur votre site, sans payer un centime

Vous avez peut-être remarqué un petit point rouge tout en bas de mon site, avec un nombre à côté. Il s'agit du nombre de personnes passées sur le site durant la dernière heure.

Je voulais remettre ce truc depuis un bail, bien à l'ancienne comme dans les années 2000 mais sur un site statique, qui plus est sans tracker de stats JS type Google Analytics ou Matomo, et sans cookies de tracking, c'était pas franchement une option... jusqu'à maintenant !

Le compteur, en vrai, tout en bas de korben.info.

La solution évidente sur des sites statiques, c'est souvent un petit Worker Cloudflare qui compte les visiteurs et servirait le chiffre, mais ça se facture à chaque requête. À 390 000 pages vues par jour, ça grimpe vite à des dizaines de millions d'invocations par mois, soit dans les 6 à 7 dollars. C'est pas super cher mais pour un compteur qui n'est utile qu'à satisfaire mon égo tout en sachant s'il y a du monde aujourd'hui, ça ne sert strictement à rien ! Donc le Worker, je l'ai écarté direct.

Du coup j'ai fait ça à l'ancienne. Un petit script Python tourne sur la machine qui héberge le site, une fois par minute. Il pose une seule question à Cloudflare, à savoir combien d'adresses IP distinctes ont chargé une page durant la dernière heure (ou demi-heure, ou quart d'heure ou 5 min, c'est vous qui paramétrez), il écrit la réponse dans un minuscule fichier live.json de quelques centaines d'octets, et c'est tout. Ce fichier, Cloudflare le sert ensuite depuis son cache comme il servirait une image, gratuitement. Zéro Worker, zéro base de données, zéro abonnement, j'ai exactement le même résultat sans dépenser une thune.

Maintenant, faut que je sois clair sur ce que ce chiffre raconte. C'est le nombre de navigateurs distincts ayant chargé une page durant la dernière heure, hors trafic interne de Cloudflare. C'est un "*combien de monde est passé récemment *", pas un "combien lisent là tout de suite".

Et les bots là-dedans ?

En fait, les bots pourris , ceux qui scrapent en boucle, se font bloquer en amont par le Super Bot Fight Mode de Cloudflare, donc ils n'arrivent même pas jusqu'à mon site. Restent les gentils bots, du genre de Googlebot et compagnie, que je laisse passer exprès, parce que les bloquer reviendrait à me flinguer mon référencement. Sur les 7 derniers jours, Cloudflare classe à peine 4% comme bots vérifiés. Donc c'est une goutte d'eau, surtout qu'ils tournent sur une poignée d'IP. Donc oui, mon compteur avale deux ou trois crawlers au passage, mais je ne voulais pas vous mentir en écrivant "zéro bot". Mais l'essentiel c'est que les nuisibles, eux, ne soient pas comptabilisés.

J'ai aussi dû gérer un petit piège car l'API de Cloudflare plafonne sa réponse à 10 000 lignes. Et comme sur une heure entière de trafic ça peut se remplir vite, si je crève ce plafond, la requête sous-compterait sans rien dire. Donc le script lève un flag et le compteur affiche "10 000 personnes ou plus" plutôt qu'un faux nombre. Quand j'y serai aux 10 000 et plus, je pense que je réduirai alors le delta temps en passant de 1h à 30 min...etc.

Côté vie privée, c'est carré également. Cloudflare renvoie à mon serveur une liste JSON des IP passées dans l'heure, mon script en compte le nombre de distinctes, et efface cette liste de sa mémoire dans la milliseconde qui suit. Aucune IP n'est stockée, aucune n'atterrit dans un log, aucun fichier avec les IPs n'est créé sur le disque... Il ne reste qu'un entier. Comme je vous le disais, pas de cookie , pas de traceur, et rien qui touche votre navigateur . Et comme le compteur ne s'affiche jamais en dessous de 10 personnes, impossible d'isoler qui que ce soit.

Maintenant, si vous voulez le même chez vous, sachez que j'ai tout balancé en open source sur GitHub , sous licence MIT, donc servez-vous. Voici les pré-requis :

  1. votre site doit être derrière Cloudflare, le plan gratuit suffit largement.
  2. vous générez un token API Cloudflare avec le droit de lecture sur les analytics.
  3. vous posez le script live_count.py sur votre serveur et vous le lancez une fois par minute (ou toutes les 5 ou 10 min) via un cron.
  4. vous ajoutez le bout de JavaScript et son span dans vos pages, tout se règle par des attributs, aucun script inline, donc ça passe même avec une politique de sécurité stricte.

Le seul truc sur lequel ne pas vous louper, c'est de mettre un temps de cache court à live.json. Si c'est trop long, tous vos visiteurs verraient un chiffre périmé.

Voilà. Un petit compteur maison simili-live sans tracking et qui ne me coûte rien, c'est le bonheur !

Chat Control - 314 contre, 112 absents, et le texte passe

314 députés européens ont voté jeudi pour enterrer Chat Control et 276 ont voté pour le garder.

Et c'est quand même passé OKLM.

Et oui, pas la peine de vous frotter les yeux, je vais vous expliquer tout ça. En seconde lecture, le Parlement a besoin d'une majorité absolue de ses membres pour rejeter un texte du Conseil, soit 360 voix. Et cette "majorité", c'est pas une majorité des présents dans l'hémicycle, mais une majorité d'élus, absents compris.

Du coup les 314 sont tombés à 46 voix du compte, 17 députés se sont abstenus, et 112 qui n'ont pas pris part au vote ont terminé le boulot à leur place puisque leur chaise vide valait pour un oui.

Je rappelle quand même que ces 112 là touchent 359 euros d'indemnité journalière, et qu'il leur suffit de signer un registre le matin pour encaisser leur thune. Je pense que si ces feignasses d'absentéistes faisaient correctement leur boulot en étant là, au moins pour les choses importantes, on n'aurait pas des problèmes comme ça qui impactent tous les citoyens européens. Ils ne méritent vraiment ni leur poste, ni leurs indemnités de merde.

Maintenant que ça c'est dit, je vous propose qu'on fasse une petite séance de cohérence cardiaque tous ensemble pour se détendre, car y'a quand même un peu de positif dans cette seconde lecture.

Le texte voté, c'est Chat Control 1.0, c'est à dire la dérogation qui autorise les plateformes à scanner volontairement les messages de leurs utilisateurs. Ce n'est donc pas un scan obligatoire, ni des ordres de détection, ni de la vérification d'âge qui vous ferait montrer vos papiers pour ouvrir un compte sur une messagerie. Tout ça, c'est prévu dans Chat Control 2.0, un règlement séparé, qui n'est toujours pas adopté, mais qui revient à l'automne !!

L'autre bonne nouvelle dans notre malheur, c'est que les députés (ceux qui bossent hein, pas les autres paresseux) ont arraché un amendement qui exclut du texte tout ce qui est chiffré de bout en bout. Donc Signal, WhatsApp, iMessage, et les salons Matrix que vous avez pris soin de chiffrer vont passer entre les mailles du filet de Big Brother.

Restent quand même Gmail , Outlook, Discord, Snapchat, iCloud Mail, les publications et les groupes Facebook, et tout ce qui transite en clair sur des serveurs... C'est-à-dire là où vous comme moi, écrivons la plupart de nos trucs.

Cette dérogation "temporaire", Chat Control 1.0, est née en 2021 et a expiré le 3 avril dernier, quand le Parlement avait refusé de la prolonger. Alors le Conseil l'a renvoyée au Parlement et ils veulent maintenant qu'elle coure jusqu'au 3 avril 2028. Ça c'est du bon gros provisoire reconduit à coups de 2 ans... Ce genre de provisoire, moi j'appelle ça du permanent mais bon, bref...

Et le pire, les amis, c'est que ce scan qu'on vous vend comme une protection contre tous les criminels et autres pédophiles nazis terroristes NE FONCTIONNE PAS. Et c'est pas moi qui le dis !

En effet 807 chercheurs et cryptographes dans 37 pays ont signé une lettre ouverte, la quatrième depuis 2023, où ils écrivent qu'il est "tout simplement impossible de détecter, avec un niveau de précision acceptable, les contenus pédopornographiques connus et nouveaux pour des centaines de millions d'utilisateurs.".

C'est donc simplement pas faisable à cette échelle, avec une suffisance de précision. Et les chiffres leur donnent raison puisque quand l'Irish Council for Civil Liberties a épluché les signalements automatiques atterris chez la police irlandaise, à peine 20 % étaient réellement des contenus pédocriminels, et moins de 10 % étaient exploitables par un enquêteur.

Le reste, bah c'est du bruit... Ce sont vos photos de vacances, vos consultations médicales, vos ados qui s'écrivent entre eux. Et chaque faux positif, c'est un inconnu payé pour regarder vos photos à la plage ou vos sextapes. Sans parler des erreurs humaines ou IA qui viendront se glisser là-dedans et qui vous enverront en zonzon pour pédocriminalité pour une photo de Sphinx (les chats sans poil, vous savez) ou autre...

Quatorze pointures de la crypto, dont Ron Rivest, Whitfield Diffie et Bruce Schneier, ont posé le diagnostic dans un document, Bugs in our Pockets où ils expliquent que le scan côté client "ne garantit pas une prévention efficace de la criminalité et n'empêche pas la surveillance".

Et c'est à nous de payer toutes ces conneries avec notre vie privée.

Puis j'sais pas si vous vous souvenez, mais Apple s'y est cassé les dents en public. Ils avaient annoncé un système de détection en août 2021, et des chercheurs ont conçu dans la foulée, des collisions de hash (deux images différentes, même empreinte), qui a poussé Apple à enterrer le projet en décembre 2022 parce qu'ils se sont rendu compte que ce n'était pas suffisamment fiable et efficace.

Reste la question qui nous intéresse tous : Comment se protéger de ce viol de notre vie privée ?

D'abord, débarrassez-vous de deux illusions. Votre VPN ne sert à rien contre ce truc, parce qu'il chiffre le tuyau, mais pas votre message au moment où vos doigts le tapent. Et votre navigation privée non plus.

Le scan côté client en fait, c'est un mouchard qui lit sur votre appareil, avant le chiffrement et ni le VPN ni le chiffrement de bout en bout ne peuvent faire quoi que ce soit si l'application ou le système d'exploitation coopère. Et une app dont vous ne pouvez pas lire le code, bah vous n'avez aucun moyen de savoir ce qu'elle regarde avant d'envoyer.

Ce qui marche vraiment par contre, c'est de foutre le camp des services que ce texte vise, c'est à dire ceux qui ne chiffrent pas de bout en bout. J'avais fait le tour des messageries sécurisées il y a un moment, et où on en est en 2026.

  • Messageries : Signal (AGPL, mais l'inscription réclame toujours un numéro de téléphone, les usernames introduits en 2024 servent juste à ne pas le filer à vos contacts), SimpleX Chat (aucun identifiant utilisateur, ni numéro ni email, c'est le seul), Molly (un Signal durci pour Android, sans les services Google), Briar (pas de serveur du tout, ça passe par Tor, le Wi-Fi local ou le Bluetooth).
  • Mail : Tuta chiffre le corps, le sujet et le nom de l'expéditeur. Mais pas les adresses ni la date (le protocole ne le permet pas). Proton Mail chiffre le sujet et les adresses au repos, sans aller jusqu'au bout en bout, une limite héritée de PGP. Les deux savent quand même envoyer un vrai message chiffré à quelqu'un qui n'est pas chez eux, par mot de passe partagé ou avec PGP. Dans les deux cas vous quittez Gmail, c'est déjà l'essentiel.
  • Chiffrer avant d'envoyer : Cryptomator , age ou GnuPG. Votre fichier part déjà illisible, l'app qui le transporte n'a plus rien à lire. Hop, problème réglé, quelle que soit votre messagerie.
  • Le téléphone : GrapheneOS , uniquement sur Pixel. Le bac à sable durci et les Storage Scopes limitent ce qu'une app peut fouiller. Honnêtement, ça ne bloque rien si c'est l'app elle-même qui scanne. Mais ça réduit la surface.

Tout ceci est parfaitement légal, et non, vous n'avez pas à vous cacher pour le faire. L'article 30 de la LCEN le dit noir sur blanc depuis 2004 : "L'utilisation des moyens de cryptologie est libre."

Sachez seulement que dans une procédure judiciaire, l'article 434-15-2 du code pénal punit le refus de remettre une clé de déchiffrement aux autorités. Vous avez donc le droit de chiffrer, mais pas de mentir au juge.

Le site exitchatcontrol.org recense tout ça et beaucoup plus, service par service, avec les alternatives testées et l'argumentaire qui va avec. Allez y faire un tour, c'est du bon boulot ! Et si vous voulez écrire à votre eurodéputé, fightchatcontrol.eu vous prépare le mail.

exitchatcontrol.org existe en français, avec son encart daté du 9 juillet

Ensuite, pour les recours, je vais être franc avec vous, attaquer le texte devant la Cour de justice de l'UE, ça va être compliqué car depuis l'arrêt Plaumann de 1963, un particulier doit prouver qu'un règlement le touche "individuellement", ce que vous ne pourrez jamais démontrer face à une surveillance de masse qui vise tout le monde pareil.

La vraie porte de sortie est ailleurs je pense. Elle se trouve dans la question préjudicielle, quand une juridiction nationale interroge la Cour. C'est en tout cas comme ça que La Quadrature du Net a fait tomber la conservation généralisée des données en 2020.

Et la Cour européenne des droits de l'homme a déjà tranché sur le chiffrement, dans Podchasov contre la Russie en février 2024 : affaiblir le chiffrement "permettrait apparemment, d'un point de vue technique, de mener une surveillance systématique, générale et sans distinction".

Voilà, maintenant le VRAI rendez-vous, c'est septembre. Le texte de jeudi repart au Conseil, qui a 3 mois pour avaler l'exclusion du chiffrement ou la recracher, auquel cas tout le monde part en conciliation. Et surtout, Chat Control 2.0 reprend à l'automne sous présidence irlandaise, avec le scan obligatoire, la vérification d'âge et la fin de l'anonymat dans le paquet. Devant le même Parlement, avec j'imagine les mêmes branles couilles absents, ceux-là mêmes qui, quand l'Allemagne avait dit non , s'étaient bien gardés de dire quoi que ce soit.

Alors oui, Big Brother a avancé ses pions ce jeudi mais moi ce que je retiens aussi c'est qu'un texte rejeté par la majorité des votants est passé grâce à des chaises vides et ça recommencera en septembre si vous n'allez pas secouer vos députés européens. Trois ans de débats pour en arriver là, avec un truc médiocre qui marche pas et qui met nos démocraties en danger, je trouve ça tellement triste...

Bref, n'oubliez pas, ACTA aussi c'était plié d'avance, jusqu'à ce que tout le monde s'y mette.

Rendez-vous en septembre !

Source

Firefox dans Docker - Le navigateur jetable pour surfer sans flipper

On reçoit tous des mails un peu bizarres avec des liens qu'on n'ose pas ouvrir, et pourtant on est curieux, on est tenté parfois... C'est difficile de résister mais heureusement l'équipe de Linuxserver.io a pondu un truc super pour ça.

Il s'agit tout simplement d'une instance de Firefox qui tourne dans un conteneur Docker et qui est totalement pilotable depuis votre navigateur habituel.

Comme ça, quand vous recevez un lien louche que vous voulez ouvrir, vous le mettez là-dedans, dans une session jetable qui est totalement coupée de votre vraie machine. Et comme ça, si ça part en couille, vous butez le conteneur et on n'en parle plus.

Voilà, ça se présente juste comme une page HTTPS avec un navigateur dedans. Et comme c'est LinuxServer qui maintient l'image, vous êtes tranquilles parce que c'est du sérieux.

L'avantage d'avoir ce truc, c'est qu'un Firefox en conteneur ne voit ni votre répertoire personnel, ni vos cookies, ni vos sessions Google, ni vos extensions, absolument rien, il est totalement isolé. Donc si un site tente un drive-by download ou un exploit navigateur, eh bien en principe les dégâts resteront coincés dans le conteneur. Et le simple fait de le redémarrer remettra tout à 0.

Attention quand même, un conteneur, ce n'est pas une machine virtuelle. Une vulnérabilité au niveau du noyau pourrait en théorie s'en échapper. Mais c'est pas le genre d'attaque qui se fait avec juste un clic douteux sur une page web.

Les chercheurs en sécu s'en servent pour ouvrir des pièces jointes chelou, les marketeux pour jongler avec 12 comptes ad sans cookie cross-tracking , et les paranos dans mon genre pour cliquer sur les liens des mecs bizarres de Discord sans rien flinguer chez eux..

Après y'a des petits inconvénients. Je pense aux perfs graphiques qui prennent une claque par rapport à un Firefox natif ou encore l'audio qui transite par le pipeline du navigateur, du coup ça crachote parfois sur les vidéos lourdes. Le copier-coller marche, mais en passant par la section presse-papiers de la barre latérale Selkies , pas en direct. Et la persistance ne tient que si vous mappez le volume /config comme il faut, sinon vos onglets et vos bookmarks gicleront dès que le conteneur sera recréé (à la première mise à jour d'image, typiquement).

Côté vie privée c'est plutôt une qualité mais pour un usage quotidien, ça peut devenir relou.

Installation en une commande

L'image officielle, c'est lscr.io/linuxserver/firefox:latest. Elle tourne sur Selkies depuis juin 2025 (avant c'était KasmVNC) et démarre en Wayland par défaut depuis mars 2026. Maintenant, si un site part en vrille à cause de ça, vous ajoutez le paramètre PIXELFLUX_WAYLAND=false à la commande Docker et vous serez de retour en X11.

La commande minimale ressemble à ça :

docker run -d \
--name=firefox \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/Paris \
-e LC_ALL=fr_FR.UTF-8 \
-p 3001:3001 \
-v $HOME/firefox-config:/config \
--shm-size=1gb \
--restart unless-stopped \
lscr.io/linuxserver/firefox:latest

Le --shm-size=1gb, c'est la mémoire partagée de Docker et vous n'y couperez pas, désolé. Si vous le zappez, YouTube comme les sites un peu lourds vous planteront le navigateur. Le port 3001, c'est l'accès HTTPS, avec un certificat auto-signé qui fera râler votre Firefox principal (c'est normal, faut l'accepter). Y'a aussi un port 3000, mais lui c'est du HTTP en clair, à réserver derrière un reverse proxy genre SWAG et rien d'autre.

Ensuite, direction https://localhost:3001/ et un joli Firefox vous attend. Notez que par défaut, il n'y a AUCUNE authentification. Personne ne vous demande rien, alors si vous voulez l'exposer sur votre réseau, définissez bien un CUSTOM_USER et PASSWORD pour activer le basic auth avant qu'un petit malin de votre réseau ne tombe dessus.

La version docker-compose, plus propre

Envie d'un setup versionnable, que vous pouvez reproduire ailleurs sans réfléchir ? Le compose fait ça mieux :

---
services:
firefox:
image: lscr.io/linuxserver/firefox:latest
container_name: firefox
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- LC_ALL=fr_FR.UTF-8
- CUSTOM_USER=korben
- PASSWORD=changezmoi
- HARDEN_DESKTOP=true
- HARDEN_OPENBOX=true
volumes:
- ./firefox-config:/config
ports:
- 3001:3001
shm_size: "1gb"
restart: unless-stopped

Ensuite, un docker compose up -d et roulez jeunesse. Le volume ./firefox-config conserve votre profil entre deux redémarrages avec bookmarks, extensions installées depuis le store Mozilla, tout reste en place.

Et si vous avez envie de repartir de zéro, on met le dossier à la poubelle, on relance, et voilà. Et pour glisser des outils tiers dans le conteneur (filezilla, un éditeur, ce genre de bidule), [proot-apps install](https://github.com/linuxserver/proot-apps) les posera dans $HOME, où ils survivront aux mises à jour de l'image.

Le hardening qu'il faut absolument activer

Maintenant, le piège que la doc évoque du bout des lèvres et qui mérite d'être écrit en gros c'est que l'interface web embarque un terminal avec sudo passwordless . Traduction : quiconque accède à votre Firefox conteneurisé devient root dans le conteneur en deux clics. Exposez ça sur votre réseau, ou pire sur Internet, sans durcir le machin, et vous ouvrez un boulevard.

La parade tient en une variable : **HARDEN_DESKTOP=true**, qui pose les principaux verrous d'un coup. Ça coupe sudo, ça vire les terminaux, et ça bloque xdg-open et exo-open, qui pourraient lancer des trucs hors conteneur. Vous pouvez empiler ça avec HARDEN_OPENBOX=true par-dessus, histoire de neutraliser les raccourcis clavier dangereux genre Alt+F4, de désactiver le clic droit et de masquer le bouton de fermeture. Firefox reste parfaitement utilisable, mais impossible de s'évader pour faire mumuse avec le système derrière.

Et pour une exposition sur Internet, le basic auth CUSTOM_USER/PASSWORD ne suffira pas car c'est trop léger. Moi ce que je vous recommande, c'est de coller le tout derrière un reverse proxy SWAG avec une vraie couche OAuth2 ou Authelia. Le basic auth, gardez-le pour le LAN entre potes ou collègues de confiance, mais pas au-delà.

SealSkin, le bonus qui change tout

SealSkin , c'est la cerise sur le conteneur ^^. C'est une extension navigateur, dispo pour Chrome et Firefox, qui monte la garde sur votre navigateur principal et détourne ce qui sent mauvais vers le conteneur isolé. Un lien repéré comme suspect ? Hop, il s'ouvre direct dans le Firefox conteneurisé. Pareil pour les téléchargements, qui atterrissent dans le conteneur au lieu de finir sur votre machine.

Du coup, l'isolation devient un réflexe permanent au lieu d'un machin que vous activez à la main quand vous y pensez (c'est-à-dire jamais). Seule contrainte par contre, faudra héberger le serveur SealSkin vous-même, et installer l'extension dans votre vrai Firefox. Mais vous verrez, après quelques jours à ce régime, vous aurez du mal à faire autrement.

Et sur tablette ou mobile ?

J'imagine que vous comptiez sur l'ancien tag kasm pour le tactile ? Eh bien c'est raté, puisque LinuxServer l'a déprécié début juillet. En échange, la barre latérale Selkies embarque désormais un trackpad virtuel et un clavier à l'écran, donc de quoi rendre l'interface utilisable depuis un iPad ou un smartphone sans bidouille en plus. On reste loin, c'est vrai, du confort d'un vrai desktop, et taper Ctrl+Tab au doigt c'est toujours la misère, mais pour dépanner ça fait le job.

Et voilà, votre Firefox jetable vit désormais dans son petit conteneur, bien au chaud. Comme ça, le prochain lien douteux, vous l'ouvrirez sans trembler... pour tester des sites au calme, difficile de trouver mieux, je pense.

GDID Windows - Coupez le mouchard qui vous traque même sous VPN

Comme je vous le disais tout à l'heure, en avril 2026, le FBI a coincé un membre présumé de Scattered Spider. Le mec planquait son trafic derrière un VPN, avec des IP dans trois pays différents. Et devinez quoi ? Ce n'est pas une fausse manip qui l'a balancé mais un identifiant que votre Windows se trimballe H24 et que Microsoft refile aux autorités quand elles le demandent : le GDID. Je vous en ai déjà causé dans cet article , et après avoir écrit l'article, je me suis demandé si on pouvait le virer.

Du coup j'ai monté une petite VM Windows 11 Pro et j'ai mis les mains dedans en me faisant assister de mon LLM préféré et voilà ce que j'ai trouvé. Ce qui marche, et surtout ce qui ne marche pas du tout, vous allez voir.

Déjà, faut comprendre ce qu'est ce GDID. C'est pas le numéro de série de votre carte mère, c'est pas un hash en lien avec votre matos. Non, c'est un PUID de 64 bits, c'est-à-dire un identifiant que les serveurs de Microsoft collent à votre compte dès que vous ouvrez une session Windows. Il est écrit en clair dans votre registre, votre machine l'enregistre dans un annuaire côté Microsoft, et un service le fait remonter peinard quand c'est nécessaire. Et si vous changez d'IP avec un VPN, bah lui il s'en fout. Le GDID ne bouge pas d'un poil.

Regardez votre propre mouchard en face

On commence par le voir de nos yeux. Ouvrez un PowerShell et collez ça :

$lid=(Get-ItemProperty 'HKCU:\SOFTWARE\Microsoft\IdentityCRL\ExtendedProperties').LID
"g:$([Convert]::ToUInt64($lid,16))"

Sur ma VM, ça m'a craché g:6755487812206045. C'est celui que Microsoft peut raccrocher à tout ce que je fais. (En théorie hein, parce que c'est le code qui est associé à ma VM, donc je m'en fous et c'est pour ça que je vous le montre).

Vous venez de lire l'étiquette qu'on vous a collée dans le dos.

Le supprimer ? Laissez tomber

Réflexe de base, on efface la clé dans la base de registres HKCU:\SOFTWARE\Microsoft\IdentityCRL\ExtendedProperties et hop, plus de mouchard. C'est ce que j'ai testé au début... J'ai shooté la valeur, redémarré le service qui s'en occupe, et là plus rien. Gagné ? Ben non. J'ai ouvert le Microsoft Store durant deux petites secondes, et le GDID est revenu. Et pas un nouveau, hein, LE MÊME !!

C'est ça qui est fou. C'est que votre GDID n'est pas planqué sur votre disque, il est planqué chez Microsoft, bien accroché à votre compte comme une moule à son rocher. Votre PC ne fait que le retélécharger encore et encore. Après si vous réinstallez tout, Windows vous donne un nouveau numéro, d'accord, mais l'ancien et tout ce qui y était rattaché restent tout de même bien au chaud sur leurs serveurs. Le passé, on le récupère jamais...

Couper la télémétrie ne change rien non plus

Un autre conseil qu'on voit partout, c'est de désactiver la télémétrie de Windows. Sur ma VM, le service de télémétrie classique était déjà à l'arrêt. Et pourtant mon GDID était là, bien lisible, et les services qui le font remonter tournaient à plein régime. Le mouchard ne passe pas par la télémétrie que vous croyez couper. Il passe ailleurs, par les services de la plateforme d'appareils connectés et de l'optimisation de distribution.

Vous pouvez donc cliquer sur tous les boutons vie privée des réglages, il s'en tape.

Fermer le robinet pour de vrai

Alors puisqu'on peut pas l'effacer, on va faire la seule chose qui est en notre pouvoir : L'empêcher de sortir. Et sans se déconnecter du compte Microsoft, histoire de garder un PC utilisable, hein.

Et pour ça, on a 2 leviers. Le premier, c'est de désactiver les services qui enregistrent et remontent les infos de votre machine. Le second, c'est de renvoyer les serveurs de Microsoft dans le décor simplement via le fichier hosts, comme ça même si les services qui mouchardent tournent, et bien ils ne peuvent plus joindre personne... Et surtout, on ne touche pas à login.live.com, sinon adieu la connexion à votre compte.

Toutefois, il y a un petit piège, vous vous en doutez... Le service qui fait remonter le GDID, DoSvc, refuse de se laisser désactiver par la voie normale. Même en admin, Windows vous balance "Accès refusé". La parade, c'est donc de le désactiver direct dans le registre, où l'admin a le droit d'écrire là où le gestionnaire de services vous bloque.

Maintenant pour faire ça, plutôt que de vous mettre des tonnes de lignes de code à copier-coller, j'ai tout regroupé dans des scripts propres, que j'ai testés, avec une commande pour tout remettre comme avant.

Le projet est là : no-gdid sur GitHub . Vous lancez d'abord l'audit en lecture seule pour voir où vous en êtes, puis les scripts de blocage en mode aperçu, et seulement après avec l'option qui applique vraiment. Testez dans une VM avec un snapshot avant de faire ça sur votre vraie bécane, parce qu'on désactive quand même des services système. Et si vous voulez juste couper le réseau d'un process précis sans tout ce cirque, ce bon vieux ProcNetBlocker fait déjà une partie du taf.

Allez c'est parti mon canard !

Ouvrez un PowerShell en administrateur, et la première fois faites-le dans une VM avec un snapshot histoire de tester et de vous familiariser avec les commandes. Étape 1, on clone le projet :

winget install --id Git.Git
git clone https://github.com/Korben00/no-gdid
cd no-gdid

D'abord on regarde sa propre situation. Cet audit est en lecture seule, il ne modifie rien, il vous affiche juste votre GDID et quels services de la chaîne tournent :

powershell -ExecutionPolicy Bypass -File .\audit\Get-GDID-Audit.ps1

Ensuite on regarde ce que la mitigation changerait, sans rien appliquer. Sans l'option -Apply, les deux scripts tournent en mode aperçu et se contentent de lister ce qu'ils feraient :

powershell -ExecutionPolicy Bypass -File .\mitigate\Disable-GDID-Services.ps1
powershell -ExecutionPolicy Bypass -File .\mitigate\Block-GDID-Endpoints.ps1

Si ça vous va, on coupe pour de vrai. Cette fois on ajoute -Apply : les services qui enregistrent et remontent l'appareil sont désactivés, et les serveurs de Microsoft correspondants sont renvoyés dans le vide via le fichier hosts. Votre compte Microsoft, lui, reste connecté :

powershell -ExecutionPolicy Bypass -File .\mitigate\Disable-GDID-Services.ps1 -Apply
powershell -ExecutionPolicy Bypass -File .\mitigate\Block-GDID-Endpoints.ps1 -Apply

Et pour tout remettre comme avant, une seule commande :

powershell -ExecutionPolicy Bypass -File .\mitigate\Revert-GDID.ps1

Une fois appliqué, tout redeviendra calme... les services d'enregistrement seront à l'arrêt, leurs serveurs injoignables, et votre compte Microsoft restera toujours connecté. Le GDID reste bien évidemment lisible sur le disque, mais il ne remontera plus chez Microsoft.

La vérité qui pique

Après, je ne vais pas faire un tuto qui vous vend du rêve. Ces manips réduisent ce que Microsoft pourra corréler à l'avenir mais elles n'effacent pas votre GDID, qui traîne sur leurs serveurs depuis votre toute première connexion, et elles ne vous rendent pas anonyme. Ensuite, passer en compte local comme j'ai pu le lire ailleurs supprime le chemin qu'on vient de bloquer, mais rien ne prouve encore qu'un identifiant anonyme ne prend pas le relais derrière.

La seule vraie parade solide pour une activité sensible, est plus brutale : ne pas faire cette activité sous Windows. Un Linux live par exemple offre un contrôle total de ce qui sort de votre machine. Le reste, c'est que de la réduction des dégâts, rien de plus.

Voilà, défendre sa vie privée, ça commence par savoir ce qu'on vous colle sur le dos et maintenant vous le savez. Pas merci Microsoft.

Source : The Register et le reverse engineering de SmtimesIWndr .

Wealthfolio - Suivez vos investissements sans les filer au cloud

Si vous êtes une grosse feignasse et que votre seul plan pour gratter un peu de thunes, c'est pas juste de bosser, mais de vous faire adopter par un vieux en espérant qu'il y passe très vite, cet article ne va pas vous intéresser, désolé.

Par contre, si vous économisez, que vous avez mis un petit peu d'argent en bourse, si vous avez investi dans les cryptos ou que sais-je encore, je pense que cet outil va vous être utile.

Wealthfolio, imaginé par afadil, c'est une application de bureau open source qui range tout ça au même endroit : vos comptes d'investissement, votre patrimoine, vos dépenses, et même des simulations pour vos vieux jours. Le parti pris est radical puisque tout reste en local sur votre machine. C'est donc juste une base SQLite posée sur votre disque là où un Finary par exemple, agrège tout sur ses serveurs.

Une fois installé, vous balancez tout dedans. Compte courant, épargne, actions, ETF, crypto, le cash qui dort et l'application vous recrache votre patrimoine net ainsi que la vue d'ensemble que vous n'avez peut-être jamais eue (Surtout si votre banque c'est la Caisse d'Epargne... loool).

Même votre appartement / maison, la voiture, les métaux précieux, et compagnie ça rentre dedans aussi. Ah et vos dettes surtout, parce que le vrai chiffre inclut aussi ce qui fâche, et pas seulement la colonne qui fait plaisir.

Maintenant concernant les dépenses, ça fait à peu près ce qu'on peut retrouver sur des banques en ligne, c'est-à-dire que ça catégorise toutes vos transactions et ensuite ça vous monte des budgets un peu comme ce que propose ReSubs mais élargi à toute votre thune et pas seulement à vos abonnements.

À vous ensuite de définir une allocation cible comme ça quand votre portefeuille s'en écartera, et bien Wealthfolio vous pondra un joli plan de rebalancing qui vous aidera à rentrer dans le rang fissa et ainsi éviter de finir interdit bancaire.

Ajoutez à ça un chouette tableau de bord avec les performances de vos investissements et de vos comptes. Et si vous menez bien votre barque, vous verrez aussi vos dividendes au même endroit.

Ah et puis le truc qui va finir de vous convaincre, c'est le simulateur de retraite inclus. En gros, vous lui donnez tout votre portefeuille et lui il le projette année par année avec des simulations qu'on appelle Monte Carlo . Et là ensuite, eh bien ce sera soit la douche froide, soit la bouteille de champagne, car vous saurez immédiatement si votre plan FIRE tient debout ou si vous vous racontiez des histoires depuis le début.

C'est une capture d'écran que j'ai prise sur le site, donc venez pas me cambrioler, hein ^^

Et puis comme en 2026, un outil sans IA n'est pas un vrai outil (lol) sachez qu'il y a également un assistant IA à qui vous pourrez demander en langage naturel d'interroger votre portefeuille. Par exemple vous pourrez lui dire, "Hey assistant, combien est-ce que j'ai gagné avec mes ETF cette année ?". Et rassurez-vous, les accros à la vie privée, ça peut tourner avec un modèle local via Ollama.

Wealthfolio propose également un outil d'import CSV mais vous pouvez aussi tout saisir manuellement. Aaah l'époque a changé depuis Microsoft Budget surtout que là, vous avez même de la synchro automatique via l'offre payante, si vous voulez brancher ça avec les systèmes de vos courtiers.

Si le concept vous rappelle Maybe Finance , c'est logique, c'est la même famille open source. Sauf que Maybe est une appli web que vous devez auto-héberger vous-même avec Docker, là où Wealthfolio est une vraie application de bureau que vous installez comme n'importe quel logiciel. C'est dispo sous macOS, Windows et Linux, et il y a même une version iOS et Android qui devraient arriver très bientôt. Quant aux plus tordus qui tiennent absolument à leur version web, ça s'auto-héberge en Docker.

Un truc à savoir quand même avant de foncer, la partie fiscale vise les Américains et les Canadiens donc pas de PEA ni d'assurance-vie française là-dedans. Du coup pour coller au fisc hexagonal vous devrez ruser et faire vos trucs à la main ou développer vos propres plugins. Après en ce qui concerne le cœur du bazar, c'est-à-dire suivre son portefeuille et son patrimoine, ça fera bien le taf pour tout le monde.

Le tout sous licence AGPL, code ouvert et forkable, directement sur GitHub et l'app se télécharge sur wealthfolio.app .

Google veut scanner votre main pour prouver que vous êtes humain

Google en a marre que les IA passent ses CAPTCHA les doigts dans le nez, alors sa nouvelle idée de génie à la con pour vérifier que vous êtes bien humain, ça va bientôt être de vous faire agiter la main devant votre webcam.

"Hé COUCOU le CAPTCHA !"

Vous autorisez la caméra, vous faites un petit geste la paume grande ouverte, et Google extrait de la vidéo ce qui s'appelle des hand landmark data, soit 21 points de repère sur les articulations de vos doigts. En gros c'est la carte de votre paluche, branchée sur Google Cloud Fraud Defense, leur brique anti-fraude maison.

Mais alors pourquoi vos grosses mains pleines de poils ?? Seraient-ils fétichistes ?

Hé bien parce que tout d'abord, les CAPTCHA visuels type "cliquez sur les feux de circulation" sont devenus une vraie formalité pour les agents IA qui les résolvent à tous les coups .

Sauf que vous vous en doutez, les humains sont malins comme des singes et ont déjà réussi à bernet le machin avec une simple photo de banque d'images brandie devant la webcam. Ça la fout mal hein ?

En plus, comme les anciens captchas restent dispo pour tous les gens qui n'ont pas de bras ou qui ne peuvent pas bouger, hé bien c'est toujours contournable comme avant. Je me demande vraiment à quoi tout ça rime, soit quelque chose m'échappe, soit c'est stupide... Breeeef.

Côté vie privée, Google jure sur la tête de ses morts que toutes les vidéos et les photos prises par le CAPTCHA sont supprimées une fois le défi relevé, qu'aucun son n'est enregistré et que rien n'est associé à votre identité mais peu importe ce qu'ils nous baragouinent, on n'a aucun moyen de le vérifier de toute façon.

Puis que ce soit votre main, votre visage ou vos fesses, prendre 21 points de mesure sur votre anatomie, ça reste de la biométrie quand même. Rien qu'avec ça, vous pouvez identifier une personne avec 99% de précision... Donc n'allez pas me dire qu'ils n'ont pas autre chose en tête avec cette connerie.

Et je vous parle pas du fait que la caméra chope tout ce qu'il y a autour de vous, votre tête bien sûr, mais aussi vos papiers qui trainent sur le bureau, ce qu'il y a sur un écran, vos bouquins dans l'armoire, la tête de vos gosses dans un cadre et que sais-je encore. C'est beaucoup trop d'infos perso récupérées juste pour pouvoir être identifié comme un humain, je trouve.

Quoiqu'il en soit, si montrer patte blanche à Google vous refroidit, y'a des alternatives comme ALTCHA ne balancent pas vos données à Mountain View, que les sites peuvent mettre en place.

Mais ça va être à vous de faire votre propre lobbying pour que les sites les adoptent.

Source : Tom's Hardware

Claude Code planquait un mouchard dans la date du prompt

Vous utilisez Claude Code tous les jours pour coder, et pendant ce temps-là l'outil d'Anthropic utilisé par des milliers de dev, joue les mouchards. Thereallo , un développeur qui fouillait le binaire par simple souci de vie privée, est tombé sur une fonction qui apparemment modifie en douce la ligne "Today's date is…" du system prompt. Pas le texte que vous lisez ou écrivez mais littéralement l'apostrophe et le tiret de la date.

2 petits caractères auxquels vous ne faites pas gaffe, et qui pourtant peuvent en dire beaucoup...

En gros, c'est de la stéganographie , c'est-à-dire l'art de cacher une info à la vue de tous. Claude Code échange l'apostrophe de "Today's" contre son jumeau Unicode invisible (U+2019, U+02BC ou U+02B9 selon les cas) et remplace au passage les tirets de la date par des slashs.

function Zup() {
if (Crt()) return null;
let host = Qup();
let timezone = e0t();
let cnTZ = timezone === "Asia/Shanghai" || timezone === "Asia/Urumqi";
if (!host) {
return {
known: false,
labKw: false,
cnTZ,
host: null,
};
}
return {
known: Jup().some((domain) => host === domain || host.endsWith("." + domain)),
labKw: Xup().some((keyword) => host.includes(keyword)),
cnTZ,
host,
};
}
function edp(known, labKw) {
if (!known && !labKw) return "'";
if (known && !labKw) return "\u2019";
if (!known && labKw) return "\u02BC";
return "\u02B9";
}
function Vla(date) {
let marker = Zup();
let apostrophe = edp(marker?.known ?? false, marker?.labKw ?? false);
let renderedDate = marker?.cnTZ ? date.replaceAll("-", "/") : date;
return `Today${apostrophe}s date is ${renderedDate}.`;
}

Tout ceci ne se produit que quand vous avez bidouillé la variable ANTHROPIC_BASE_URL afin de router vos requêtes ailleurs que chez Anthropic et si et seulement si le nom de domaine est dans une liste précise. Ou alors si votre fuseau horaire est réglé sur Shanghai ou Urumqi en Asie.

Mais c'est que ça m'a l'air hyper spécifique ça quand même... Qui est ce qu'Anthropic chercherait à tracer ?? Je me le demande bien.

Reste que le contenu de cette fameuse liste a de quoi faire tiquer. Tout d'abord, elle n'est pas en clair. C'est du base64 passé à la moulinette avec un XOR et la clé 91. Et une fois décodée, on y trouve des mots-clés comme deepseek, moonshot, zhipu ou baichuan, et une flopée de domaines chinois (baidu, alibaba, bytedance, jd) plus tout un tas de proxys et de revendeurs d'accès Claude.

Si vous n'avez pas le cerveau trop lent, vous l'aurez compris, ce marqueur sert à repérer les gens qui font tourner Claude Code à travers des intermédiaires chinois. Et Anthropic n'a pas nié.

Thariq Shihipar, qui bosse sur Claude Code, a expliqué sur X que c'était une expérience lancée en mars pour empêcher la distillation , cette technique où un concurrent aspire les réponses d'un modèle pour entraîner le sien à moindre coût. C'est exactement le reproche que la boîte fait à Alibaba.

Vu sous cet angle, vouloir détecter les revendeurs pirates et les pipelines de distillation, ça se défend donc très bien. Mais la méthode, aïe aïe aie, elle est plus que discutable car ça manque sévèrement de transparence.

Ce code dormait là depuis la version 2.1.91 sortie début avril, ni vu ni connu. En plus, c'est un peu couillon parce qu'en plus d'abîmer la confiance des utilisateurs de Claude Code qui se demandent quel autre mystère renferme cet outil, ça se déjoue en quelques secondes. Il suffit de changer de fuseau horaire, de changer de domaine ou de le patcher. Bref, ça n'a pas dû piéger grand monde...

Le marqueur a été retiré dans la foulée avec la version 2.1.197 donc pensez bien à mettre à jour votre install.

Source

Hide My Email - La faille qui crame votre vraie adresse mail

Si vous utilisez Hide My Email d'Apple pour éviter de balancer votre vraie adresse mail à tous les sites qui vous la réclament, j'ai une mauvaise nouvelle les amis ! Tyler Murphy, cofondateur d'EasyOptOuts a découvert une entourloupe qui permettrait de remonter jusqu'à votre vraie adresse email... Ça craint ! Et cette faille serait dans la nature depuis plus d'un an !

Argh !

Alors petit rappel pour ceux qui ne connaissent pas Hide My Email. C'est une fonction liée à iCloud+ qui vous permet de générer des adresses jetables en @icloud.com. Vous vous inscrivez quelque part avec un alias bidon, et ensuite les mails sont redirigés vers votre boîte réelle, et comme ça le site ne voit jamais votre adresse perso. Mais dans ses tests d'exploitation, Tyler Murphy a eu un taux de succès de 100% avec tous ces alias révélant leur vrai propriétaire. Donc si vous avez des alias Hide My Email en cours d'usage, partez du principe qu'ils sont peut-être grillés.

C'est 404 Media, qui a sorti l'info, et malheureusement, ils ne détaillent pas la technique parce que pour le moment, ça fonctionne encore et ce n'est pas patché. Faut dire qu'une fois votre vraie adresse récupérée par quelqu'un de mal intentionné, celui-ci peut la recouper du contenu trouvable en ligne ou sur le dark net pour retrouver votre nom, vos autres comptes, et tout ce que Hide My Email était censé empêcher.

Mais le plus gênant dans cette histoire, c'est la gestion merdique du problème par Apple. En effet, Murphy signale le bug en juin 2024 et Apple répond un mois plus tard qu'ils ont lancé une enquête en interne. Puis en mars de cette année, ils annoncent avoir corrigé le souci, sauf que non. Murphy vérifie et la faille est toujours là. Alors en mai, Apple change de disque et lui demande carrément de la fermer : "nous vous serions reconnaissants de ne pas divulguer ces informations tant que notre enquête n'est pas terminée". Bref, taisez-vous pendant qu'on ne corrige rien ^^.

Alors le gars en a eu marre. Il a estimé que les utilisateurs de Hide My Email méritaient de savoir alors il a décidé de parler et je pense que pour ça, on peut le remercier ! Apple va peut-être finir par se bouger le cul.

Et nous en attendant, on fait quoi alors ? Hé bien pas grand-chose parce que tant que côté Apple y'a pas de patch, y'a rien à faire. Mais sachez le, rien ne vous oblige à mettre tous vos œufs dans le même panier donc si vous voulez des alias sur lesquels vous gardez vraiment la main, il existe des solutions maison comme générer vos propres adresses jetables via Cloudflare avec votre nom de domaine ou encore passer par la crème de la crème des services d'emails jetables .

Source : 404 Media

Fingerprint Defender - Brouiller son empreinte sur Firefox

Si vous me lisez depuis longtemps, vous savez forcément que le Fingerprinting est une technique de pistage qui permet de vous identifier en mesurant les petites particularités de votre navigateur telles que les polices installées, votre carte graphique, la résolution de votre écran et j'en passe. Toutes ces petites choses mises bout à bout forment ainsi une empreinte quasi unique. Hé c'est exactement contre ça que Digital Fracture, un petit studio anglais situé dans la ville de Poole, vient de sortir Fingerprint Defender pour Firefox.

La plupart des outils anti-pistage mentent sur tout : faux user-agent, faux écran, faux GPU sauf que mentir, ça vous rend encore plus repérable. Bah oui, un browser qui prétend être 3 machines à la fois, ça se repère vite.

Du coup, Fingerprint Defender fait l'inverse : il randomise seulement les surfaces qui servent à vous tracer, et laisse passer vos vraies valeurs communes pour que vous ressembliez à tout le monde.

Ainsi, chaque session il ajoute un léger bruit aléatoire sur le canvas, sur la sortie audio de l'AudioContext et sur les mesures de position des éléments de la page. Il bloque aussi les fuites d'IP par WebRTC et coupe l'API Battery Status (que Firefox planque déjà aux sites depuis des années, mais bon). Et pour l'écran, il annonce du 1920x1080, la résolution la plus banale qui soit !

Et surtout, il laisse volontairement passer votre WebGL, votre fuseau horaire, vos polices et votre user-agent réels. Pourquoi me direz-vous ?? Eh bien parce que ce sont des valeurs que des millions de gens partagent donc c'est complètement inutile de les falsifier. Ça vous complique juste la vie.

Le pari de "se fondre dans la masse" est bien meilleur qu'un spoofer naïf, et la recherche sur le sujet (le fameux Panopticlick de l'EFF ) montre bien que la protection vraiment béton, c'est l'uniformité totale. Il faut faire en sorte que tous les utilisateurs soient strictement identiques, comme le fait Tor Browser.

Après Firefox fait déjà une bonne partie du boulot nativement... j'en avais parlé quand Firefox a musclé sa protection contre le pistage par empreinte . Et si vous aimez bricoler vos réglages, vous serez content d'apprendre qu'il existe plein d'autres façons de réduire les traces que vous laissez sur Firefox . Mais cette extension dont je vous parle aujourd'hui peut parfaitement venir se rajouter à ça.

Après bon, c'est une extension Firefox donc on peut l'ouvrir pour mater les sources directement mais sachez que bien que ce soit sous licence MPL 2.0 (Mozilla), y'a aucun répo public. Snif...

À tester par curiosité, même si c'est à ne pas confondre avec Tor, lol.

Les flux RSS c'est la vie !

J'aime bien lire les articles de l'EFF (l'Electronic Frontier Foundation, la Quadrature du Net des américains quoi...) et là ils viennent de publier un truc qui m'a fait plaisir : un vrai plaidoyer pour la défense du RSS .

Vous connaissez mon avis là-dessus et c'est vrai que depuis que Google a signé l'arrêt de mort de cette techno au profit d'algo à la con type Discover , y'a énormément moins de monde qui l'utilise. Et je trouve ça triste.

Alors que les flux RSS, c'est la liberté ! Ça décloisonne le contenu d'un site pour le faire atterrir dans l'appli de votre choix, ça permet d'en extraire des choses, de le faire traiter par exemple par un programme...etc. Et surtout c'est vous qui gérez la façon dont vous voyez le contenu. Vous pouvez le filtrer, l'ordonner comme vous voulez et surtout le lire avec le lecteur de flux de votre choix.

C'est super pratique, et ça permet par exemple de parcourir uniquement les titres des articles, et de ne s'arrêter que sur ceux qui vous intéressent. Moi y'a plein de trucs qui m'intéressent en ce moment et que j'ai envie de partager. Je suis hyper actif et atteint de FOMO, donc ça bombarde. En plus j'ai que ça à foutre de la journée en général, donc bon, désolé ! ^^ Mais heureusement, avec les flux RSS vous pouvez faire une sélection plus fine et éviter de lire des trucs qui ne vous intéressent pas.

Perso, ça fait des années que je fais de la veille, c'est une partie importante de mon boulot. J'ai commencé sur un lecteur de flux tout pourri, puis je suis passé par Netvibes, Google Reader (paix à son âme), puis Feedly et aujourd'hui j'expérimente Inoreader. Le RSS ne m'a jamais quitté et quand les sites n'en proposent pas, je m'arrange toujours avec des scripts ou des outils customs pour m'en faire un que je peux importer dans mon lecteur !

J'aime tellement ça que sur korben.info, je vous propose des flux RSS complets (qui contiennent tout le contenu). Le premier, /feed , c'est le flux tech que vous connaissez, historique, exactement comme vous l'aimez. Que de la techno, du code, de la sécu, de l'open source.

Et le petit nouveau c'est /feedfull , qui propose les mêmes sujets tech qu'au-dessus + des sujets un peu plus grand public / mainstream. Dernièrement, j'avais envie d'ouvrir un peu plus les portes du site et écrire aussi pour ceux qui ne bidouillent pas et qui veulent juste être au courant d'un truc utile ou deux. Et heureusement, Vincent m'aide dans cette nouvelle aventure !

Bref, c'est vous qui choisissez votre flux, je ne vous l'impose pas ! Et c'est la même logique sur la page d'accueil avec ce petit switch dans le header.

"Complet", c'est l'affichage par défaut, vous voyez tout. Et si vous cliquez sur "Techos", hop, le contenu grand public disparaît. Votre choix est mémorisé dans le local storage de votre navigateur, et voilà.

Si vous n'avez pas encore de lecteur RSS, n'importe lequel fera l'affaire, de Feedly cité plus haut à un truc plus moderne comme MrRSS . Vous copiez l'adresse du flux, vous la collez, c'est réglé. Et tant qu'on y est, vous pouvez aussi reprendre la main sur votre actu côté Google avec cette manip.

Bref, deux flux, un switch, et c'est vous qui tenez la barre !

Source

PACT - Le token Cloudflare qui veut remplacer les CAPTCHA

Je viens d'apprendre que Cloudflare s'était associé à Chrome, Firefox et Edge pour régler un truc qui nous pourrit tous la vie sans que nous y pensions vraiment, à savoir prouver qu'on est des humains.

Leur projet s'appelle PACT pour Private Access Control Tokens, et l'idée c'est de remplacer les affreux CAPTCHA par un titi jeton cryptographique anonyme que votre browser baladera de sites en sites.

Alors comment ça fonctionne cette nouvelle connerie ?

Hé bien un site qui a déjà une bonne raison de vous croire humain, genre un service où vous avez un compte, émet un token anonyme. Votre navigateur le conserve, et quand vous débarquez ailleurs, il le présente comme une preuve que vous n'êtes ni un robot, ni un alien, ni un pervers narcissique manipulateur.

Comme vous avez passé le test une fois, vous n'avez donc plus à recliquer sur des feux tricolores et des passages piétons aux quatre coins du web... Et comme le token ne contient aucune donnée perso, le site qui le reçoit ne sait pas d'où il sort.

Derrière PACT, rien de sorcier niveau techno, c'est juste du Privacy Pass, l'architecture que l'IETF a posée noir sur blanc en 2024 avec les RFC 9576 à 9578 . Apple fait déjà exactement ça depuis 2022 avec ses Private Access Tokens planqués dans iOS 16 et macOS Ventura, et Cloudflare est même l'un de leurs émetteurs en production. Mais PACT, c'est la version next-gen de ce truc. Au lieu d'attester juste "cet appareil est un vrai iPhone", on atteste "il y a un humain dans la boucle". Les signatures RSA aveugles font que l'attesteur ne sait pas quel site vous visitez, et que le site, lui, ne sait pas qui vous êtes.

C'est plutôt une bonne idée, je trouve. Sauf que cette histoire de "personne", ça inclut aussi les bots autorisés. Genre votre agent IA qui réserve un billet de train ou fait vos courses pendant que vous dormez. Cloudflare veut également leur filer des tokens à eux aussi, pour les démarquer des crawlers sauvages qui pompent le web à l'aspirateur de chantier.

Et ça tombe bien, parce qu'aujourd'hui plus de la moitié du trafic web mondial, c'est déjà des bots.

Maintenant, le truc qui me chiffonne avec PACT c'est que ça crée mécaniquement un web à deux vitesses. D'un côté le trafic on aura le trafic "de confiance" avec son joli token, de l'autre tout le reste, traité comme suspect par défaut. Donc si vous surfez avec Tor, un navigateur exotique ou une config un peu trop cheloue, et que personne ne veut vous émettre de jeton parce que vous êtes un haxxor intransigeant avec sa vie privée, vous devenez un citoyen de seconde zone du web. Sans compter que ce serait ENCORE Cloudflare, déjà videur d'une énorme part d'Internet, qui se retrouvera à arbitrer qui mérite son laissez-passer.

Et puis ça ne règle pas le pistage. Le fingerprinting, votre IP, les mille autres signaux que votre navigateur balance dans la nature restent en place. PACT vire juste le CAPTCHA, mais pas la surveillance. Mozilla jure sur la tête de sa mère que sa participation sert justement à garder ce système ouvert, et j'avoue que je suis content qu'ils soient dans la même pièce que les autres filous, qui pourraient en profiter pour réécrire la norme entre eux. Maintenant, si ce qui reste de votre vie privée déjà bien publique avec toutes nos données perso qui ont fuitée, vous tient encore à cœur, un petit navigateur blindé comme LibreWolf ou un CAPTCHA qui ne vend pas vos clics tel que ALTCHA restent des choix plus sérieux que d'attendre un jeton de bonne conduite.

Voilà... Pour l'instant PACT n'est qu'un projet, sans date de sortie ni même de lieu de standardisation confirmé, et même si l'idée de virer les CAPTCHA est hyper séduisante, reste encore à savoir qui tiendra les clés du laissez-passer...

Source

❌