Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierKorben

Les clés API Google encore en vie même après leur suppression

Par : Korben ✨
22 mai 2026 à 09:43

Vous supprimez une clé API Google qui a fuité , et l'interface vous confirme que c'est bien réglé, que la clé ne fonctionne plus. Alors vous commencez à vous détendre en vous disant que vous avez bien fait votre boulot.

BAH NAN !

Car vous ne le savez pas, mais cette clé va continuer de fonctionner encore durant 23 minutes. C'est en tout cas ce qu'ont mesuré les chercheurs d'Aikido Security en testant ce truc tout bête de révoquer une clé, puis de taper sur l'API en boucle pour voir quand ça s'arrêtait vraiment.

Et résultat des courses, une clé API classique survit en moyenne 16 minutes après sa suppression, et jusqu'à 23 minutes dans le pire des cas. Cela veut dire que pendant tout ce temps, un attaquant qui a récupéré votre clé peut continuer de l'utiliser peinard. Et vous n'avez aucun moyen de couper plus vite, ni même de savoir quand ça s'arrête pour de bon.

Ce sont les clés API de Schrödinger le bordel... Techniquement comme vous vous en doutez, c'est surtout une histoire de propagation car Google ne tue pas la clé d'un coup sur tous ses serveurs, mais l'info se diffuse petit à petit, et chaque serveur arrête de l'accepter à son rythme. Le souci, c'est que ce délai et largement suffisant par exemple pour vider un bucket pendant que vous pensez que le danger est écarté.

Le plus beau, c'est que Google sait parfaitement faire vite quand il veut puisque les clés de compte de service, elles, sont coupées en 5 secondes. et les clés Gemini récentes en 1 minute. Du coup, ces 16 minutes de moyenne sur les vieilles clés API n'ont rien d'une fatalité technique... c'est juste un choix ! Aikido a bien sûr remonté le problème, et Google a bizarrement classé le ticket en « won't fix », en expliquant que ce délai de propagation était une propriété connue du système, et pas une faille de sécurité.

Donc si vous gérez des clés Google en prod, partez du principe qu'une clé compromise reste exploitable une bonne demi-heure après sa révocation. Et surtout, mettez en place des plafonds de dépenses bien serrés sur votre projet parce que le vrai cauchemar, c'est moins l'accès que la facture qui débarque ensuite. On a déjà vu des devs se prendre des notes à cinq chiffres à cause d'une clé qui traîne, et des utilisateurs Google Cloud facturés par erreur .

Source : Aikido Security

Web Serial débarque enfin dans Firefox !

Par : Korben ✨
22 mai 2026 à 08:43

On est vendredi, j'ai un mal de tête carabiné mais je me pose quand même devant l'ordi pour vous annoncer une bonne nouvelle ! Firefox 151 sur desktop vient enfin d'implémenter une fonctionnalité que Mozilla refusait catégoriquement de supporter depuis 6 ans : le support de l'API Web Serial.

Alors non, c'est pas un gros mot, hein, ça veut surtout dire qu'un site web ouvert avec Firefox peut maintenant lire et écrire directement sur du matériel que vous branchez en USB, genre un Arduino, un ESP32, une imprimante 3D, une clé crypto ou que sais-je encore, sans que vous ayez à installer le moindre logiciel ou pilote.

Le cas d'usage le plus parlant, c'est le flashage de microcontrôleurs. Avant, pour mettre un firmware sur un ESP32, il fallait installer esptool en Python, ou l'IDE Arduino, galérer avec les drivers série, choisir le bon port à la main. Maintenant des outils comme ESPHome ou Home Assistant font tout ça depuis un onglet, en quelques clics. Vous branchez la carte, le site demande l'autorisation d'accéder au port, et c'est réglé. Adafruit fait pareil pour installer CircuitPython sur ses cartes ESP32-S2.

Et pour comprendre pourquoi c'est une vraie bonne nouvelle, il faut se rappeler d'où on vient. Chrome propose quand même Web Serial depuis 2021 mais Mozilla a toujours considéré qu'un accès série accordait trop de contrôle sur un appareil, sans la moindre authentification. Et ils n'ont pas tord... D'ailleurs Apple, de son côté, campe toujours sur cette position et qualifie carrément la spec de dangereuse, notamment à cause des risques de fingerprinting .

Mais ce qui a fait bouger Mozilla, c'est un revirement progressif en interne. En 2022, Bobby Holley, le CTO de Firefox, a rouvert le dossier, puis en 2024, il a posé ses conditions, à savoir un mécanisme de contrôle par add-on et un consentement clairement formulé. Et le résultat, on peut le voir dans l'implémentation finale, puisque l'autorisation marche par site et par port. C'est bien puisqu'un site ne voit absolument rien tant que vous ne lui donnez pas la main, et ne récupère aucune liste des appareils branchés, ni aucune info de fingerprinting exploitable au-delà du port que vous sélectionnez vous-même.

J'étais le premier à pester contre Mozilla pour cette absence de support. Parfois je les trouve trop prudent, au delà du raisonnable, ce qui les mets en décalage avec ce que proposent les autres et ce qui fait leur fait perdre bêtement des parts de marché.

Mais c'est vrai aussi que la prudence sur ce genre d'API qui touche directement au hardware, c'est ce qu'on attend tous d'un navigateur qui mise tout sur le respect de la vie privée de ses utilisateurs. D'ailleurs, pour les parano ou les admins système (oui c'est pareil ^^), sachez qu'en environnement Firefox Enterprise, Web Serial est désactivé par défaut.

Au-delà du flashage de cartes, les usages réels sont déjà très nombreux. Un ingénieur de Mozilla, Florian Quèze, s'en sert par exemple pour lire la consommation d'un compteur USB d'énergie standard (du genre AVHzY C3 ou Joy-IT TC66C) et balancer les données directement dans le Firefox Profiler. Les imprimantes 3D, les briques LEGO programmables, les Raspberry Pi Pico, tout ce petit monde cause série et devient ainsi pilotable depuis une page web.

D'ailleurs je vous parlais récemment de CANviz, qui analyse le bus CAN de votre bagnole directement dans le navigateur, hé bien c'est typiquement le genre de truc que Web Serial rend possible sans app native.

Après la spec Web Serial traîne toujours au Web Incubator Community Group, donc rien n'est gravé dans le marbre mais cela dit, Mozilla pousse pour une vraie standardisation via le WHATWG, ce qui n'était pas gagné vu d'où on est parti.

Voilà, allez, je vous laisse, j'ai un dafalgan qui m'attend ^^

Source

Créez une passerelle SMS à partir d'un vieux smartphone

Par : Korben ✨
21 mai 2026 à 07:01

Votre vieux Galaxy S5 qui prend fort la poussière dans un tiroir, mérite mieux je crois !

Un dev, Capcom6 a mis en ligne SMS Gateway for Android , une app Kotlin sous licence Apache 2.0 qui transforme n'importe quel smartphone (Android 5.0+) en passerelle SMS programmable. Cela vous permet de récupérer une API REST pour ensuite envoyer et recevoir vos SMS avec votre propre téléphone et votre propre SIM et ainsi vous passer de services payants équivalents.

Il y a 3 modes au choix. Le mode local quand l'app lance un serveur HTTP sur le port 8080, accessible depuis votre réseau. Le mode cloud où l'app se connecte au service tiers api.sms-gate.app, ce qui est pratique pour ceux qui ont une IP dynamique ou plusieurs appareils. Et le mode "private server" qui permet d'héberger le backend chez vous, en totale autonomie.

Mais dans tous les cas, les requêtes restent les mêmes à savoir du bon vieux POST JSON avec basic auth.

Et côté fonctionnalités, y'a tout ce qu'il faut. Multi-SIM si votre téléphone est compatible, messages multipart automatiquement découpés pour les SMS longs, suivi de statut en temps réel (sent, delivered, failed), webhooks pour 8 événements différents (sms:received, sms:sent, sms:delivered, sms:data-received, mms:downloaded, system:ping...). Et puis du chiffrement bout-en-bout activé sur le mode cloud, comme ça personne ne peut lire vos messages en clair.

Maintenant vous vous demandez peut-être à quoi ça peut servir ??

Bah je pense à de l'envoi SMS 2FA pour vos applications, tout ce qui est messages transactionnels (confirmations de commande, rappels de RDV), des notifications push via SMS, et même du data SMS binaire pour piloter des périphériques IoT à distance. Pourquoi pas ? Y'a plus de limites après... Ah et y'a aussi une intégration n8n officielle (ici sur le repo example-webhooks-n8n ) pour brancher l'API à vos workflows, plus une bibliothèque PHP sur Packagist. Bref, y'a un petit écosystème qui commence à se développer autour.

Pour l'installer, oubliez le Play Store. capcom6 distribue uniquement des APK sur les GitHub Releases. Faut donc activer les sources inconnues, télécharger le .apk, et installer manuellement.

Après quand on fait le calcul côté pognon c'est vite vu. Twilio par exemple facture $0.0083 par SMS aux US, plus 1,15 $ / mois par numéro, plus les frais. Donc pour 1000 SMS par mois c'est vite entre 50 à 80 $. Avec SMS Gateway for Android et votre forfait perso, vous ne payez rien d'autre que votre forfait...

Après y'a quelques limites à connaître... Par exemple, si vous pensiez faire de l'envoi massif pour du marketing (comprenez du spam), votre opérateur va évidemment bloquer rapidement votre SIM. Et puis évidemment, faut que le téléphone soit allumé h24 avec sa connexion data activée. Donc pour du transactionnel léger c'est nickel mais pour du mass-mailing, oubliez ! De toute façon, n'oubliez pas, y'a une place pour vous en enfer, les spammeurs.

Voilà, donc si vous avez un vieux smartphone Android qui fait dodo dans un tiroir et que vous avez besoin d' une API SMS pour vos automations perso ou votre stack interne, c'est une alternative à Twilio très sympa !

Anthropic rachète Stainless, l'outil qui fabrique aussi les SDK de ses concurrents

20 mai 2026 à 15:05

Anthropic, la boîte derrière l'IA Claude, a racheté Stainless pour plus de 300 millions de dollars. Stainless, c'est un nom que le grand public ne connaît pas, mais l'outil est partout : il transforme automatiquement la spécification d'une API, l'interface par laquelle deux logiciels se parlent, en SDK.

Pour rappel, un SDK, c'est un ensemble de bibliothèques de code prêtes à l'emploi pour les développeurs, ici dans une dizaine de langages comme Python, TypeScript, Go ou Java.

En clair, quand un développeur veut brancher son application sur l'API de Claude, il utilise un SDK généré par Stainless. La boîte, fondée en 2022 par un ancien ingénieur de Stripe, a produit chaque SDK officiel d'Anthropic depuis les tout débuts de l'API Claude. Le rachat consolide donc une brique que l'entreprise utilisait déjà tous les jours.

Stainless ne s'arrête pas aux SDK. La société fournit aussi de l'outillage pour les serveurs MCP, le protocole poussé justement par Anthropic qui permet aux IA de se connecter à des outils et des données externes. Du coup le rachat fait sens à double titre : Anthropic met la main sur la génération de SDK et sur une partie de l'infrastructure MCP, deux briques où il veut clairement être central.

Sauf que voilà le détail un peu fou. Stainless ne servait pas qu'Anthropic, et sa liste de clients comprend OpenAI, Google DeepMind, Perplexity, Groq et Cloudflare, autrement dit la plupart des concurrents directs d'Anthropic sur le marché de l'IA.

La suite est sans pitié. Anthropic ferme tous les produits hébergés de Stainless, générateur de SDK compris. Les clients actuels gardent les SDK déjà générés et peuvent les modifier, mais le robinet, lui, est coupé. Tout le monde va devoir trouver une alternative ou rapatrier la génération de SDK en interne.

Pourquoi mettre 300 millions sur la table pour ça ? Parce que la vraie bataille n'est plus seulement sur les modèles d'IA, mais sur la couche d'outillage autour.

Celui qui contrôle la façon dont les développeurs branchent leurs applications et orchestrent leurs agents IA contrôle une partie de l'écosystème. OpenAI muscle son propre Agents SDK de son côté. Anthropic, lui, préfère racheter directement l'usine, et au passage priver ses concurrents d'un fournisseur bien pratique.

Source : TechCrunch

Is It Agent Ready - Vérifiez si votre site parle aux agents IA

Par : Korben ✨
25 avril 2026 à 07:53

Si vous avez un site, vous savez déjà qu'il faut l'optimiser et le rendre lisible pour Google. Mais en ce moment, Cloudflare pousse vraiment une toute autre couche par-dessus : le rendre lisible pour les agents IA. Et pour vérifier si vous êtes dans les clous, l'équipe a sorti isitagentready.com , un scanner gratuit qui vérifie ça en quelques secondes.

Vous tapez tout simplement votre URL, et le scanner check une dizaine de standards émergents, puis pour chaque truc qui manque, il vous crache carrément un prompt prêt à coller dans Claude Code, Cursor ou Windsurf pour qu'il vous aide à l'implémenter. Vous pouvez aussi customiser le scan en cochant uniquement ce qui vous intéresse, selon que votre site est plutôt un blog de contenu ou une API.

L'interface annoncée par Cloudflare pour son nouveau scanner agent-ready

Les checks sont organisés en 5 catégories : la découvrabilité (robots.txt, sitemap, Link headers HTTP), l'accessibilité du contenu (markdown negotiation, llms.txt), le contrôle et la signalisation des bots (Content Signals, Web Bot Auth, règles IA dans robots.txt), la découverte de protocoles (MCP Server Card, Agent Skills, API Catalog, OAuth) et le commerce agentique (x402, MPP, UCP, ACP). Chaque catégorie pèse alors dans le score final, sauf le commerce qui est juste checké mais pas scoré.

J'ai testé sur korben.info et le résultat est franchement mitigé. Côté positif : robots.txt présent avec Content Signals (search=yes, ai-train=no, donc je dis oui à l'indexation et non à l'entraînement IA), llms.txt opérationnel avec 111 lignes en français, markdown negotiation qui répond bien sur Accept: text/markdown, sitemap.xml en place, et GPTBot, Google-Extended et Meta bloqués explicitement.

Côté manquant : pas de MCP Server Card, pas d'Agent Skills, pas d'API Catalog, pas de Link headers.

Score estimé : très moyen, et c'est plutôt cohérent avec un site qui n'a pas besoin d'OAuth ni de serveur MCP.

Cloudflare balance surtout des chiffres bien concrets dans son article de lancement . Sur les 200 000 domaines les plus visités du web, 78% ont un robots.txt, 4% déclarent leurs préférences via Content Signals, 3.9% font de la markdown negotiation, et moins de 15 (oui, quinze) ont un MCP Server Card ou un API Catalog combinés. Autant dire qu'on est très tôt dans la partie. Côté boite à outils, dans le panel d'agents testé par Cloudflare, seuls Claude Code, OpenCode et Cursor envoient un Accept: text/markdown par défaut quand ils browsent le web. Les autres récupèrent du HTML par défaut, comme un navigateur classique.

Cloudflare a aussi mesuré l'impact sur sa propre doc en activant tous ces standards : 31% de tokens en moins consommés et 66% de réponses plus rapides. Du coup c'est pas négligeable, surtout quand vous payez les agents au token. Et bonus, isitagentready.com lui-même est agent-ready (forcément), avec son propre serveur MCP exposé à /.well-known/mcp.json et un outil scan_site disponible pour les agents qui veulent l'appeler en autonomie.

Mais attention au piège ! Si on traite tout pour viser le "tout vert" comme objectif, beaucoup de sites finiront par prétendre être des fournisseurs OAuth ou des serveurs MCP juste pour cocher la case. Donc mieux vaut dire honnêtement "non, ça je ne fais pas" que de faire semblant. Pour un blog perso, vous n'avez probablement pas besoin de l'API Catalog ni du serveur MCP. Pour un site e-commerce par contre, x402 et l'Agentic Commerce Protocol vont commencer à compter le jour où les agents paieront vraiment pour leurs utilisateurs.

Petit détail historique amusant, le robots.txt date de 1994 (j'avais 12 ans, j'étais à fond sur le PC mais pas encore sur le net) et le code HTTP 402 Payment Required existe depuis 1997 mais n'a jamais été massivement utilisé. Jusqu'au jour où Cloudflare et Coinbase se sont associés pour le ressusciter avec x402, en l'imaginant comme la couche de paiement entre humains, agents et services. On verra bien si leur mayonnaise va prendre...

Aujourd'hui l'adoption de tout cela est embryonnaire, mais rappelez-vous qu'en 2004 peu de monde aurait parié sur l'industrie SEO qu'on connaît aujourd'hui. Donc ça vaut le coup d'y jeter un œil maintenant.

Merci à Camille Roux pour le lien !

Source

❌
❌