IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Extensions Chrome : Google retarde de six mois la transition vers l'API limitant les bloqueurs de publicité Manifest V3
Après la colère d'organisations comme l'EFF

Le , par Stéphane le calme

0PARTAGES

6  0 
Cela fait déjà quatre ans que Google a commencé les tests de Manifest V3, l'interface de programmation derrière les extensions sur Chrome. La mise à jour est controversée car elle rend les bloqueurs de publicités moins efficaces sous prétexte de protéger la confidentialité et la sécurité, et il se trouve que Google est la plus grande société de publicité au monde.

Dans un billet, Google a communiqué le nouveau calendrier de la transition vers Manifest V3, qui implique de mettre fin à la prise en charge des anciennes extensions exécutées sur Manifest V2 et de forcer tout le monde à utiliser la nouvelle version de Manifest. Cette dernière version a été fustigée par l'Electronic Frontier Foundation, un défenseur des droits numériques, qui l'a jugée « « trompeuse et menaçante ».

Firefox pour sa part prévoit d'adopter Manifest V3, mais avec une approche différente.


En novembre 2019, Google a commencé à tester Manifest V3, l'interface de programmation derrière les plans de sécurité Chrome. Le code suivant montre les champs Manifest pris en charge pour les extensions, avec des liens vers la page décrivant chaque champ.

Code JavaScript : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{   
  // Required   
  "manifest_version": 2,   
  "name": "My Extension",   
  "version": "versionString",   
  
  // Recommended   
  "default_locale": "en",   
  "description": "A plain text description",   
  "icons": {...},   
  
  // Pick one (or none)   
  "browser_action": {...},   
  "page_action": {...},   
  
  // Optional   
  "action": ...,   
  "author": ...,   
  "automation": ...,   
  "background": {   
    // Recommended   
    "persistent": false,   
    // Optional   
    "service_worker":   
  },   
  "chrome_settings_overrides": {...},   
  "chrome_ui_overrides": {   
    "bookmarks_ui": {   
      "remove_bookmark_shortcut": true,   
      "remove_button": true   
    }   
  },   
  "chrome_url_overrides": {...},   
  "commands": {...},   
  "content_capabilities": ...,   
  "content_scripts": [{...}],   
  "content_security_policy": "policyString",   
  "converted_from_user_script": ...,   
  "current_locale": ...,   
  "declarative_net_request": ...,   
  "devtools_page": "devtools.html",   
  "event_rules": [{...}],   
  "externally_connectable": {   
    "matches": ["*://*.example.com/*"]   
  },   
  "file_browser_handlers": [...],   
  "file_system_provider_capabilities": {   
    "configurable": true,   
    "multiple_mounts": true,   
    "source": "network"   
  },   
  "homepage_url": "http://path/to/homepage",   
  "import": [{"id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}],   
  "incognito": "spanning, split, or not_allowed",   
  "input_components": ...,   
  "key": "publicKey",   
  "minimum_chrome_version": "versionString",   
  "nacl_modules": [...],   
  "oauth2": ...,   
  "offline_enabled": true,   
  "omnibox": {   
    "keyword": "aString"   
  },   
  "optional_permissions": ["tabs"],   
  "options_page": "options.html",   
  "options_ui": {   
    "chrome_style": true,   
    "page": "options.html"   
  },   
  "permissions": ["tabs"],   
  "platforms": ...,   
  "replacement_web_app": ...,   
  "requirements": {...},   
  "sandbox": [...],   
  "short_name": "Short Name",   
  "signature": ...,   
  "spellcheck": ...,   
  "storage": {   
    "managed_schema": "schema.json"   
  },   
  "system_indicator": ...,   
  "tts_engine": {...},   
  "update_url": "http://path/to/updateInfo.xml",   
  "version_name": "aString",   
  "web_accessible_resources": [...]   
}

En novembre 2020, Google a indiqué que « Manifest V3 représente l'un des plus grands changements dans la plateforme d'extensions depuis son lancement dix ans auparavant. Les extensions utilisant MV3 bénéficieront d'améliorations en matière de sécurité, de confidentialité et de performances; elles peuvent également utiliser des technologies Open Web plus contemporaines adoptées dans MV3, telles que les Services Workers et les Promises. Les développeurs peuvent mettre à jour leurs extensions dès aujourd'hui pour profiter de ces fonctionnalités MV3; cela deviendra obligatoire au fur et à mesure que nous éliminerons MV2 à l'avenir ».

Les extensions peuvent modifier le comportement de Chrome grâce aux capacités que Manifest v3 expose. Entre autres choses, Manifest v3 limite le nombre de « règles » que les extensions peuvent appliquer à une page Web lors de son chargement. Des règles sont utilisées, par exemple, pour vérifier si un élément de site Web provient du serveur d'un annonceur et doit donc être bloqué. Google a annoncé les changements en 2018.


La réduction du nombre de règles a déclenché la colère d'éditeurs d'extensions comme le bloqueur de publicités uBlock Origin et le bloqueur de suivi Ghostery. Ils ont déclaré que les limites des règles empêcheraient leurs extensions d'exécuter leurs listes complètes d'actions pour filtrer les publicités ou bloquer le suivi. Cela pourrait permettre aux sites Web de contourner les extensions - et les préférences des personnes qui les ont installées.

Google a défendu sa technologie et fait valoir que le fait d'accorder trop de liberté aux extensions invite à l'abus. L'entreprise affirme avoir écouté les développeurs et modifié Manifest v3 en réponse. Par exemple, Google a assoupli la limite de règles initialement proposée et ajouté un nouveau mécanisme pour appliquer certaines règles. Eyeo, le développeur de l'une des extensions Adblock Plus largement utilisées, a déclaré qu'il était satisfait de l'approche Manifest V3 de Google.

Le changement induit par Manifest V3 va s'étendre à tous les navigateurs, au détriment des logiciels de blocage des publicités, a estimé Andrey Meshkov, cofondateur et directeur de la technologie d'AdGuard, une extension de blocage des publicités.

« La principale victime du Manifest V3 est l'innovation », a déclaré Meshkov dans un communiqué. Auparavant, les développeurs de bloqueurs de publicités exploraient des idées telles que l'utilisation de la technologie d'intelligence artificielle (IA) pour améliorer leurs produits. « Ce n'est plus si pertinent. Maintenant, Chrome, Safari et Edge dictent ce qui peut ou ne peut pas être bloqué et comment cela doit être fait ».

Google retarde l'exécution d'extensions Chrome vouées à l'échec avec Manifest V3

Google a retardé la transition de sa plateforme d'extension de navigateur pour les clients d'entreprise, offrant à ceux qui utilisent des versions gérées de Chrome avec les extensions obsolètes Manifest v2 (MV2) six mois supplémentaires de support.

Google a également redéfini ses délais pour les utilisateurs généraux de Chrome afin de faire que la transition vers Manifest V3 représente un moindre choc : en d'autres termes, les développeurs ont besoin de plus de temps pour réécrire leur code d'extension.

Auparavant, à partir de janvier 2023, Chrome devait cesser d'exécuter les extensions MV2. Les installations Chrome gérées par les entreprises ont eu six mois supplémentaires avec MV2, jusqu'en juin 2023.

Citation Envoyé par David Li, Product Manager at Google
L'année dernière, nous avons annoncé un calendrier pour la suppression progressive des extensions Manifest V2 alors que nous nous concentrons sur Manifest V3. Ce changement offrira aux utilisateurs de Chrome une sécurité et une tranquillité d'esprit accrues lors de la navigation et de l'installation d'extensions en offrant plus de transparence et de contrôle sur les autorisations, en ajoutant des protocoles plus stricts pour accéder aux ressources en dehors du contexte de l'extension et en garantissant que les extensions fonctionnent bien sur tous les appareils.

Chrome adoptera une approche progressive et expérimentale pour désactiver Manifest V2 afin de garantir une expérience utilisateur fluide pendant le processus de suppression. Nous souhaitons nous assurer que les développeurs disposent des informations dont ils ont besoin, avec suffisamment de temps pour passer à la nouvelle version de Manifest et pour déployer les modifications auprès de leurs utilisateurs. À l'appui de cet objectif, nous fournissons plus de détails sur la façon dont Chrome supprimera progressivement la prise en charge de Manifest V2.

Spécifiquement:
  • À partir de janvier dans Chrome 112, Chrome peut exécuter des expériences pour désactiver la prise en charge des extensions Manifest V2 dans les canaux Canary, Dev et Beta.
  • À partir de juin dans Chrome 115, Chrome peut exécuter des expériences pour désactiver la prise en charge des extensions Manifest V2 dans tous les canaux, y compris le canal stable.

Pour les développeurs qui possèdent encore des extensions exécutant Manifest V2, nous recommandons de terminer la migration vers Manifest V3 bien avant la sortie de ces versions de Chrome, car ces extensions peuvent cesser de fonctionner à tout moment après les dates susmentionnées.

Pour les entreprises, nous étendons la prise en charge de Manifest V2 via la politique d'entreprise ExtensionManifestV2Availability jusqu'en janvier 2024. Des détails supplémentaires peuvent être trouvés sur notre page de calendrier de prise en charge de Manifest V2.

Nous avons également quelques mises à jour sur l'apparence de la suppression progressive sur le Chrome Web Store*:
  • En janvier 2023, l'utilisation de Manifest V3 deviendra un prérequis pour le badge Featured car nous élevons la barre de sécurité pour les extensions que nous mettons en évidence dans le Store.
  • En juin 2023, le Chrome Web Store n'autorisera plus la publication d'éléments Manifest V2 avec une visibilité définie sur Public. Tous les éléments Manifest V2 existants dont la visibilité est définie sur Public à ce moment-là verront leur visibilité modifiée sur Non répertorié.
  • En janvier 2024, après l'expiration de la politique d'entreprise Manifest V2, le Chrome Web Store supprimera tous les éléments Manifest V2 restants du Store.

De plus, nous avons travaillé avec des développeurs d'extensions pour améliorer Manifest V3 et intégrer les commentaires de notre communauté. Sur la base des commentaires des développeurs, ces derniers mois, nous avons complété la fonctionnalité des Service Worker, introduit de nouvelles API et apporté un certain nombre d'autres améliorations à la plate-forme.

Nous savons que certains membres de notre communauté accordent une attention particulière aux ajouts de fonctionnalités en cours et aux corrections de bogues sur la plate-forme Manifest V3. Pour offrir une plus grande transparence à notre communauté, nous ajoutons également une page de progression pour les développeurs intéressés afin de suivre les problèmes prioritaires auxquels Chrome s'attaque avant les expériences de refus.

Nous remercions tous nos développeurs qui ont fourni de précieux commentaires au cours de l'année écoulée lors de la migration de leurs extensions vers Manifest V3. Nous sommes ravis de voir la croissance de l'adoption par les développeurs qui créent de nouvelles extensions et migrent celles existantes. Nous tenons également à remercier les nombreux développeurs de notre communauté qui se sont mobilisés pour fournir des conseils aux autres ayant des questions similaires.

L'EFF s'insurge contre Manifest V3 de Google et estime qu'il est « trompeur et menaçant »

Google affirme que la plateforme plus limitée est censée apporter « des améliorations en matière de sécurité, de confidentialité et de performances ». Des groupes de protection de la vie privée comme l'Electronic Frontier Foundation (EFF) contestent cette description et affirment que si Google se souciait vraiment de la sécurité du magasin d'extensions, il pourrait simplement contrôler le magasin plus activement en utilisant de vrais humains au lieu de limiter les capacités de toutes les extensions.

Le grand tueur pour les extensions de blocages publicitaires provient des changements apportés au fonctionnement des modifications des demandes de réseau. Google indique que « plutôt que d'intercepter une demande et de la modifier de manière procédurale, l'extension demande à Chrome d'évaluer et de modifier les demandes en son nom ». La solution intégrée de Chrome oblige les bloqueurs de publicités et les extensions de confidentialité à utiliser la solution primitive d'une liste brute d'URL bloquées plutôt que les règles de filtrage dynamiques mises en œuvre par des entités comme uBlock Origin. Cette liste d'URL est limitée à 30 000 entrées, alors qu'une extension de blocage d'annonces normale peut contenir plus de 300 000 règles.

Il est très préoccupant que Google utilise sa position de plus grand fournisseur de navigateurs au monde pour protéger le modèle commercial de Google en paralysant les bloqueurs de publicités et les extensions de protection de la vie privée. Il y a quelques mois, l'EFF a qualifié Manifest V3 de « trompeur et menaçant ». Le groupe de défense de la vie privée a déclaré que Manifest V3 « restreindra les capacités des extensions Web, en particulier celles qui sont conçues pour surveiller, modifier et calculer parallèlement à la conversation que votre navigateur a avec les sites Web que vous visitez. Selon les nouvelles spécifications, des extensions comme celles-ci, comme certains bloqueurs de traceurs protégeant la vie privée - auront des capacités considérablement réduites ».

Citation Envoyé par EFF
Manifest V3, le panier de changements définitif de Google Chrome dans le monde des extensions de navigateur Web, a été présenté par ses auteurs comme "un pas dans la direction de la confidentialité, de la sécurité et des performances". Mais nous pensons que ces changements sont une mauvaise opération pour les utilisateurs. Nous l'avons dit depuis l'annonce de Manifest V3, et continuons de le dire car sa mise en œuvre est désormais imminente. Comme FLoC et Privacy Sandbox avant lui, Manifest V3 est un autre exemple du conflit d'intérêts inhérent au fait que Google contrôle à la fois le navigateur Web dominant et l'un des plus grands réseaux publicitaires sur Internet.

Manifest V3, ou Mv3 en abrégé, est carrément nuisible aux efforts de confidentialité. Cela limitera les capacités des extensions Web, en particulier celles conçues pour surveiller, modifier et calculer parallèlement à la conversation de votre navigateur avec les sites Web que vous visitez. Selon les nouvelles spécifications, des extensions comme celles-ci – comme certains bloqueurs de suivi de la vie privée – auront des capacités considérablement réduites. Les efforts de Google pour limiter cet accès sont préoccupants, d'autant plus que Google a installé des trackers sur 75% du million de sites Web les plus importants.

Il est également peu probable que Mv3 fasse beaucoup pour la sécurité. Firefox maintient le plus grand marché d'extensions non basé sur Chrome, et la société a déclaré qu'elle adopterait Mv3 dans l'intérêt de la compatibilité entre navigateurs. Pourtant, lors du AdBlocker Dev Summit 2020, le responsable des opérations des modules complémentaires de Firefox a déclaré à propos du processus d'examen de la sécurité des extensions : « Pour les modules complémentaires malveillants, nous pensons que pour Firefox, il a été à un niveau gérable. ons sont principalement intéressés par la saisie de mauvaises données, ils peuvent toujours le faire avec l'API webRequest actuelle qui ne bloque pas. En clair, cela signifie que lorsqu'une extension malveillante se faufile dans le processus d'examen de la sécurité, elle est généralement intéressée à simplement observer la conversation entre votre navigateur et les sites Web que vous visitez. L'activité malveillante se produit ailleurs, après que les données ont déjà été lues. Un processus d'examen plus approfondi pourrait améliorer la sécurité, mais Chrome n'a pas dit qu'il le ferait. Au lieu de cela, leur solution consiste à restreindre les capacités de toutes les extensions.

Quant à l'autre justification de Chrome pour Mv3 - les performances - une étude réalisée en 2020 par des chercheurs de Princeton et de l'Université de Chicago a révélé que les extensions de confidentialité, celles-là mêmes qui seront entravées par Mv3, améliorent en fait les performances du navigateur.

Les spécifications de développement des extensions de navigateur Web peuvent sembler dans les mauvaises herbes, mais les implications plus larges devraient importer à tous les citoyens d'Internet : c'est une autre étape vers Google définissant comment nous arrivons à vivre en ligne. Considérant que Google est la plus grande société de publicité au monde depuis des années, ces nouvelles limitations sont paternalistes et carrément effrayantes.

Firefox va adopter Manifest V3, mais va privilégier une autre approche

Bien que Firefox ne soit pas basé sur Chromium, le support du Manifest est un élément important, car il simplifie le travail des développeurs d’extensions : un module créé sur Chrome (ou l’un de ses dérivés) est facilement transposable à Firefox, une grande partie du socle étant identique. Mais face à cette version 3, Mozilla fera les choses à sa manière.

« Manifest V3 est la prochaine itération de WebExtensions et offre la possibilité d'introduire des améliorations qui ne seraient autrement pas possibles en raison de problèmes de compatibilité descendante. MV2 avait des contraintes architecturales qui rendaient certains problèmes difficiles à résoudre ; avec MV3, nous sommes en mesure d'apporter des modifications pour résoudre ce problème.

« Une partie essentielle de l'architecture de l'extension est la page d'arrière-plan, qui vit pour toujours de par sa conception. En raison de contraintes de mémoire ou de plate-forme (par exemple sur Android), nous ne pouvons pas garantir cet état, et la fermeture de la page d'arrière-plan (avec l'extension) est parfois inévitable. Dans MV3, nous introduisons une nouvelle architecture : le script d'arrière-plan doit être conçu pour pouvoir être redémarré. Pour soutenir cela, nous avons retravaillé les API existantes et introduit de nouvelles, permettant aux extensions de déclarer comment le navigateur doit se comporter sans nécessiter le script d'arrière-plan.

« Une autre partie essentielle des extensions sont les scripts de contenu, pour interagir directement avec les pages Web. Nous bloquons les pratiques de codage dangereuses et proposons des alternatives plus sécurisées pour améliorer la sécurité de base des extensions : l'exécution de code basé sur des chaînes a été supprimée des API d'extension. De plus, pour améliorer l'isolation des données entre différentes origines, les requêtes cross-origin ne sont plus possibles à partir de scripts de contenu, sauf si le site Web de destination opte via CORS ».

Cependant, Mozilla prévient que même si le Manifest V3 sera supporté en intégralité, l’API Web Request sera préservée. La direction prise par l'équipe sera donc hybride, avec à la fois la possibilité de récupérer la nouvelle génération d’extensions, tout en préservant Web Request et les capacités qui vont avec. Une version amendée du Manifest V3, en quelque sorte.

« L'un des changements les plus controversés de l'approche MV3 de Chrome est la suppression du blocage de WebRequest, qui offre un niveau de puissance et de flexibilité essentiel pour activer les fonctionnalités avancées de confidentialité et de blocage de contenu. Malheureusement, ce pouvoir a également été utilisé pour nuire aux utilisateurs de diverses manières. La solution de Chrome dans MV3 consistait à définir une API de portée plus étroite (declarativeNetRequest) en remplacement. Cependant, cela limitera les capacités de certains types d'extensions de confidentialité sans remplacement adéquat.

« Mozilla maintiendra la prise en charge du blocage de WebRequest dans MV3. Pour maximiser la compatibilité avec d'autres navigateurs, nous fournirons également un support pour declarativeNetRequest. Nous continuerons à travailler avec les bloqueurs de contenu et d'autres consommateurs clés de cette API pour identifier les alternatives actuelles et futures, le cas échéant. Le blocage de contenu est l'un des cas d'utilisation les plus importants pour les extensions, et nous nous engageons à faire en sorte que les utilisateurs de Firefox aient accès aux meilleurs outils de confidentialité disponibles ».

Source : Google Chrome

Et vous ?

Quelle lecture faites-vous de cette situation ?
Les motivations de Google sont-elles essentiellement liées au respect de la vie privée comme l'entreprise le prétend ou voyez-vous un moyen plus ou moins efficace de se défaire du lest des bloqueurs de publicité ? Pourquoi ?

Voir aussi :

Après la colère de l'industrie du blocage de pub, Google modifie son API Manifest V3, qui limite le nombre de règles que les extensions peuvent appliquer à une page Web lors de son chargement
Extensions Chrome : Google a commencé les tests de Manifest V3 dans la version Canary de son navigateur. Les développeurs sont invités à consulter le guide de migration

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de smarties
Membre émérite https://www.developpez.com
Le 03/10/2022 à 13:23
Quelle lecture faites-vous de cette situation ?
C'est facile de mettre en avant la sécurité pour faire passer/accepter quelque chose plus facilement

Les motivations de Google sont-elles essentiellement liées au respect de la vie privée comme l'entreprise le prétend ou voyez-vous un moyen plus ou moins efficace de se défaire du lest des bloqueurs de publicité ? Pourquoi ?
Google vit des revenue publicitaire donc les bloqueurs de publicités rentrent en conflit avec son modèle économique
A toute les personnes à qui j'ai mis uBlock Origin, elles ne se sont jamais plaintes et je n'avais plus besoin d'intervenir sur leur poste car avant ils tombaient parfois sur des sites "douteux".

Je continuerais à utilisé un navigateur qui me permet d'avoir un bloqueur de publicité. Mon navigateur principal est Firefox et si il emboîtait le pas de Chrome j'en changerais.
4  0