Google ya está incorporando WEI en Chromium
(github.com/chromium)- El commit de Chromium
6f47a22ajusta la estructura de la feature para que, al activar Web Environment Integrity como Origin Trial, se pueda acceder a toda la API web - El cambio clave es que
base::Featurepasa decontent_features.ha una feature generada basada enruntime_enabled_features.json5, separando el flag de la función del control de exposición de la API web - La API web sigue controlada por
RuntimeFeaturey permanece desactivada por defecto, pero si un Origin Trial la activa, el acceso a la API queda disponible - Si se desactiva
base::Featuremediante Finch, funciona como kill-switch de toda la función, impidiendo también que un Origin Trial la active - El cambio consta de 173 líneas agregadas y 18 eliminadas en 15 archivos, y se agregó una prueba para WebView que aprovecha la posibilidad de falsificar respuestas desde un origin conocido
Cambio de estructura para habilitar el acceso a la API de WEI mediante Origin Trial
- El título del commit es
[wei] Ensure Origin Trial enables full featurey corresponde al commit6f47a22del repositorio de Chromium - El eje del cambio es permitir el acceso completo a la API cuando Web Environment Integrity se activa mediante Origin Trial
- La ubicación de
base::Featurese movió desdecontent_features.ha una feature generada porruntime_enabled_features.json5 - En esta estructura,
base::Featurepuede estar activada por defecto, pero la exposición de la API web queda a cargo deRuntimeFeaturey permanece apagada en el estado predeterminado
Relación entre Origin Trial, RuntimeFeature y el kill-switch
- Origin Trial puede activar
RuntimeFeaturepara abrir el acceso a la API - Para que el acceso completo a la API esté disponible, no solo
RuntimeFeaturesino tambiénbase::Featuredeben estar activadas; la condición relacionada se refleja en los cambios deorigin_trial_context.cc - Si
base::Featurese desactiva mediante Finch, actúa como kill-switch de toda la función- En ese caso, también se bloquea que un Origin Trial active la función
Comportamiento verificado con pruebas de WebView
- Se agregó una prueba de WebView aprovechando que es fácil falsificar respuestas desde un origin conocido
AwWebEnvironmentIntegrityTest.javaincluye pruebas que verifican lo siguiente- En el estado predeterminado,
navigatorno tienegetEnvironmentIntegrity - Al activar
BlinkFeatures.WEB_ENVIRONMENT_INTEGRITY, la API puede usarse - Al desactivar esa feature, la API vuelve a quedar no disponible
- Con el header y el token de Origin Trial, se verifica la llamada a
getEnvironmentIntegrity('contentBinding')y el resultado deencode()
- En el estado predeterminado,
- En la prueba se usan el origin
https://example.com/, el headerOrigin-Trial, un token de Origin Trial y el valorTOKEN_BASE64AQIDBA==, entre otros
Rutas de código y traslado de referencias a la feature
- Las referencias existentes a
features::kWebEnvironmentIntegrityen varios lugares cambiaron ablink::features::kWebEnvironmentIntegrity - Los principales archivos modificados son los siguientes
- La lista de production flags de Android WebView también cambió de
ContentFeatures.WEB_ENVIRONMENT_INTEGRITYaBlinkFeatures.WEB_ENVIRONMENT_INTEGRITY
Alcance del cambio e información del commit
- El commit modificó 15 archivos, con 173 líneas agregadas y 18 líneas eliminadas
- Los bugs relacionados son
1439945,b/278701736 - El enlace de revisión es
chromium-review.googlesource.com/c/chromium/src/+/4681552 - La ubicación del commit aparece como
refs/heads/main@{#1173344}
1 comentarios
Opiniones en Hacker News
Como material introductorio para entender la situación, el resumen de Vivaldi me pareció bueno
https://vivaldi.com/blog/googles-new-dangerous-web-environme...
El navegador predeterminado del sistema operativo está configurado como Firefox y todas las demás apps lo respetan, pero durante la instalación, al abrir enlaces como la política de privacidad, usó Microsoft Edge. Además, no tiene ninguna función de contenedores, así que para impedir que una cookie de Google de una pestaña se lea en otra, hay que usar una nueva ventana privada. Apenas lo desinstalé, también abrió en Edge la página que pregunta por qué lo estaba eliminando
Mozilla debería exigir que expulsen a Google del W3C por esta implementación de Web Environment Integrity
Seguro dirán: “¿de qué sirve un W3C sin Google, si Chrome tiene 65% de cuota?”, pero si Google puede cambiar unilateralmente los principios básicos de la web, entonces el W3C ya no sirve de nada. Si Google quiere mantener la apariencia de que el W3C importa, debería retirar esta implementación
Es increíble que en solo 3 días el posible futuro de la web se haya vuelto tan peligroso. Ya hay una propuesta menos problemática, aunque igual mala, llamada Private Access Tokens, avanzando en comités de estándares, pero Google la ignoró. Presentó la propuesta de forma muy sospechosa con una cuenta personal de GitHub, cerró de inmediato las contribuciones y comentarios externos y, pese a la reacción en contra, está metiendo una implementación completa en Chromium
Lo que hace falta es acción real, y Mozilla siempre se ha presentado como el guardián neutral “auténtico” que defiende los ideales de la web. Ahora es momento de demostrarlo. No basta con simplemente declarar oposición. Esto es un ataque a los fundamentos que han distinguido a la web de todos los ecosistemas cerrados. Si alguien presentara ante el W3C una propuesta de que “solo los navegadores existentes deberían poder renderizar páginas web”, la respuesta correcta no sería “nos oponemos a esa propuesta”, sino cuestionar seriamente si quien la presentó merece participar en esa organización. Eso es exactamente lo que está pasando ahora
Por lo general funciona bien, pero si la implementación previa al estándar tiene demasiado éxito, a veces después se vuelve difícil cambiarla por una implementación que siga el estándar aprobado. Esto se debe a que en el proceso de estandarización suelen surgir cambios grandes
Un ejemplo es CSS Grid Layout. Microsoft lo agregó en IE 10 con el prefijo de proveedor
-ms-, a casi todo el mundo le gustó y se estandarizó, pero terminó siendo bastante distinto de la implementación original de Microsoft, así que en CSS no bastaba con quitar-ms-para que CSS Grid estándar funcionara correctamenteDesde que Microsoft lo lanzó por primera vez en IE 10 hasta que otros navegadores lo activaron por defecto pasaron 4,5 años. Chrome lo incorporó como función experimental en menos de un año, y Firefox unos 2 años después, pero el usuario tenía que activarlo manualmente. Durante esos 4,5 años, suficientes sitios que solo se preocupaban por IE usaron el formato
-ms-, de modo que Microsoft quedó atado a ese formato en IE 10 y 11 en lugar del estándarInternet no lo hacen los organismos de estándares, sino las grandes empresas. Los estándares vivos reales están en WHATWG, y el software real lo hacen Google, Apple, Cloudflare y Amazon. A nadie le importa el W3C, y Mozilla perdió su poder hace mucho
En ese momento aún tenía el peso suficiente para decir “la web es XHTML2 y, si quieren, hagan su propio internet”, pero ahora su poder de negociación es mucho menor
Puede que la decisión de transferir la responsabilidad a las grandes empresas de internet haya sido hasta cierto punto razonable en aquel entonces, pero al final es la causa de que hayamos llegado a una situación que, en la práctica, se parece a volver a la Microsoft Network inicial
[1]http://www.codersnotes.com/notes/the-microsoft-network/
No te limites a quejarte en los comentarios: hoy mismo hay que contactar a las autoridades antimonopolio
EE. UU.: 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
Reino Unido: https://www.gov.uk/guidance/tell-the-cma-about-a-competition... / general.enquiries@cma.gov.uk
India: https://www.cci.gov.in/antitrust/ / https://www.cci.gov.in/filing/atd
Ahí se puede crear específicamente una nueva queja antimonopolio
Esta propuesta es tan profundamente hostil al usuario que hasta cuesta criticarla con argumentos técnicos
No es una mala propuesta; es una propuesta peligrosa, malvada y maliciosa, así que criticar los detalles es una pérdida de tiempo. El problema es todo el conjunto y debe descartarse
Una protesta silenciosa no va a funcionar esta vez. El objetivo es hacer suficiente ruido para atraer la atención de gobiernos y reguladores, y lograr que se inicien procedimientos antimonopolio
Google puede irse al diablo con su censura y sus avisos de “mantener la cordialidad”. Ya mostró su verdadera cara, y el código de conducta se convirtió en una herramienta para acallar el disenso, no para reforzar buenas prácticas y un entorno acogedor
Me cambié a Firefox y recomiendo a otros hacer lo mismo
https://github.com/RupertBenWiser/Web-Environment-Integrity/...
Es abiertamente hostil al usuario. Es un intento de invertir la relación del “user agent”, para hacer que el agente trabaje para anunciantes, empresas y gobiernos que vigilan a la persona detrás de la pantalla. La forma en que la introducción lo presenta como algo que los usuarios necesitan o quieren da asco
Reescrito con honestidad, sería así: empresas como Google necesitan que los anunciantes puedan saber tanto como sea posible sobre los usuarios. Sus ingresos pueden depender de tomar huellas digitales del entorno del cliente, rastrear comportamientos e historiales, y demostrar que detrás del teclado hay un ser humano con suficiente ingreso disponible. Esta minería de datos personales es la base del modelo de negocio de Google y es esencial para mantener su dominio de la web y sus enormes márgenes de ganancia
Trabajé antes con integrantes del equipo de Chromium y, en general, los consideraba competentes y bienintencionados, pero en esta propuesta de especificación no veo ni buena intención ni competencia. Se siente como si Google hubiera pasado de su dinámica habitual de absorberlo todo lentamente a una dirección mucho más directa y autoritaria
También tiene beneficios reales: permite que los sitios web hagan más cosas en la web en lugar de usar apps. Podría haber menos CAPTCHA y menos bots en redes sociales
Las plataformas que usa la mayoría se beneficiarían, y parece que los usuarios de Apple ya disfrutan de ese tipo de beneficios
Entiendo el argumento de que empeora el entorno open source. Pero google.com seguirá funcionando. Quienes harán peor la experiencia de uso serán otros sitios web
Hay muchas razones para oponerse a este problema, pero no se ha hablado mucho de su impacto en los motores de búsqueda.
Si los sitios web implementan esto, será prácticamente imposible que nuevos actores creen un motor de búsqueda web. Los incumbentes pueden poner sus propios clientes en una lista de permitidos o certificarlos, y clasificar a todos los demás clientes de scraping como bots.
Aunque no hubiera otra razón, no veo cómo se puede permitir que Google, una empresa de búsqueda, impulse algo que puede matar a la competencia usando su dominio de mercado en otra área, como los navegadores.
El motor de navegador de Microsoft en la época de IE y Edge, por más que IE fuera célebremente doloroso, era de agradecer porque aportaba competencia en este ámbito. Pero ahora solo quedan Chrome (Blink), Firefox (Gecko) y Safari (WebKit), y lo que hizo Chrome después de conseguir una cuota dominante es bastante evidente.
Puede que haya Googlers que crean sinceramente que están haciendo de la web un lugar más seguro, pero si uno toma distancia, la verdadera razón parece bastante clara.
https://github.com/RupertBenWiser/Web-Environment-Integrity/...
O incluso bastaría con enviar un encabezado de solicitud con el HMAC de la URL usando una clave secreta compartida.
Más fundamentalmente, ¿por qué tendrían que scrapear su propio contenido? Pueden crear cualquier canal alternativo para acceder a los datos, como hace Google cuando incluye resultados de YouTube en la página de resultados de búsqueda. No hay ninguna necesidad de ofrecer un sitio web que pueda scrapearse de forma útil.
Otro artículo moderado de The Register.
https://www.theregister.com/2023/07/25/google_web_environmen...
Aunque la especificación está a medio cocinar, la reacción en contra de la semana pasada fue rápida: el repositorio de WEI en GitHub se llenó de comentarios mayormente críticos, y también hubo insultos dirigidos al autor de la propuesta. Los desarrolladores de Google restringieron los comentarios para que solo pudieran comentar quienes ya habían contribuido antes al repositorio, y publicaron un documento de código de conducta como recordatorio para mantener la cortesía.
Es una forma común hoy en día de responder a la oposición.
Por separado, los periodistas o personas que quieran contactar directamente al autor de la especificación pueden mirar su sitio web público. Está en otro de los repositorios del perfil de GitHub donde se publicó la especificación, y también aparece su correo personal. Que él haya escrito lo siguiente en 2022 resulta dolorosamente absurdo:
“Al final decidí convertir esto en una app. Ahí fue cuando empezó a costar dinero. Tuve que comprar una MacBook Pro usada para compilar la app de iOS. La estrategia de Apple es obvia y en realidad funciona bien, pero me sigue dando muchísima rabia no poder crear una app solo con una laptop Linux. Para mantener la app por más de un mes y que mis amigos pudieran instalarla fácilmente, tuve que pagar 99 dólares por una cuenta de desarrollador. Apple, entiendo que quieras hacer que la gente use la App Store, pero esto es un poco cruel. Ahora, en la práctica, tengo que pagar 99 dólares al año para seguir usando mi pequeña app.”
[0] https://benwiser.com/blog/I-just-spent-%C2%A3700-to-have-my-...
La mente humana no está adaptada a una internet social a escala de internet, donde existen más voces distintas que latidos del corazón en toda una vida.
Hay una acción pequeña, pero que realmente se puede hacer: poner en tu sitio web un mensaje sutil que recomiende usar Firefox.
No tiene que ser algo muy llamativo; basta con una frase pequeña. Puede recomendar Firefox o cualquier otro navegador que no esté basado en Chromium.
Yo también lo agregué a mi sitio: https://geeklaunch.io/
Hice que solo se muestre en navegadores basados en Chromium. Poco a poco se puede cambiar la tendencia.
Este sitio web fue diseñado para Firefox, un navegador web que respeta la privacidad
La clase
.hiddenpuede ocultar el elemento de cualquier forma; aquí se maneja como.hidden { display: none; }.Aunque soy usuario de Firefox, desde hace bastante tiempo no tengo una impresión exclusivamente positiva de Mozilla. Antes de promocionarlo así, quisiera saber que Mozilla está del lado correcto en este asunto.
Aunque les expliques la diferencia, el 99% lo habrá olvidado al día siguiente.
Al final no sirve de nada. Ante este abuso excesivo de poder, solo la intervención y la regulación del gobierno pueden ayudar. Google no es un rival al que se le pueda enfrentar con la billetera; es demasiado grande.
Incluso si cambio explícitamente el agente de usuario a Firefox o Safari, sigue apareciendo.
Siento que, aun con todo esto, hay un lado positivo. A medida que la World Wide Web se vaya purificando y esterilizando cada vez más con códigos de conducta, censura corporativa, publicidad, cacerías de brujas y todo tipo de restricciones, espero que las partes valiosas e interesantes fluyan hacia espacios alternativos.
La internet de antes era un lugar donde se reunían geeks, gente rara, outsiders y personas con tendencias antisociales. Todo estaba permitido y todo era posible. Muchos, incluido yo, esperábamos que eso cambiara el mundo, pero no ocurrió. Como todos vemos, el mundo está ganando de nuevo. Aun así, espero que la normalización de la web genere una masa crítica de personas que quieran algo más que una zona segura corporativa.
Sinceramente espero un futuro en el que protocolos como Gemini, despojados del ruido visual y las funciones “dinámicas”, consigan suficientes usuarios. Y si no, como alguien que no usa las redes sociales mainstream, ni los servicios de Google y Microsoft, ni LLMs ni otras cosas modernas y distópicas, tampoco tengo mucho que perder. Hay suficientes libros excelentes para llenar cien vidas, senderos de montaña por caminar y amigos con quienes beber. Quizá hasta sea mejor así.
Ahora la banca se trasladó mayormente a internet y los bancos eliminaron muchas sucursales físicas. Lo mismo pasa con el acceso a servicios gubernamentales en muchos países. Lo preocupante aquí es que, aunque sobreviva una pequeña internet de aficionados para geeks y outsiders, sin un navegador compatible no se podrán realizar tareas cotidianas importantes.
Hay que involucrar a la Wikimedia Foundation y hacer que Wikipedia u otros grandes hosts de MediaWiki no muestren ningún contenido si detectan esta función en el navegador.
Además, si eres mantenedor de una distribución, deberías configurar así los valores predeterminados de Apache y nginx.
Más aún, en vez de redirigir a un muro de texto que explique extensamente las razones políticas y técnicas, sería mejor mostrar solo un mensaje de ERROR grande que diga que el navegador no es compatible debido a este módulo y, si es posible, una breve guía para desactivarlo en
about:config.Un administrador de sistemas podría cambiar la configuración, pero aquí estamos hablando de los valores predeterminados.
Dicho eso, el resto de la propuesta me parece bien. Los mantenedores de distribuciones también podrían desactivar WEI en la configuración predeterminada del cliente o no incluir programas cliente que incorporen WEI.
Es decepcionante ver este giro de 180 grados respecto de “don’t be evil”.
Estoy recomendando Mozilla Firefox a todos mis amigos y familiares.
Incluso entre mis amigos del sector tecnológico, muchos siguen usando Chrome por comodidad, aunque podrían volver a Chrome solo cuando algo realmente no funcione en Firefox. ¿Cómo se supone que convenzamos a quienes no saben mucho de tecnología?
Ahora usa Firefox sin problemas junto con uBlock Origin sin funciones limitadas.
La última vez que revisé, incluso el soporte para múltiples perfiles estaba en algún estado a medio hacer.