Un changement bouscule le monde des extensions sur le marché des navigateurs web. Il s'agit du Manifest V3 (MV3) qui est poussé par Google et décrié par les développeurs et les organisations spécialisées dans la protection de la vie privée.
Si les critiques de ce changement dénoncent nombre des modifications introduites, un point en particulier cristallise les tensions : la suppression des fonctions de blocage et de modification de l'API Web Request, en faveur d'une nouvelle API déclarative plus restreinte. Une modification qui ne sera appliquée que partiellement par Firefox.
Des changements décriés depuis leur annonce
Pour encore quelques mois, les extensions utilisent un ensemble de spécifications appelé MV2, qui définit entre autres les actions qu'elles peuvent réaliser et les autorisations qu'elles possèdent. Une API en particulier nous intéresse, Web Request. Elle permet aux extensions d'accéder aux requêtes avant qu'elles soient envoyées et aux réponses avant que la page web soit affichée aux utilisateurs. Elles peuvent ainsi décider si ces requêtes et réponses doivent être autorisées, bloquées ou modifiées avant leur envoi.
Les bloqueurs de publicité utilisent cette API pour par exemple empêcher certains domaines d'afficher de la publicité sur la page quand elle est chargée. D'autres extensions, du type Ghostery, s'en servent pour modifier les requêtes afin de remplacer les données qui permettent d'identifier les utilisateurs par des données anonymisées avant leur envoi.
La discorde actuelle vient du fait que depuis plusieurs années, Google cherche à faire adopter MV3, un nouvel ensemble de règles et d'API. L'une des mesures phares est le remplacement des capacités de blocage et de modification de l'API Web Request par une nouvelle API appelée Declarative Net Request, plus restrictive. Un changement décrié aussi bien par les développeurs d'extensions que par les défenseurs de la vie privée. En première ligne, les bloqueurs de publicité, à l'exception notable d'AdBlock Plus, qui se sentent particulièrement visés par ce changement. Ils soupçonnent une manipulation de la part de l'entreprise, qui dépend financièrement de la publicité, pour compliquer leur travail.
Malgré ces critiques, Google a décidé d'aller de l'avant avec ce changement et dans quelques mois, MV2 ne sera plus supporté.
Google nie, mais ne convainc pas
Du côté de Mountain View, on avance plutôt l'argument de la sécurité et de la performance pour justifier ce changement. Les fonctionnalités de blocage de Web Request nécessitaient que les extensions aient entièrement accès au trafic entre un site et l'utilisateur. Ce qui était utilisé de façon pertinente par certaines extensions pouvaient également l'être par d'autres, avec des intentions moins charitables. Sur le blog de Chromium, l'entreprise indique que depuis 2018, 42% des extensions malveillantes utilisaient Web Request pour obtenir des informations personnelles et confidentielles sur les utilisateurs ou injecter des publicités au sein des pages web.
Avec Declarative Net Request, Chrome n'enverra plus aux extensions toutes les données en temps réel. Les développeurs devront définir à l'avance un ensemble de règles et de conditions, qui permettront d'indiquer au navigateur les actions qu'il doit entreprendre selon les types de requêtes. On passerait donc de décisions prises par l'extension selon les informations qu'elle reçoit à un instant T à des décisions prises par le navigateur, qui s'occupe uniquement de consulter des règles déterminées à l'avance et qui ne seront pas forcément aussi personnalisées et puissantes. Cette approche représenterait également un gain de performance selon l'entreprise.
Le problème étant que des extensions comme Ghostery nécessitent de recevoir les requêtes et réponses en temps réel afin de pouvoir anonymiser les données envoyées. De son côté, l'Electronic Frontier Foundation balaie en bloc les arguments de Google. Selon l'organisation, avec l'API Declarative Net Request, les développeurs perdent la flexibilité accordée actuellement par Web Request et ne pourront plus développer des fonctions complexes pour répondre à des demandes individuelles. Ils dépendront entièrement de "règles limitées implémentées par le navigateur". "Si votre extension doit traiter des requêtes d'une façon qui n'est pas couverte par les règles existantes, vous ne pouvez tout simplement pas le faire" indique l'EFF sur son site.
Dans le cas des bloqueurs de publicité par exemple, une fois que les annonceurs arriveront à contourner leurs blocages, il leur sera beaucoup plus difficile de répondre rapidement. Ils devront attendre l'implémentation de nouvelles fonctionnalités dans l'API afin d'agir. Et, si l'on en croit l'EFF, ce n'est pas gagné : "Google avait abandonné le développement des API pour les extensions pendant des années avant Manifest V3". L'argument de la sécurité n'est pas valable non plus pour l'organisation, qui souligne que la possibilité d'observer et d'extraire les données échangées est toujours présente dans MV3.
Mozilla cherche à tirer son épingle du jeu
Si la modification ne concernait que Chrome, l'histoire serait peut-être différente. Le problème est que le navigateur de Google représente une part de marché importante et l'entreprise est l'un des développeurs principaux de Chromium, utilisé par nombre de ses concurrents (Brave, Opera, Edge ou Vivaldi). Un changement important opéré au niveau du fonctionnement des extensions signifie que les autres navigateurs basés sur Chromium sont plus ou moins obligés de suivre pour des questions de compatibilité. Cependant, deux navigateurs en particulier, qui ne dépendent pas de cette base, ont leur carte à jouer dans cette affaire : Safari et Firefox.
Ce dernier s'est d'ailleurs exprimé récemment dans un post de blog, afin de détailler sa position à ce sujet. Si le navigateur de Mozilla va bien passer à MV3 dans un souci de compatibilité des extensions, il se passera tout de même de quelques changements. Entre autres, les fonctionnalités bloquantes de Web Request seront conservées, tout en implémentant également Declarative Net Request pour faciliter la vie des développeurs. Avec cette décision, Firefox cherche à réaffirmer sa position à propos du respect de la vie privée des utilisateurs. « Nous nous engageons à faire en sorte que les utilisateurs de Firefox aient accès aux meilleurs outils de protection de la vie privée disponibles » déclare l'entreprise sur son site.
Si l'EFF avait critiqué une position qu'elle trouvait décevante, là où elle aurait préféré que Mozilla combatte la majorité des changements introduits par Manifest V3, il est possible que les utilisateurs soient bien plus sensibles à la réponse du navigateur. Réponse en 2023, où les premiers effets de MV3 pourraient bien commencer à se faire sentir.