Coller un JSON dans un formateur en ligne pour le rendre lisible : c’est un geste que beaucoup de développeurs font plusieurs fois par semaine. En novembre 2025, une étude de watchTowr Labs a montré ce qu’il peut coûter quand l’outil garde une copie de ce qu’on lui confie.
Ce qui s’est passé
Le 25 novembre 2025, les chercheurs de watchTowr Labs ont publié une enquête sur deux formateurs de code très utilisés : JSONFormatter (jsonformatter.org) et CodeBeautify (codebeautify.org).
Les deux sites proposaient un bouton « Save » qui transformait le contenu formaté en lien semi-permanent, pratique pour le partager avec un collègue. Mais chaque contenu enregistré apparaissait aussi sur une page « Recent Links » accessible à tous, et les adresses suivaient un format prévisible. Un simple robot suffisait donc pour tout récupérer.
C’est ce qu’ont fait les chercheurs : ils ont téléchargé plus de 80 000 contenus enregistrés, soit plus de 5 Go de données, couvrant cinq ans d’historique sur JSONFormatter et un an sur CodeBeautify.
Ce qu’on y a trouvé
Dans ces fichiers, des milliers de secrets collés par des utilisateurs qui n’imaginaient pas les publier :
- identifiants Active Directory et mots de passe de bases de données ;
- clés d’accès à des services cloud, dont un export complet d’AWS Secrets Manager ;
- clés privées, jetons d’accès à des dépôts de code, identifiants d’outils d’intégration continue ;
- clés de passerelles de paiement ;
- données personnelles, jusqu’aux dossiers de connaissance client (KYC) d’une banque.
Les organisations concernées relevaient de secteurs sensibles : administrations, infrastructures critiques, banque, assurance, santé, télécoms, aéronautique, éducation… et même cybersécurité.
Le test qui change tout
Pour savoir si d’autres qu’eux exploitaient ces pages, les chercheurs ont enregistré de fausses clés d’accès AWS, conçues pour signaler toute tentative d’utilisation, avec un lien réglé pour expirer au bout de 24 heures.
Quelqu’un a essayé de s’en servir 48 heures après l’enregistrement, soit 24 heures après l’expiration du lien et la disparition du contenu. Conclusion : ces données sont aspirées et conservées par des tiers. Supprimer un contenu après coup, ou compter sur l’expiration d’un lien, ne protège pas.
Et depuis ?
D’après The Hacker News, les deux sites ont désactivé temporairement leur fonction d’enregistrement, et watchTowr estime que ce changement date de septembre 2025, après ses signalements. Mais les copies déjà récupérées par d’autres ne peuvent pas être rappelées.
Ce qu’il faut retenir
Un secret collé dans un site inconnu est un secret compromis
Si vous avez déjà collé une configuration, un jeton ou un export contenant des secrets dans un outil en ligne qui enregistre ce que vous lui donnez, considérez ces secrets comme exposés : changez les mots de passe, révoquez les clés, puis vérifiez dans vos journaux qu’elles n’ont pas servi. L’expérience de watchTowr montre qu’attendre l’expiration d’un lien ne suffit pas.
« Enregistrer » et « partager » veulent dire « stocker sur un serveur »
Le problème ne venait pas du formatage, mais de l’enregistrement. Un outil qui propose un lien de partage garde forcément une copie de vos données quelque part, et vous ne savez ni où, ni pour combien de temps, ni qui peut la lire.
Masquer avant de coller
Avant de partager un extrait de configuration ou une réponse d’API, remplacez les valeurs sensibles par des marqueurs, par exemple "password": "***". Cette habitude protège aussi quand vous collez un extrait dans une messagerie ou dans un ticket.
Formater sans rien envoyer
Pour formater ou valider du JSON, vous n’avez pas besoin d’un serveur :
- votre éditeur de code sait le faire, avec sa commande de formatage du document ;
- en ligne de commande,
jq . fichier.jsonoupython3 -m json.tool fichier.jsonaffichent le JSON indenté ; - dans la console des outils de développement de votre navigateur,
JSON.stringify(objet, null, 2)fait l’affaire.
Si vous préférez un outil en ligne, choisissez-en un qui traite tout dans votre navigateur, et vérifiez-le : ouvrez l’onglet « Réseau » des outils de développement (touche F12) avant de coller quoi que ce soit, puis regardez si une requête part avec vos données.
C’est le principe de Youtilz : le formateur JSON, le convertisseur JSON ↔ YAML, l’encodeur Base64 ou le générateur de hash fonctionnent entièrement dans votre navigateur, et le site n’a aucune fonction d’enregistrement ni de partage. Les rares outils qui ont besoin du réseau, comme l’analyseur SEO, l’indiquent sur leur page. Tout est détaillé sur la page Pourquoi Youtilz ?
Sources
- watchTowr Labs : Stop Putting Your Passwords Into Random Websites (Yes, Seriously, You Are The Problem), 25 novembre 2025
- The Hacker News : Years of JSONFormatter and CodeBeautify Leaks Expose Thousands of Passwords and API Keys
- BleepingComputer : Code beautifiers expose credentials from banks, govt, tech orgs
- SecurityWeek : Thousands of Secrets Leaked on Code Formatting Platforms