Google introduit déjà WEI dans Chromium
(github.com/chromium)- Le commit Chromium
6f47a22ajuste la structure des fonctionnalités afin de permettre l’accès à l’ensemble de l’API Web lorsque Web Environment Integrity est activé via Origin Trial - Le changement clé consiste à déplacer
base::Featuredecontent_features.hvers une feature générée basée surruntime_enabled_features.json5, afin de séparer les flags de fonctionnalité du contrôle de l’exposition de l’API Web - L’API Web reste contrôlée par
RuntimeFeatureet demeure désactivée par défaut, mais l’accès à l’API devient possible lorsqu’Origin Trial l’active - Si
base::Featureest désactivée via Finch, elle devient un kill-switch pour l’ensemble de la fonctionnalité, empêchant aussi Origin Trial de l’activer - La modification couvre 15 fichiers avec 173 lignes ajoutées et 18 supprimées, et inclut pour WebView des tests exploitant la possibilité de falsifier des réponses depuis une origin connue
Changement de structure pour ouvrir l’accès à l’API WEI via Origin Trial
- Le titre du commit est
[wei] Ensure Origin Trial enables full feature, et il cible le commit6f47a22du dépôt Chromium - Le cœur du changement consiste à rendre possible l’accès complet à l’API lorsque Web Environment Integrity est activé par Origin Trial
- L’emplacement de
base::Featureest déplacé decontent_features.hvers une feature générée depuisruntime_enabled_features.json5 - Dans cette structure,
base::Featurepeut être activée par défaut, mais l’exposition de l’API Web reste gérée parRuntimeFeature, qui demeure désactivée dans l’état par défaut
Relation entre Origin Trial, RuntimeFeature et kill-switch
- Origin Trial peut activer
RuntimeFeaturepour ouvrir l’accès à l’API - Pour permettre un accès complet à l’API, non seulement
RuntimeFeaturemais aussibase::Featuredoivent être activées, et cette condition est reflétée dans les changements deorigin_trial_context.cc - Si
base::Featureest désactivée via Finch, elle agit comme un kill-switch pour l’ensemble de la fonctionnalité- Dans ce cas, cela empêche aussi Origin Trial d’activer la fonctionnalité
Comportement confirmé par les tests WebView
- Des tests WebView ont été ajoutés en tirant parti du fait qu’il est facile d’y falsifier des réponses depuis une origin connue
AwWebEnvironmentIntegrityTest.javacomprend des tests vérifiant les comportements suivants- dans l’état par défaut,
navigatorne contient pasgetEnvironmentIntegrity - lorsque
BlinkFeatures.WEB_ENVIRONMENT_INTEGRITYest activé, l’API peut être utilisée - lorsque cette feature est désactivée, l’API redevient indisponible
- avec l’en-tête et le token Origin Trial, l’appel à
getEnvironmentIntegrity('contentBinding')ainsi que le résultat deencode()sont vérifiés
- dans l’état par défaut,
- Les tests utilisent notamment l’origin
https://example.com/, l’en-têteOrigin-Trial, un token Origin Trial et la valeurTOKEN_BASE64AQIDBA==
Déplacement du chemin de code et des références à la feature
- Dans plusieurs emplacements, les références existantes à
features::kWebEnvironmentIntegritysont remplacées parblink::features::kWebEnvironmentIntegrity - Les principaux fichiers modifiés sont les suivants
- Dans Android WebView, la liste des production flags passe aussi de
ContentFeatures.WEB_ENVIRONMENT_INTEGRITYàBlinkFeatures.WEB_ENVIRONMENT_INTEGRITY
Ampleur des changements et informations sur le commit
- Le commit modifie 15 fichiers, avec 173 lignes ajoutées et 18 lignes supprimées
- Les bugs associés sont
1439945,b/278701736 - Le lien de review est
chromium-review.googlesource.com/c/chromium/src/+/4681552 - L’emplacement du commit est indiqué comme
refs/heads/main@{#1173344}
1 commentaires
Avis sur Hacker News
Comme introduction pour comprendre la situation, le récapitulatif de Vivaldi était plutôt bon
https://vivaldi.com/blog/googles-new-dangerous-web-environme...
Le navigateur par défaut de mon système d’exploitation est Firefox et toutes les autres apps le respectent, mais pendant l’installation, les liens comme la politique de confidentialité se sont ouverts dans Microsoft Edge. En plus, il n’y a aucune fonction de conteneurisation, donc pour empêcher un cookie Google d’un onglet d’être lu dans un autre, il faut ouvrir une nouvelle fenêtre de navigation privée. Dès que je l’ai désinstallé, la page demandant pourquoi je le supprimais s’est aussi ouverte dans Edge
Mozilla devrait demander l’exclusion de Google du W3C à cause de cette implémentation de Web Environment Integrity
Certains diront : « À quoi sert un W3C sans Google, alors que Chrome a 65 % de part de marché ? », mais si Google peut changer unilatéralement les principes fondamentaux du Web, le W3C est déjà inutile. Si Google veut maintenir l’apparence que le W3C compte, il doit retirer cette implémentation
Il est incroyable qu’en seulement trois jours, l’avenir potentiel du Web soit devenu aussi dangereux. Une proposition moins problématique, mais tout de même mauvaise, appelée Private Access Tokens, est déjà en cours dans les comités de standardisation, et Google l’a ignorée. La proposition a été publiée de façon très suspecte via un compte GitHub personnel, les contributions et commentaires externes ont été immédiatement fermés, et malgré la contestation, une implémentation complète est en train d’être poussée dans Chromium
Ce qu’il faut, ce sont de vraies actions, et Mozilla s’est toujours présenté comme le « véritable » gardien neutre des idéaux du Web. C’est le moment de le prouver. Se contenter de publier une prise de position contre cela ne suffit pas. C’est une attaque contre ce qui distingue fondamentalement le Web de tous les écosystèmes fermés. Si quelqu’un soumettait au W3C une proposition disant que « seuls les navigateurs existants devraient être autorisés à rendre des pages Web », la bonne réponse ne serait pas « nous nous opposons à cette proposition », mais de se demander sérieusement si son auteur a sa place dans cette organisation. C’est exactement ce qui est en train de se passer
En général cela marche bien, mais lorsqu’une implémentation pré-standard rencontre trop de succès, il peut ensuite devenir difficile de la remplacer par une implémentation conforme au standard approuvé. De gros changements surviennent souvent pendant le processus de standardisation
Un exemple est CSS Grid Layout. Microsoft l’a ajouté dans IE 10 avec le préfixe fournisseur
-ms-, presque tout le monde l’a apprécié et il a été standardisé, mais il différait tellement de l’implémentation originale de Microsoft qu’en CSS, supprimer simplement-ms-ne suffisait pas à faire fonctionner correctement le CSS Grid standardAprès le premier déploiement par Microsoft dans IE 10, il a fallu 4,5 ans avant qu’il soit activé par défaut dans les autres navigateurs. Chrome l’a ajouté comme fonctionnalité expérimentale en moins d’un an, et Firefox environ deux ans plus tard, mais les utilisateurs devaient l’activer eux-mêmes. Pendant ces 4,5 ans, suffisamment de sites ne se souciant que d’IE ont utilisé la forme
-ms-pour que Microsoft reste lié à cette forme dans IE 10 et 11, au lieu du standardInternet n’est pas fait par les organismes de standardisation, mais par les grandes entreprises. Les vrais standards vivants sont au WHATWG, et les vrais logiciels sont faits par Google, Apple, Cloudflare et Amazon. Personne ne se soucie du W3C, et Mozilla a perdu son influence depuis longtemps
À l’époque, il avait encore assez de poids pour dire : « le Web, c’est XHTML2 ; si vous voulez, faites votre propre Internet », mais aujourd’hui son pouvoir de négociation est bien plus faible
La décision de l’époque de transférer la responsabilité aux grandes entreprises de l’Internet était peut-être raisonnable dans une certaine mesure, mais au final, c’est ce qui nous a menés à la situation actuelle, qui revient pratiquement au Microsoft Network des débuts
[1]http://www.codersnotes.com/notes/the-microsoft-network/
Il ne faut pas se contenter de râler en commentaire : il faut contacter dès aujourd’hui les autorités antitrust
US : https://www.ftc.gov/enforcement/report-antitrust-violation / antitrust@ftc.gov
UE : https://competition-policy.ec.europa.eu/antitrust/contact_en / comp-greffe-antitrust@ec.europa.eu
UK : https://www.gov.uk/guidance/tell-the-cma-about-a-competition... / general.enquiries@cma.gov.uk
Inde : https://www.cci.gov.in/antitrust/ / https://www.cci.gov.in/filing/atd
Elle permet de déposer concrètement une nouvelle plainte antitrust
Cette proposition est tellement profondément hostile aux utilisateurs qu’il est même difficile de la critiquer sur le plan technique
Ce n’est pas une mauvaise proposition : c’est une proposition dangereuse, malfaisante et malveillante, donc en critiquer les détails est une perte de temps. Le problème, c’est l’ensemble, et il faut l’abandonner
Une protestation discrète ne suffira pas cette fois. L’objectif est de faire assez de bruit pour attirer l’attention des gouvernements et des régulateurs, et déclencher des procédures antitrust
Google peut aller se faire voir avec sa censure et ses rappels à « rester courtois ». Il a désormais montré son vrai visage, et son code de conduite n’est plus là pour renforcer de bonnes pratiques et un environnement accueillant, mais pour étouffer les opinions dissidentes
Je suis passé à Firefox et j’encourage les autres à faire de même
https://github.com/RupertBenWiser/Web-Environment-Integrity/...
C’est ouvertement hostile aux utilisateurs. C’est une tentative d’inverser la relation d’« agent utilisateur », pour que l’agent travaille pour les annonceurs, les entreprises et les gouvernements qui surveillent la personne derrière l’écran. La façon dont l’introduction présente cela comme quelque chose dont les utilisateurs auraient besoin ou envie est écœurante
Réécrit honnêtement, cela donnerait ceci : des entreprises comme Google doivent permettre aux annonceurs d’en savoir autant que possible sur les utilisateurs. Les revenus peuvent dépendre du fingerprinting de l’environnement client, du suivi des comportements et de l’historique, et de la preuve qu’un humain disposant d’un revenu disponible suffisant se trouve derrière le clavier. Cette extraction de données personnelles est le fondement du modèle économique de Google, et elle est essentielle au maintien de sa domination sur le web et de ses énormes marges bénéficiaires
J’ai déjà travaillé avec d’anciens membres de l’équipe Chromium, que je considère globalement comme compétents et de bonne foi, mais je ne vois ni bonne foi ni compétence dans cette proposition de spécification. J’ai l’impression que Google est passé de sa trajectoire habituelle consistant à tout absorber lentement à un comportement beaucoup plus direct et beaucoup plus autoritaire
Il y a aussi de vrais avantages à permettre aux sites web de faire plus de choses sur le web plutôt que dans des apps. Il pourrait y avoir moins de CAPTCHA et moins de bots sur les réseaux sociaux
Les plateformes que la plupart des gens utilisent en profiteront, et les utilisateurs d’Apple semblent déjà bénéficier de ce genre d’avantages
Je comprends l’argument selon lequel l’environnement open source se dégraderait. Mais google.com continuera de fonctionner. Ce sont les autres sites web qui rendront l’expérience utilisateur mauvaise
Il y a beaucoup de raisons de s’opposer à ce problème, mais son impact sur les moteurs de recherche a été peu abordé.
Si les sites web implémentent cela, il deviendra de fait impossible pour de nouveaux entrants de créer un moteur de recherche web. Les acteurs en place pourront mettre leurs propres clients sur liste blanche ou les attester, et classer tous les autres clients de scraping comme des bots.
Même sans autre raison, je ne vois pas comment on peut autoriser Google, en tant qu’entreprise de recherche, à pousser quelque chose qui lui permettrait d’utiliser sa domination sur un autre marché comme celui des navigateurs pour tuer la concurrence.
Les moteurs de navigateur de Microsoft à l’époque d’IE et d’Edge, même si IE était notoirement pénible, avaient au moins le mérite d’apporter de la concurrence dans ce domaine. Mais maintenant il ne reste plus que Chrome (Blink), Firefox (Gecko) et Safari (WebKit), et ce que Chrome a fait après avoir acquis une part de marché dominante est assez clair.
Il y a sans doute des Googlers qui croient sincèrement rendre le web plus sûr, mais si l’on prend un peu de recul, la vraie raison paraît assez évidente.
https://github.com/RupertBenWiser/Web-Environment-Integrity/...
Ou même simplement envoyer un en-tête de requête contenant un HMAC de l’URL avec une clé secrète partagée.
Plus fondamentalement, pourquoi faudrait-il scraper son propre contenu ? Il suffit de créer un backchannel arbitraire pour accéder aux données, comme Google le fait lorsqu’il insère des résultats YouTube dans ses pages de résultats de recherche. Il n’y a absolument pas besoin de proposer un site web utilement scrapable.
Encore un article modéré de The Register.
https://www.theregister.com/2023/07/25/google_web_environmen...
Même si la spécification est encore à moitié cuite, la réaction de la semaine dernière a été rapide : le dépôt GitHub de WEI a reçu un flot de commentaires majoritairement critiques, avec aussi des insultes visant l’auteur de la proposition. Les développeurs de Google ont limité les commentaires aux seules personnes ayant déjà contribué au dépôt, et publié un document de code de conduite rappelant de rester courtois.
C’est devenu une manière courante de répondre à l’opposition ces temps-ci.
À part ça, les journalistes ou les personnes qui veulent contacter directement l’auteur de la spécification peuvent consulter son site web public. Il se trouve dans l’un des autres dépôts du profil GitHub où la spécification a été publiée, et il y a aussi son adresse e-mail personnelle. Le fait qu’il ait écrit la phrase ci-dessous en 2022 est douloureusement absurde :
« Au final, j’ai décidé d’en faire une app. C’est là que les coûts ont commencé. Pour compiler l’app iOS, j’ai dû acheter un MacBook Pro d’occasion. La stratégie d’Apple est évidente et fonctionne effectivement très bien, mais je reste extrêmement énervé de ne pas pouvoir créer une app avec seulement un ordinateur portable Linux. Pour maintenir l’app plus d’un mois et permettre à mes amis de l’installer facilement, j’ai dû payer 99 dollars pour un compte développeur. Apple, je comprends que vous vouliez pousser les gens à utiliser l’App Store, mais là c’est un peu cruel. Pour continuer à utiliser ma petite app, je dois désormais payer de fait 99 dollars par an. »
[0] https://benwiser.com/blog/I-just-spent-%C2%A3700-to-have-my-...
L’esprit humain n’est pas adapté à un internet social à l’échelle d’Internet, où il existe plus de voix distinctes que de battements de cœur dans toute une vie.
Il existe une petite action, mais concrète, qu’on peut faire : ajouter discrètement sur son site web un message recommandant l’usage de Firefox
Pas besoin que ce soit très visible ; une petite phrase suffit. On peut recommander Firefox ou n’importe quel autre navigateur non basé sur Chromium
Je l’ai aussi ajouté sur mon site : https://geeklaunch.io/
Je l’ai fait afficher uniquement dans les navigateurs basés sur Chromium. On peut faire bouger les choses petit à petit
Ce site web a été conçu pour Firefox, un navigateur web respectueux de la vie privée
La classe
.hiddenpeut masquer l’élément d’une manière ou d’une autre ; ici, c’est traité comme.hidden { display: none; }Même si je suis utilisateur de Firefox, cela fait assez longtemps que je n’ai plus uniquement une bonne impression de Mozilla. Avant de faire ce genre de promotion, j’aimerais savoir que Mozilla est du bon côté sur cette question
Même si on leur explique la différence, 99 % l’auront oubliée le lendemain
Au final, cela ne sert à rien. Face à ce genre d’abus de pouvoir excessif, seules l’intervention et la régulation des pouvoirs publics peuvent aider. Google n’est pas un acteur contre lequel on peut lutter avec son portefeuille ; il est trop gros
Même en changeant explicitement l’agent utilisateur pour Firefox ou Safari, il continue d’apparaître
J’ai l’impression qu’il y a malgré tout un bon côté à toute cette affaire. À mesure que le World Wide Web est de plus en plus aseptisé et désinfecté par les codes de conduite, la censure des entreprises, la publicité, les chasses aux sorcières et toutes sortes de restrictions, j’espère que ce qui a de la valeur et de l’intérêt se déplacera vers des espaces alternatifs
L’Internet d’autrefois était un lieu où se retrouvaient les geeks, les originaux, les outsiders et les personnes aux tendances antisociales. Tout était permis et tout semblait possible. Beaucoup de gens, moi compris, espéraient que cela changerait le monde, mais cela ne s’est pas produit. Comme chacun peut le voir, c’est de nouveau le monde qui est en train de gagner. J’espère tout de même que la normalisation du Web pourra créer une masse critique de personnes qui veulent autre chose qu’une zone sécurisée pour entreprises
J’espère sincèrement un avenir où des protocoles comme Gemini, débarrassés du bruit visuel et des fonctionnalités « dynamiques », parviendront à attirer suffisamment d’utilisateurs. Même dans le cas contraire, comme je n’utilise pas les réseaux sociaux dominants, les services de Google et Microsoft, les LLM ni d’autres choses modernes et dystopiques, je n’ai pas grand-chose à perdre. Il existe assez d’excellents livres pour remplir cent vies, et suffisamment de sentiers de montagne où marcher et d’amis avec qui boire un verre. Peut-être que ce sera même mieux
Aujourd’hui, la banque s’est largement déplacée en ligne, et les banques ont fermé beaucoup d’agences physiques. Il en va de même pour l’accès aux services publics dans de nombreux pays. Le point préoccupant ici, c’est que même si un petit Internet de loisir pour geeks et outsiders survit, on pourrait ne plus pouvoir accomplir des tâches essentielles du quotidien sans navigateur pris en charge
Il faut impliquer la Wikimedia Foundation, et faire en sorte que Wikipédia ou d’autres grands hébergeurs MediaWiki n’affichent aucun contenu si cette fonctionnalité est détectée dans le navigateur
De plus, si l’on est mainteneur d’une distribution, il faudrait configurer ainsi les valeurs par défaut d’Apache et de nginx
Mieux encore, plutôt que de rediriger vers un mur de texte expliquant longuement les raisons politiques et techniques, il vaudrait mieux afficher simplement un gros message ERROR indiquant que le navigateur n’est pas pris en charge à cause de ce module, avec si possible une courte indication pour le désactiver dans
about:configUn administrateur système peut toujours modifier la configuration, mais ici on parle des valeurs par défaut
En revanche, le reste de la proposition me semble correct. Les mainteneurs de distributions pourraient désactiver WEI par défaut côté client, ou ne pas inclure de programmes clients qui l’intègrent
C’est décevant de voir un tel virage à 180 degrés par rapport à « don’t be evil »
Je recommande Mozilla Firefox à tous mes amis et à ma famille
Même parmi mes amis dans la tech, beaucoup continuent d’utiliser Chrome parce que c’est pratique, alors qu’ils pourraient simplement revenir à Chrome uniquement quand quelque chose ne fonctionne vraiment pas dans Firefox. Comment convaincre les gens qui ne s’y connaissent pas en technologie ?
Maintenant, elle utilise Firefox sans problème avec uBlock Origin non limité
La dernière fois que j’ai vérifié, la prise en charge de plusieurs profils semblait elle aussi être dans un état à moitié terminé quelque part