¿Qué elimina Brave del motor Chromium? Seguir
(Ten en cuenta que esta página es un trabajo en curso y puede actualizarse con frecuencia)
Brave para ordenador de escritorio está construido sobre el proyecto Chromium de código abierto. Añadimos funciones sobre lo que ya existe y también eliminamos funciones o partes del código. Estas desviaciones que hacemos que tocan el núcleo del código de Chromium se hacen mediante parches.
Chromium no es lo mismo que Google Chrome. Para conocer algunas diferencias, consulta https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Cómo funciona
Si quisieras hacer una auditoría del código, comenzarías con el repositorio brave-browser. Nuestra wiki tiene instrucciones sobre qué pasos deben seguirse para realizar una compilación después de clonar el código fuente
Se obtiene la fuente de Chromium
La utilidad gclient (parte de depot tools) obtendrá el código fuente oficial de Chromium. La etiqueta que se obtiene está capturada en nuestro package.json (por ejemplo,70.0.3538.35). Todo el código fuente se descargará en la carpeta./src/
Se obtiene el código de Brave
Como parte del proceso de configuración, también obtenemos nuestro propio código. El repositorio brave-core tiene el código que hace que el navegador sea Brave. La rama que debe comprobarse también está contenida en ese package.json. También hay un archivo DEPS en brave-core que extrae subdependencias (como la extensión brave)
Los ganchos se ejecutan
Después de que se ejecute la sincronización con gclient y se recupere todo el código (incluido brave-core), se ejecutan los ganchos. Uno de los ganchos que se ejecutan aplica los parches(que puedes ver aquí) que contiene brave-core. Si quieres saber más detalles sobre CÓMO funciona el parcheado, puedes ver nuestra página wiki sobre parcheado.
¿Qué funciones de Chromium se eliminan por motivos de privacidad/seguridad?
Servicios & Funciones que desactivamos por completo
- Chrome Privacy Sandbox. Hay varios API agrupados juntos en Privacy Sandbox y nuestro objetivo es desactivar todos dadas nuestras preocupaciones.
- La integración de cuentas de Google ("GAIA") está desactivada
- Todas las funciones que envían datos a Google se eliminan de la configuración
- DNS prefetching desactivado
- El Rastreador de URL de Google en Chrome está desactivado
- La fiabilidad del servicio de dominio está desactivada
- Las extensiones en línea están desactivadas
- La sincronización en segundo plano está desactivada
- Hiperenlace
pingatributo está desactivado - Desactivar API de Batería
- Desactivar la API WebBluetooth
- La carga del registro de depuración de WebRTC está desactivada
- La carga de ajustes tras restablecer el perfil está desactivada
- La recuperación de los ajustes por defecto del OEM tras restablecer el perfil está desactivada
- La carga del registro de fallos de seguimiento está desactivada
- Google Cloud Messaging está desactivado
- Firebase Cloud Messaging está desactivado
- Las actualizaciones del canal cliente Push están desactivadas
- El rastreador de tiempo de red está desactivado
- La normalización de direcciones asistida por Google está desactivada
-
Las funciones específicas se desactivan al inicio a través de la CLI (busca
disabled_features) - Eliminar el repositorio dl.google.com de los paquetes Linux
- Desactivar los informes de métricas
- Desactivar las sugerencias de navegación de URLs similares
- Desactivar los observadores de informes y la API de informes
- Desactivar desplazamiento a fragmento de texto
- Desactivar Sensores de Movimiento
- Desactivar navigator.credentials
- Desactivar la integración OTP de Android
- Desactivar SXG
- Desactivar NFC
- Desactivar WebBundles
- Desactivar las Sugerencias del Cliente (lang)
- Desactivar enchufes directos / crudos
- Desactivar la detección de ralentí
- Desactivar activadores de notificaciones
- Desactivar la API del Sistema de Archivos
- Desactivar la API de Bienes Digitales
- Desactivar API serie
- Desactivar el Aprendizaje Federado de Cohortes (FLoC)
- Desactivar la API de Información de Red
- Auditoría SCT
- Buscador de afiliación de sitios (parte del gestor de contraseñas)
- Desactiva kOptimizationGuideFetchingForSRP
- Desactiva Web Environment Integrity
- Desactiva Sitios Populares (también llamados Top Sites)
- Desactiva Trust Tokens / Private State Tokens
Servicios que proxyamos a través de Brave Servers
Google no recibe ninguna información sobre qué cliente está realizando estas solicitudes (ni siquiera tu dirección IP).
- Las peticiones SafeBrowsing son proxies
- Las solicitudes de geolocalización son proxy
- Las actualizaciones de plugins son proxy
- Las solicitudes de revocación de certificados se delegan
- Las solicitudes de CRLSets son proxies
- Las solicitudes de actualización de componentes se envían por proxy
- Las peticiones de diccionarios de corrección ortográfica se hacen por delegación
- Las peticiones en devtools son proxies
- Las solicitudes de favicon de la página del motor de búsqueda (Android) se procesan mediante proxy
Puntos finales apoderados
https://dl.google.com/release2/chrome_component/*crl-set*https://*.gvt1.com/edgedl/release2/chrome_component/*https://*.gvt1.com/edgedl/chrome/dict/*.bdichttps://storage.googleapis.com/update-delta/hfnkpimlhhgieaddgfemjhofmfblmnib/.+crxdhttps://safebrowsing.googleapis.com/https://sb-ssl.google.com/https://safebrowsing.google.comhttps://ssl.gstatic.comhttps://gstatic.comhttps://update.googleapis.comhttps://chrome-devtools-frontend.appspot.comhttps://clients2.googleusercontent.comhttps://clients2.google.comhttps://clients4.google.comhttps://chrome-devtools-frontend.appspot.comhttps://accounts.google.comhttps://*.infura.iohttps://*.gvt1.com/edgel/chromewebstore/*/*https://*.gvt1.com/edgedl/release2/*/*http://dl.google.com/release2/*/*
Características y funcionalidad modificadas
-
Cookies:
- Las cookies tienen un tiempo máximo de vida de 7 días para cookies establecidas a través de JavaScript y 6 meses para cookies establecidas a través de HTTP
- Las cookies de sesión se limpian al reiniciar si el modo "Continuar donde lo dejaste" está habilitado (que es el predeterminado en Brave).
- Las cookies de terceros siempre se bloquean a nivel de encabezado HTTP, pero damos acceso JavaScript a almacenamiento efímero particionado en páginas (obtén más información sobre almacenamiento efímero particionado).
- La API Battery siempre devuelve un valor fijo.
- Los valores de remitente están limitados a
strict-origin-when-cross-originy solo pueden reforzarse mediante la política de remitente, no debilitarse. Además, las solicitudes entre orígenes de un servicio.oniontienen un encabezadoReferervacío y un encabezadoOriginnulo igual que el Navegador Tor. -
Las entradas
.onionse reemplazan con"null"endocument.location.ancestorOrigins()a menos que tales entradas sean del mismo origen que el marco más interno. - La extensión Hangouts está desactivada por defecto. También desactivamos la carga de registros en los servidores de Google: https://github.com/brave/brave-browser/issues/1993.
- El router multimedia (Chromecast) está desactivado por defecto en el escritorio. Puedes activarlo cambiando el interruptor en brave://settings.
- Las consultas remotas de protección de descargas omiten URL y nombres de archivos (https://github.com/brave/brave-core/pull/6763).
- Hacer que StorageManager.estimate informe un valor fijo (problema #11543)
- Muchas características tienen aleatoriedad añadida o valores generalizados como defensa contra el rastreo digital, incluyendo:
- Métodos de lectura de canvas
- Agente de usuario, seguimientos en los problemas #12097, #12638, #14740
- enumerateDevices
- Serialización de audio web
- Depuración WebGL
- Plugins
- hardwareConcurrency
- deviceMemory
- La lista de nombres de host con certificados CA anclados se sustituye por una específica de Brave.
- Restablecer el requisito de gesto para el acceso asíncrono a la escritura en el portapapeles
- Las advertencias de descarga peligrosa siempre se muestran cuando Safe Browsing está APAGADO, pero una bandera para desactivar las advertencias está disponible para usuarios avanzados.
- La funcionalidad del panel lateral de Chromium se ha fusionado con la Barra lateral de Brave.
- La API Web Serial está APAGADA pero una bandera para activar está disponible para usuarios avanzados.
- Mejorado el cuadro de diálogo de permiso de geolocalización para informar al usuario si el sitio que está visitando ha solicitado datos de ubicación con la opción
enableHighAccuracy. - Los Observadores de Informes están habilitados pero no funcionan (llamar será una no-op). Consulta aquí para ver dónde se desactivó y consulta aquí para ver dónde se reactivó pero se hizo que no haga nada.
- Open Search agregando motores tiene un conmutador (
Indexar otros motores de búsqueda) y está desactivado por defecto. - El acceso a la API de Acceso de Almacenamiento está desactivado en Brave mediante el rechazo siempre de la solicitud de permiso.
- Cuando la política de grupo está en vigor, Brave NO desactiva DNS seguro. Chrome/Chromium desactivará DNS seguro en la IU y forzará al administrador a definir una política si quiere un valor distinto de
Off. Consulta aquí y aquí.
Comentarios
Algunas de las cuestiones anteriores (junto con otras) ya se trataron en https://github.com/brave/brave-browser/issues/13.
Puede que notes algunas peticiones a dominios de Google. Algunas de ellas, comoclients*.google.comyupdate.googleapis.comson necesarias para buscar actualizaciones de extensiones si las has instalado.
¿Cómo se compara Brave con ungoogled-chromium?
Descripción de ungoogled-chromium según su página de GitHub:
ungoogled-chromium es Google Chromium, sin integración con Google. También incluye algunos ajustes para mejorar la privacidad, el control y la transparencia(casi todos los cuales requieren activación o habilitación manual).
Hemos capturado un problema para extraer los parches pertinentes del proyectoungoogled-chromium. El proyectoungoogled-chromiumtiene igualmente un problema capturado donde mencionan la incorporación de parches de Brave.