Je suis trop content, le numéro d'août du
magazine officiel Raspberry Pi
est sorti avec un dossier spécial cyberdeck en couverture, et ses 132 pages sont téléchargeables gratuitement en PDF.
Un cyberdeck, si ça ne vous dit rien, c'est un ordinateur portable bricolé à la main. Petit écran, clavier physique, look cyberpunk assumé. On fabrique la machine que le commerce ne vend pas, pour un usage qui n'appartient qu'à soi.
J'en ai déjà montré un
y'a pas longtemps, même si faut encore voir ce que ça donne une fois posé sur un bureau.
Le dossier de Raspberry Pi Magazine en aligne une dizaine. Un Amstrad PPC 640 de 1987 vidé de ses entrailles pour loger un Raspberry Pi 3 et une appli de narration qui se déclenche à l'insertion d'une disquette. Une machine à écrire Smith Corona de 1989 refaite à neuf autour d'un Raspberry Pi 4. Un sac à dos qui trimballe un labo mobile, radio logicielle et outils Kali Linux...etc. Y'a de quoi faire !
On y croise aussi un
Hackberry Pi
monté en outil de pentest, une pochette rose façon clutch avec un Pi Model A+, et le PiDex Doomsday Companion, caisse étanche à panneau solaire qui embarque Wikipedia sur clé USB.
Vient ensuite le montage pas à pas. Brian Corteil y déroule la construction d'une machine logée dans une
valise étanche de type Pelican
(lien affilié), avec un Raspberry Pi 5, un écran tactile 7 pouces, un clavier Bluetooth, une carte son USB et une batterie LiPo protégée par un fusible.
Et rassurez-vous, le tuto ne se contente pas d'aligner des références à commander sur Amazon... Non, il détaille même le calcul d'alimentation à faire à la main, I = P/V, soit 28 W et environ 5,6 A pour un Pi 5 et son écran à pleine luminosité. Il conseille également de prototyper en carton votre cyberdeck avant de vous lancer dans la CAO, et préfère un power bank au LiPo pour ceux qui ne veulent pas jouer avec les batteries (BOUM !).
Pour récupérer le fichier PDF du magazine, le lien passe d'abord par une page de don. Si vous êtes un gros radin, le bouton
No thanks, take me to the free PDF
déclenchera quand même le téléchargement sans compte ni adresse mail. C'est en anglais bien sûr et pour ceux qui aiment le toucher du papier, l'édition physique coûte 7,99 livres.
Ah et le contenu est sous licence Creative Commons BY-NC-SA 3.0, sauf mention contraire. Amusez-vous bien !!
Alors celle-là, c'est la meilleure ! Conroyy Jenkinss en avait tellement marre que sa famille lui vide la batterie de sa Steam Deck sans jamais la recharger qu'il a fini par coller des pics et un taser dessus. Oui, un taser, le mec est fou !
Il a posté son truc hier
sur r/SteamDeck
en racontant comment il s'y est pris. "J'en avais marre que ma famille vide toujours la batterie de ma console sans la recharger", donc il a modélisé une coque hérissée de pointes dans Blender, l'a imprimée en 3D et l'a clipsée sur la bête. Plus moyen comme ça de la tenir en main confortablement.
Vous allez me dire qu'il exagère, sauf qu'une Steam Deck n'est plus vraiment l'objet qu'on prête à la légère. Le modèle OLED 1 To est passé de 649 à 949 dollars, du jour au lendemain, à cause de la flambée du prix des composants donc à ce tarif, je comprends qu'il y tienne plus qu'à ses propres gosses ^^/
Sauf que la coque à pointes ça ne lui suffisait pas. Il a donc branché un Raspberry Pi avec un petit haut-parleur, une caméra de détection d'objets et un servomoteur, puis écrit un script Python.
Quand la caméra repère quelqu'un dans le champ, ça balance un clip audio débile, ça attend quelques secondes, et le servo déclenche un taser monté sur le dessus de la console. C'est la même techno que celle qui sert normalement à
repérer un colis devant votre porte
, sauf qu'ici elle repère votre petit frère.
Rassurez-vous quand même pour la famille. Quand on y regarde d'un peu plus près, le taser ne peut atteindre personne depuis son perchoir. Il crépite dans le vide, façon épouvantail. Ça fait donc quand même un peu peur, mais ça n'électrocute pas, sauf si on met son doigt.
Dans les commentaires sur Reddit, les gens se sont demandé pourquoi il n'avait pas juste mis un mot de passe. Mais lui explique que ça minimise le risque que sa famille y touche. Ils sont forcés de lui demander la permission maintenant.
Voilà, d'après l'auteur lui-même, c'est "clairement le truc le plus con que j'aie jamais construit, mais ça marche, et plus personne n'y touche". Après, c'est pénible aussi pour lui parce que quand il veut jouer, il faut qu'il enlève la coque avec les piques et qu'il désactive le taser.
Mais il reconnaît que ça vaut le coup quand même ^^.
Si vous avez un
Raspberry Pi
et que Chromium commence à vous fatiguer, le VRAI Chrome, celui des chads que vous êtes, est enfin dispo en ARM64 !! Enfin, dispo... Si vous savez où chercher, parce que la page de téléchargement de Google vous propose toujours l'installeur amd64, qui ne tournera jamais sur votre machine. C'est Joey Sneddon, d'OMG! Ubuntu, qui a trouvé la combine en bidouillant l'URL depuis son Pi 5.
Avant toute chose, vérifiez que vous êtes bien en 64 bits, parce qu'un système 32 bits refusera le paquet :
dpkg --print-architecture
Si ça répond arm64, le fichier est
là
, 126 Mo. Il s'installe comme n'importe quel .deb local, en laissant apt gérer les dépendances :
Le RPM existe aussi pour les distributions qui préfèrent, en remplaçant la fin du nom par aarch64.rpm.
J'ai ouvert le paquet pour regarder ce qu'il y avait dedans. Son fichier de contrôle annonce google-chrome-stable en version 150.0.7871.186, architecture arm64, un peu plus de 400 Mo une fois installé. Soit exactement la même version que le paquet x86 poussé le même soir. Le même Chrome, à la même révision.
Et le canal stable n'est pas seul. Le dépôt de Google sert aussi la beta (151.0.7922.47), la dev (152.0.7967.2) et la canary (152.0.7974.0) pour les puces ARM, et son fichier Release déclare noir sur blanc les deux architectures. Les quatre canaux ont été publiés dans la même minute que leurs équivalents x86.
Est-ce qu'on se retrouve coincé sur cette version, à re-télécharger le .deb à la main tous les mois ? Non. Le script de post-installation contenu dans le paquet ajoute le dépôt Google en précisant l'architecture, et les cinq paquets y sont indexés en arm64 exactement comme en x86. Les mises à jour ont donc de quoi arriver par apt, comme d'habitude.
Alors pourquoi s'embêter, puisque Chromium tourne sur ARM depuis des années ? Pour deux trucs. D'abord ma synchro du compte Google, qui ramène favoris, mots de passe et extensions. Et ensuite, Widevine, le module DRM, qui est ici un vrai binaire aarch64 et pas une couche de compatibilité comme
l'émulateur FEX financé par Valve
. Netflix et les autres plateformes à DRM s'ouvriront enfin sur un SBC !!!
Mais avec une nuance à connaître avant de vous réjouir qui est que sous Linux, Widevine reste au niveau "Software Secure". Cela veut dire que sur Netflix, la qualité plafonnera entre 720p et 1080p. De la HD donc et pas de la 4K. Désoléééé !
Google avait promis tout ça en mars, pour le deuxième trimestre et son billet annonçait même une installation via chrome.com/download pour les autres distributions, ce qui est malheureusement le morceau qui manque aujourd'hui.
Cela veut dire aussi que rien ne garantit que ce paquet soit considéré comme étant prêt par ses auteurs donc si votre machine doit rester stable, laissez passer quelques semaines avant de vous y essayer.
Manque plus que quelqu'un chez Google ait le courage d'appuyer sur "publier".
Dans la série "la religion c'est que des problèmes", voici un épisode que je n'avais pas vu venir. Click to Pray, l'application de prière officielle du Pape, a servi gratos les noms, les adresses mail et les dates de naissance de ses 719 517 inscrits à qui voulait bien les demander.
C'est le chercheur
BobDaHacker
qui a signalé le trou début janvier et si vous savez compter, oui oui, il a bien fallu 6 mois pour que quelqu'un daigne le boucher. Que voulez-vous, les voies du Seigneur sont impénétrables et visiblement sa boîte mail aussi.
L'appli avait été lancée par le pape François en 2019 depuis le balcon de la place Saint-Pierre, tablette brandie devant la foule. Elle appartient au Réseau Mondial de Prière du Pape, une fondation du Vatican, et tourne sur iOS, Android et en version web en 7 langues.
La faille se situait au niveau de l'adresse api.clicktopray.org/user/users/{id} qui renvoyait la fiche complète de n'importe quel compte, prénom, nom, pays, adresse mail, date de naissance et rôle. Aucune authentification demandée, il suffisait de taper l'adresse dans un navigateur.
Source : BobDaHacker
Les identifiants étant séquentiels et le débit n'étant pas limité, une simple boucle sur les 719 517 numéros suffisait à aspirer le fichier entier. Une requête par fidèle, comme pour l'
ANTS
^^. Vous le savez maintenant, ça s'appelle un IDOR, pour Insecure Direct Object Reference et c'est quand le serveur vérifie que vous êtes bien connecté, mais jamais que les données réclamées vous appartiennent. Eh bien ici, il ne vérifiait même pas la première moitié.
BobDaHacker explique pourquoi la boulette revient sans arrêt : "la plupart des frameworks gèrent l'authentification pour vous, mais pas l'autorisation. Ils vérifient "est-ce que cette personne est connectée ?", mais pas "est-ce qu'elle a le droit de voir cette ressource précise ?"". Pourtant c'est la base, mais bon, bref...
Ce type de contrôle d'accès défaillant trône en tête de l'OWASP Top 10 depuis 2021, et l'IDOR en est probablement la variante la plus répandue. Pour apprendre à les repérer, je vous avais même montré
WebGoat
.
Ce qui est marrant, c'est que dans la base, le champ date de naissance s'appelle borned_date, ce qui n'est de l'anglais dans aucune langue. Et le rôle attribué au fidèle lambda, c'est "PRAYER". Votre fonction de péon sur l'application de prière du Pape, c'est donc prière. Ahaha !
Le vrai risque maintenant n'est pas vraiment la fuite en elle-même, mais plutôt ce qu'un escroc va pouvoir faire avec 700 000 adresses de ces gens inscrits pour prier, avec une institution de confiance à usurper. Un mail annonçant que le Saint-Père sollicite votre attention urgente, avec un lien qui imite celui du Saint-Siège, ça fonctionnera très bien je pense...
Dark Reading, qui a confirmé la faille de son côté, a noté que les identifiants les plus bas sont ceux des employés. Les premiers exposés étaient donc ceux qui auraient dû corriger. Mais le bouquet les amis, c'est l'authentification des mails. Ceux de l'appli ratent les contrôles de domaine, SPF, DKIM ou DMARC étant mal réglés, au point que la boîte du chercheur les a marqués comme suspects.
L'application officielle du Vatican envoyant donc déjà des mails qui ressemblent à du hameçonnage, un escroc qui n'aurait pas peur d'aller en enfer, n'a même pas besoin de soigner son imitation.
Arrive la partie qui pique de cette remontée de vuln... Le 3 janvier, BobDaHacker écrit à 9 personnes, l'adresse info générale, 6 membres du staff de clicktopray.org + 2 contacts du Réseau Mondial de Prière.
Puis il attend mais aucune réponse ne vient.
Alors rien ne bouge durant 6 mois. Puis en juillet il passe le dossier à Nate Nelson, de Dark Reading, qui contacte le service de presse. Silence là aussi. Alors l'article sort le 24 juillet, et Ô miracle (ça arrive parfois, oui oui) la faille est bouchée dans la foulée, sans un mot. Le chercheur l'a appris dans les commentaires Reddit qui parlaient de sa découverte.
Mais je vous garde le meilleur pour la fin, attendez... Ce que vous ne savez pas c'est que le Vatican s'est doté de son propre règlement de protection des données personnelles en avril 2024. Ça s'appelle le décret n° DCLVII et il réclame des "mesures de sécurité appropriées" et désigne nommément ceux qui doivent les appliquer. Ce décret a bien été promulgué, puis visiblement rangé dans un tiroir.
Ah et visiblement, l'URL qui leake continue toujours de répondre sans authentification mais ne renvoie plus que l'identifiant, le prénom et le nom. L'adresse mail a disparu, comme la date de naissance et le pays. Donc c'est un genre de demi-correctif puisque les noms restent énumérables un par un sans le moindre compte. Le chercheur juge ça acceptable sur une plateforme où l'on prie "ensemble". Moué, pourquoi pas.
Voilà, donc si vous avez un compte là-bas, partez du principe que votre adresse mail a circulé et que vous risquez d'avoir des appels du Pape, voire de Dieu lui-même qui vous demandera sûrement un virement en urgence. Je vais prier pour vous afin que ça n'arrive pas, mais sachez que ce scénario de la lose, je vous en parlais déjà à propos de
la divulgation coordonnée de vulnérabilités
, et il ne change jamais. Le chercheur alerte, l'éditeur ignore, et c'est la presse qui finit par débloquer....
Et BobDaHacker, lui, attend toujours son merci. Snif...
Votre clé 4G ou Wifi que vous avez connectée en USB sur un vieux serveur situé au fond du garage, plante une fois ou deux fois par semaine et à chaque fois faut aller débrancher la clé et la rebrancher pour la réveiller / ressusciter ? Et bien c'est fini la galère les amis, puisque
uhubctl
règle ça en une commande. Cet outil coupe puis rallume le courant d'un port USB précis, sans que vous n'ayez à toucher au moindre câble.
C'est donc un petit utilitaire en ligne de commande, écrit en C par Vadim Mikhailov, qui pilote l'alimentation électrique de vos ports USB un par un. uhubctl -a off -p 2 éteint le port 2, -a on le rallume, et -a cycle enchaîne les deux avec une petite pause au milieu. C'est pile-poil ce qu'il faut pour rebooter par exemple un modem 4G figé ou une webcam qui ne répond plus.
Par contre, désolé mais ça ne fonctionne pas sur n'importe quel hub USB. Il vous faut un hub intelligent qui gère le per-port power switching, autrement dit capable de couper le jus d'un seul port sans toucher aux autres. Rassurez-vous, si vous ne savez pas quoi acheter, le projet maintient une liste de modèles compatibles que
vous pouvez consulter ici
.
Après y'a certains hubs qui coupent bien la connexion data mais laissent passer le courant (le fameux VBUS). Du coup vous croyez avoir éteint le port, et le téléphone branché dessus continue tranquillement de charger. Alors pour vérifier, branchez un ventilo ou une petite lampe USB et lancez la coupure. Si ça s'arrête vraiment, votre hub est bon. Sinon il sait uniquement couper la data, et pas l'alim.
Mais en tout cas, une fois le bon matériel entre les mains, les usages deviennent vraiment sympas ! Par exemple, avoir un disque dur USB alimenté seulement quand vous en avez besoin, histoire de tuer le phantom load qui bouffe du courant pour rien (pensez juste à bien le démonter avant de couper le jus, sinon bonjour la corruption ^^).
Y'a aussi le cluster de Raspberry Pi que vous allumez et éteignez nœud par nœud. Ou encore un plugin OctoPrint qui coupe l'alim USB de l'imprimante 3D une fois l'impression finie. Y'a même des bidouilleurs qui pilotent un ventilo ou une guirlande LED avec.
Côté installation, rien de méchant : apt install uhubctl sur Debian, Ubuntu et Raspbian, brew install uhubctl sur Mac. Sous Linux il faudra passer par sudo ou poser une règle udev pour les permissions, sinon l'outil râlera. Sur Windows par contre, laissez tomber pour la coupure d'alim. Le driver USB de Microsoft ne laisse pas passer la commande, donc uhubctl compile mais n'éteint rien du tout.
Et si vous visez le Raspberry Pi, gardez un œil sur ses bizarreries car sur pas mal de modèles, tous les ports sont liés. Si vous en coupez un, vous les coupez tous. La parade classique, c'est donc de brancher un vrai hub compatible sur le Pi et de piloter ses ports à lui.
Et si vous cherchez quoi en faire côté DIY de votre Pi, j'avais listé
130 idées pour votre Raspberry Pi
qui se marient bien avec ce genre de contrôle à distance.
Bref, si vous bricolez de la domotique ou un rack de Raspberry Pi, vérifiez d'abord votre hub, puis foncez. C'est gratuit, open source et ça évite pas mal d'allers-retours vers la multiprise.
Bonne nouvelle pour tous ceux qui balancent du code sur PyPI. L'index officiel des paquets Python refuse désormais tout nouveau fichier ajouté à une release qui a plus de 14 jours. Le correctif vient de Seth Larson, développeur sécurité en résidence à la Python Software Foundation, et il colmate un trou que personne n'avait encore exploité sur PyPI... mais qui traînait là, grand ouvert.
Jusqu'ici, un mainteneur pouvait ajouter un fichier à n'importe quelle release, même sortie il y a 3 ans. Pratique pour livrer une nouvelle wheel, dangereux si un token de publication se fait voler. Un attaquant avec vos clés pouvait glisser un binaire vérolé dans une version stable que tout le monde télécharge depuis des lustres, sans déclencher la moindre alerte. Larson le dit sans détour : si ça n'a pas encore été abusé, c'est juste que les pirates n'avaient pas réalisé que c'était possible.
Le déclencheur, c'est l'affaire LiteLLM et Telnyx, deux paquets populaires compromis en mars dernier via une "référence mutable" dans leur usage de la GitHub Action Trivy. Encore une compromission de la chaîne d'appro, dans la lignée de Shai-Hulud sur npm dont je vous ai déjà parlé avec
son scanner dédié
, même si le mécanisme n'est pas le même. Le sujet mijotait depuis janvier 2024 dans les discussions autour de PEP 740, sauf qu'il coinçait sur un cas d'usage bien réel. En effet, certains projets ajoutent le support d'une nouvelle version de Python, genre les wheels cp314 pour Python 3.14, à d'anciennes releases longtemps après leur sortie.
Sauf que les chiffres ont tranché. En interrogeant la base PyPI sur les 15 000 paquets les plus populaires, seuls 56 avaient publié une wheel compatible 3.14 plus de 14 jours après une release. 56 sur 15 000, autant dire une poignée. Mike Fiedler, l'ingénieur sécurité de PyPI, a donc porté le débat au Packaging Summit de la PyCon US 2026, et le consensus est tombé. Il est maintenant demandé à ces projets de bumper vers une nouvelle version.
Après ne prenez pas cette nouvelle mesure de sécurité comme une garantie. Il n'existe aucune API pour vérifier qu'une release est "fermée", et les vraies règles du jeu ne seront gravées dans le marbre qu'avec l'API Upload 2.0 et les Staged Previews prévus par PEP 694. Donc pour l'instant, c'est un verrou qui protège, mais pas un vrai contrat de confiance sur lequel bâtir (De quoi Darty ??).
N'empêche que le bénéfice est immédiat car ça fait moins de ménage pour les admins PyPI quand un projet se fait trouer, et s'en est fini de l'état schizophrène où une release est à moitié compromise, à moitié saine, avec quelques fichiers vérolés planqués au milieu. Une vieille release devient un bloc figé, et voilà !
GitHub avait déjà dégainé la même idée avec ses
releases immuables
, qui rendent vos versions intouchables même par le mainteneur du projet.
Bref, une porte de moins pour les attaquants supply chain. Sympa non ?
Vous vous souvenez de
BirdNet-Pi
? Ce montage dont je vous avais parlé, qui collait un micro sur un Raspberry Pi pour reconnaître les piafs du jardin à l'oreille ? Et bien Henry Sowell, un maker qui signe sous le pseudo de veteranbv, vient de pousser le délire un cran plus loin avec Inky Bird Frame. Il s'agit d'un cadre e-ink accroché au mur qui affiche les oiseaux repérés autour de chez vous, façon planches naturalistes de carnet de terrain du 19e siècle.
Dans le cadre, un écran Pimoroni Inky Impression de 13,3 pouces, du e-paper 6 couleurs en 1600x1200, avec un Raspberry Pi Zero 2 W planqué derrière qui se contente d'afficher l'image. Mais le vrai boulot se fait ailleurs, sur un contrôleur (un Pi 4, ou n'importe quel Mac ou Linux qui traîne chez vous) qui surveille les observations publiques d'oiseaux dans un rayon configurable autour de votre maison.
Le cadre en situation, avec sa planche Eastern Bluebird (
Source
)
Pour les données, vous prenez ce qui vous arrange. iNaturalist par défaut, eBird si vous préférez (avec un plafond à 50 km et 30 jours), ou même votre propre station BirdWeather si vous en avez déjà une qui écoute le jardin. Et grâce à àa, dès que vos micros captent une fauvette, hop, elle s'affiche sur votre mur.
C'est chouette hein ? (vous l'avez ?)
Aussi, quand une espèce jamais croisée dans votre coin pointe le bout de son bec, et que sa planche n'existe pas encore, hé bien le contrôleur la fabrique alors avec Codex, le CLI d'OpenAI, que le projet fait tourner via un simple abonnement ChatGPT, en s'appuyant sur des photos de référence sous licence et une fiche documentée sur l'oiseau.
Et pour éviter l'effet slop IA, chaque planche passe ensuite devant une seconde IA qui joue les contrôleuses qualité, en la comparant avec des photos de référence (plumage, proportions, forme du bec), en la vérifiant avec 2 sources d'autorité minimum et les noms scientifiques exacts.
Le catalogue commun compte déjà 71 espèces approuvées via des pull requests validées par la CI, c'est vraiment joli en plus, regardez :
Une planche du catalogue, générée puis validée par le pipeline (
Source
)
Bon, maintenant le tarif. Comptez environ 360 dollars pour le cadre seul, dont 275 dollars juste pour l'écran (l'e-paper couleur en 13 pouces, ça douille !), et si vous ajoutez le Raspberry Pi 4, la facture montera à 350$.
Autre point qui pique un peu, le catalogue actuel est bourré d'oiseaux nord-américains, Eastern Bluebird, Northern Cardinal et toute la clique. Vos mésanges charbonnières et vos rouges-gorges, il faudra donc les générer vous-même, ce qui rend l'abonnement ChatGPT quasi obligatoire pour un utilisateur français.
Après pour le reste, j'ai l'impression que c'est assez complet. Ça fait une rotation des planches en séquentiel, aléatoire ou pondérée selon le nombre d'observations. Vous recevez des notifications pushover. Ça peut se brancher sur Discord, Slack ou Home Assistant via Apprise. Et toute l'intelligence reste bien sûr du côté du contrôleur.
Voilà, si ça peut vous intéresser, c'est sous licence MIT
sur GitHub
Avec le guide de montage, la liste des courses et bien sûr les photos de la construction.
Et si vous aimez les piafs, mais que monter d'oras péripi, c'est pas trop votre truc.,
Merlin Bird ID
jetez un oeil aussi à ce projet qui est beaucoup plus simple d'accès puisqu'il tourne directement sur votre smartphone.
Voilà, je parle souvent de petits bricolages dans ce style, et c'est assez rare que j'ai envie de me lancer moi-même dedans, mais là, celui-là me plaît vraiment bien. Je ne sais pas si j'aurai le temps, mais je me dis que c'est un projet cool que je ferais bien un jour.