Retour

Un exemple de fuite de données dans l'opensource

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

Json to ts logevent function

Le code source

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 …