L’extension Chrome JSON Formatter devient fermée et inclut du code publicitaire
(github.com/callumlocke)- L’extension qui visualisait les données JSON de manière structurée dans Chrome n’est plus maintenue en open source
- Le projet passe à un modèle commercial fermé, et une nouvelle version est en cours de développement comme outil d’exploration d’API avec des fonctionnalités premium
- Pour les utilisateurs existants, JSON Formatter Classic est publié comme dernière version open source, disponible uniquement sous la forme d’un formateur local
- La version Classic ne recevra plus de mises à jour et peut être installée via le Chrome Web Store ou à partir du code source
- Cette transition suscite des inquiétudes concernant l’insertion de code publicitaire et une baisse de fiabilité
Annonce de la fin du projet et de la transition
- JSON Formatter met fin à son développement open source et passe à un modèle commercial fermé
- La nouvelle version est en cours de développement comme outil d’exploration d’API avec des fonctionnalités premium
- Pour les utilisateurs de la version open source existante, la dernière version open source est publiée sous le nom JSON Formatter Classic
- Elle peut être installée depuis le Chrome Web Store et reste une extension de formatage JSON uniquement locale
- Aucune mise à jour ne sera désormais fournie
Présentation de JSON Formatter
- Une extension pour le navigateur Chrome qui visualise de manière structurée les réponses JSON d’API
- Elle offre un traitement rapide même sur de longues pages JSON et prend en charge le mode sombre ainsi que la coloration syntaxique
- Inclut des fonctions de repli/dépli de l’arborescence, guides d’indentation et URL cliquables
- Sur les pages non JSON, l’impact sur les performances est de moins d’1 milliseconde
- Fournit un bouton de bascule Raw / Parsed JSON, et le JSON analysé est accessible dans la console via la variable globale
json
1 commentaires
Commentaires sur Hacker News
Aujourd’hui, j’ai repéré un élément suspect appelé give-freely-root-bcjindcccaagfpapjjmafapmmgkkhgoa dans Chrome Inspector
Après vérification, il s’est avéré que la populaire extension open source JSON Formatter était passée en source fermée il y a environ un mois et avait commencé à injecter du code publicitaire et du suivi de localisation dans les pages de paiement
À ce stade, la marketplace des extensions de navigateur ressemble elle-même à une expérience ratée. J’en viens à me dire qu’il vaut mieux créer et utiliser son propre formateur JSON
Il est intéressant de constater que Callum Locke, l’auteur de cette affaire, est une personne bien réelle
Autrefois, ce type de « développeur sous son vrai nom » était un signe de confiance, mais cela montre que ce n’est plus forcément le cas
Une discussion connexe se trouve dans la discussion GitHub de HoverZoom
Dans un commentaire HN laissé par l’auteur lui-même il y a deux ans,
il jurait être le créateur de JSON Formatter et qu’il n’enverrait ni ne vendrait jamais les données des utilisateurs
Il disait avoir reçu à plusieurs reprises d’importantes offres de rachat, mais les avoir refusées pour préserver son honneur
Selon une réponse à un avis sur le Chrome Web Store laissée par l’auteur,
« Give Freely » n’est pas un spyware mais un système de liens affiliés pour les dons
Lorsque l’utilisateur clique au moment de payer chez un commerçant partenaire, une partie des revenus serait reversée à des organisations comme Code.org
Il est souligné qu’aucune information personnelle ni donnée de navigation n’est collectée, et que si on ne le souhaite pas, il est possible de le désactiver complètement dans les paramètres
Une version Classic de JSON Formatter sans le code « Give Freely » est également proposée
Je pense que le problème central vient de l’idéologie des mises à jour automatiques
Les mises à jour corrigent des failles de sécurité, mais elles introduisent aussi des changements non souhaités par l’utilisateur ainsi que des risques d’attaque de la chaîne d’approvisionnement
En particulier, pour les extensions de développeurs indépendants, il faudrait désactiver les mises à jour automatiques. Mais Chrome ne le permet pas
À cause de la philosophie publicitaire de Google, l’entreprise semble incapable de voir ce type de bascule vers l’adware comme un problème
Firefox est un peu mieux, mais il est regrettable qu’on ne puisse pas y installer de façon permanente des extensions compilées soi-même
about:debugging, ou en désactivantxpinstall.signatures.requiredCela dit, des extensions comme uBlock, qui mettent régulièrement à jour leurs listes de filtres, peuvent constituer une exception
Je pense que le principal problème est le décalage entre les binaires du Chrome Web Store et le code source public
Le store fait confiance tel quel au paquet téléversé par le développeur et ne vérifie pas qu’il correspond bien au code réellement publié
J’ai moi-même essayé de faire des builds reproductibles de plusieurs extensions, et la plupart ne correspondaient pas
Firefox AMO, lui, compare un build propre avec le code source soumis (diff), mais Chrome ne le fait pas
Sans builds reproductibles et lien avec des commits signés, il n’y a aucun moyen de détecter à l’avance l’insertion de code malveillant
Google pousse Manifest V3 tout en laissant ce problème de côté
Pire encore, des extensions malveillantes comme Blaze VPN, Safum VPN, Snap VPN reçoivent même le badge « Featured »
Ce sont des copies du groupe PDF Toolbox, qui a déjà créé des extensions malveillantes par le passé, et elles ne fonctionnent même pas réellement
C’est un exemple qui montre à quel point le système de vérification du Chrome Web Store est défaillant
La même chose est arrivée avec l’extension ModHeader
Lien ModHeader
Elle a commencé à injecter des publicités dans chaque résultat de recherche Google, et malgré le signalement, elle est toujours présente sur le store
J’ai remarqué ce problème il y a une semaine et j’ai moi-même créé un nouveau formateur JSON en rassemblant les fonctionnalités que j’aimais
GitHub - JSON Alexander
Cette affaire a été un bon déclencheur pour faire le ménage dans les extensions installées
Je vais ne garder que celles qui sont absolument nécessaires et supprimer toutes les autres