Comment éviter que ce genre d'aventure nous arrive dans les futures épiceries décentralisées de Mozilla ?
apprendre aux gens à ne pas installer n'importe quoi me semble un premier combat de premier plan :) après, qu'ils comprennent ce que ça induit d'installer quelque chose, de se responsabiliser vis à vis de ça
C'est important, mais pas suffisant.
L'article fait une très bonne analyse des points qui mènent à l'abus d'extensions.
Ownership of a Chrome extension can be transferred to another party, and users are never informed when an ownership change happens
Zéro excuse pour Chrome. Chrome peut informer l'utilisateur de qui a donné l'ownership et qui l'a récupérer. Chrome peut tenter de fournir des indicateurs qui aideront l'utilisateur à décider s'il continue à faire confiance ou pas (par exemple, moyenne des notes des autres extensions créées par le nouveau possesseur. Ce n'est qu'un exemple, aux ingés de Google trouver de meilleurs idées).
there is currently no way to disable extension auto-updating
Zéro excuses là non plus, il faut donner l'option à l'utilsateur. Les utilisateurs peuvent avoir des niveaux de confiance différents, il faut les laisser l'exprimer, mais si par défaut l'auto-update est activé.
Even when you have it narrowed down to Chrome, since nothing detects a malicious Chrome extension, the best course of action is to meticulously check the latest reviews of every extension and hope that someone else has figured out where the ads are coming from. What can users do to protect themselves? It's very hard to keep yourself in the loop with Chrome extension updates. Extensions usually don't have changelogs
Les extensions qui seront victimes de ce genre de problèmes auront une bonne user base, donc dans le lot, il y a des gens qui vont désinstaller l'extension et/ou envoyer des revues avec des notes "0 étoile". Il est possible pour Chrome de constater des effets de masse brutaux et de prévenir tout le monde. Par exemple, si en 2 jours, 5% des utilisateurs ont désinstallé l'extension ou si sur la dernière semaine, la moyenne des notation est bien plus faible que la moyenne totale, prévenir tous les utilisateurs que telle extension a une grosse baisse de popularité. Chaque utilisateur pourra faire le choix d'ignorer ou de se renseigner plus sur le problème. Là encore, je donne un exemple pensé en 5 mins ; je laisse aux ingés de Google le soin de penser à qqch de plus intelligent et robuste.
Extensions are synced to your Google account, which means that even wiping out a computer and reinstalling the OS will not remove the malware—signing-in to Chrome will just download it again.
En théorie, si les 3 points plus haut sont réglés, celui-là n'est plus un problème.
En conclusion, éduquer les utilisateurs sur les conséquences du choix d'installer des extensions, c'est bien, mais leur donner plus de choix (désactiver auto-update) et les informer suffisamment pour savoir s'ils continuent à faire confiance (changement d'ownership, baisse soudaine de popularité), c'est aussi un pas dans le bon sens. Et ce pas est à la portée à court terme de Google. Alors qu'éduquer deux milliards d'internautes sur le fait qu'une update, c'est une injection de code potentiellement malicieux que les antivirus ne détectent pas, c'est un travail de titan même pas à la portée de Google à mon avis...
@edas L'article d'Ars Technica dit quelque chose de très vrai dans le fait que la passation d'ownership est une information très importante parce qu'elle remet en question une décision passée basée sur la confiance. Vu que la passation est importante, il faut que le responsable du "store d'extension"/"marketplace" envoie des signaux à l’utilisateur pour lui faire comprendre qu'un choix fait dans le passé a peut-être des raisons d'être remis en question.
Peut-être que ma suggestion (donner les 2 noms) est une mauvaise idée comme tu le dis. Là encore, je laisse le soin aux gens compétents de décider quel est le bon signal à envoyer et comment il est envoyé. C'est un détail d'implémentation qui demande une bonne quantité de travail. Mais n'envoyer aucun signal à l'utilisateur comme c'est le cas actuellement est une erreur.