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 : l'EFF s'insurge contre Manifest V3 de Google et estime qu'il est « trompeur et menaçant »
Firefox va l'adopter mais avec une approche différente de celle de Chrome

Le , par Stéphane le calme

236PARTAGES

18  0 
Dans moins d'un an, le Manifest V2 de Chrome ne sera plus supporté (jusqu'en juin 2023), obligeant les développeurs d’extensions à s’adapter à Manifest V3. L'équipe derrière Chrome parle du renforcement de la sécurité, des performances mais aussi de la confidentialité des utilisateurs. Toutefois, selon des éditeurs, Manifest V3 empêche les bloqueurs de publicité de jouer leur rôle dans le navigateur.

L'Electronic Frontier Foundation, un défenseur des droits numériques, s'est insurgé contre son utilisation : « Méfiez-vous des utilisateurs de Chrome*: Manifest V3 est trompeur et menaçant ». « Si l’on en croit Google, Manifest V3 améliorera la protection de la vie privée, la sécurité et les performances. Nous ne sommes absolument pas d’accord. Ces changements n’arrêteront pas les extensions malveillantes, mais ralentiront l’innovation, réduiront les capacités des extensions et heurteront les performances réelles ».

Il faut noter que Mozilla Firefox a aussi décidé d'adopter Manifest V3, mais avec une approche différente de celle de Chrome.


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 il y a dix ans. 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 ».

Les changements qui vont accompagné Manifest V3

Parmi les changements prévus, Google parle de la suppression de l’API Web Request qui est remplacée par une autre interface, nommée Declarative Net Request. Elle introduit une modification radicale : l’impossibilité pour une extension de surveiller tout le trafic. Pour des raisons de sécurité, la nouvelle API oblige les concepteurs d’extensions à déclarer à l’avance comment un certain type de trafic sera géré.

Bien entendu, ce passage de Web Request à Declarative Net Request va apporter une amélioration notable de la sécurité, puisque les extensions auront des droits limités sur ce qui circule entre le navigateur et le site web. Et cette fois de manière inhérente. Parmi les autres changements importants, signalons l’impossibilité d’accéder à du code distant – toujours pour des questions de sécurité –, ou encore le remplacement des « background pages » persistantes par les services workers, pour des gains significatifs de performances.

De nombreux comportements d’extensions liés à Manifest V2 vont être rendus optionnels par la V3, avec un intérêt majeur : un contrôle plus strict par les sas de validation, et surtout par l’utilisateur qui pourra interdire certains comportements.

L'EFF hausse le ton

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....
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

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

Avatar de Mingolito
Expert éminent https://www.developpez.com
Le 18/07/2022 à 15:20
L'EFF à raison, ce qui se passe sous Chrome c'est totalement effarant. Moi je suis Sous Firefox c'est moins pire.
2  0