La version courte
Une extension VSCode, la très pratique json-to-ts
permet de transformer du JSON
en interfaces Typescript
.
Mais il s’avère également qu’elle transfère les 250 premiers caractères de JSON transformés dans Google Analytics.
Sachant qu’elle a été installée + de 300 000 fois et que la “fuite” existe depuis au moins 2 ans, ça fait une quantité phénoménale de données potentiellement sensibles “dans la nature”.
Ces données sont exploitables car on peut les extraire facilement de Google Analytics.
Bad data
Le code ci-dessus envoie un event Google Analytics via la lib universal-analytics avec :
- action = “Selection” ou “Clipboard”
- label = les 250 premiers caractères du json à transformer (le code surligné)
Cette fonction logEvent
est appelée quand on transforme du json depuis le text sélectionné (Selection)
ou depuis le presse papier (Clipboard).
Extension à éviter
Pour la petite histoire, je l’ai découverte grâce à cette vidéo sur NX et dans un premier temps, j’ai immédiatement cherché à l’installer. (comme tout le monde non ?)
Coup de bol, elle ne semblait pas disponible dans VSCodium, j’ai donc commencé à creuser et je suis tombé sur cette issue Github.
Après quelques vérifications, il fallait bien se rendre à l’évidence : les données json transformées par cette extension sont envoyées dans Google Analytics !
Qu’on s’entende bien, je ne reproche pas à l’auteur de faire du suivi Analytics de son extension. Au contraire … Mais cette “capture” de données me semble complètement anormale (même avec un disclaimer) et le fait qu’elle dure depuis 2 ans et que l’auteur ne semble pas pressé de la corriger la rend encore plus suspecte.
Je ferai sans …