Cosa rimuove Brave dal motore Chromium? Segui
(Nota che questa pagina è in fase di sviluppo e potrebbe essere aggiornata frequentemente)
Brave per desktop è basato sul progetto open-source Chromium. Aggiungiamo funzionalità sopra quelle esistenti e rimuoviamo anche funzionalità o pezzi di codice. Queste deviazioni che facciamo toccando il codice centrale di Chromium vengono effettuate tramite patching.
Chromium non è lo stesso di Google Chrome. Per alcune differenze, vedere https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Come funziona
Se desidera effettuare un audit del codice, inizierebbe dal repository brave-browser . Il nostro wiki ha istruzioni su quali passaggi devono essere effettuati per eseguire una build dopo aver clonato il codice sorgente
Il sorgente Chromium viene scaricato
L'utility gclient (parte degli strumenti di gestione del repository) scaricherà il codice sorgente ufficiale di Chromium. Il tag che viene scaricato è catturato nel nostro package.json(per esempio,70.0.3538.35
). Tutto il codice sorgente verrà scaricato nella cartella ./src/
Il codice Brave viene scaricato
Come parte del processo di configurazione, scarichiamo anche il nostro codice. Il repository brave-core contiene il codice che rende il browser Brave. Il branch che deve essere clonato è contenuto anche in quel package.json. C'è anche un file DEPS in brave-core che recupera sub-dipendenze (come l'estensione brave-extension)
Vengono eseguiti degli hook
Dopo che il comando gclient sync viene eseguito e scarica tutto il codice (incluso brave-core), vengono eseguiti gli hook. Uno degli hook che viene eseguito applica le patch (che può vedere qui) che sono contenute in brave-core. Se desidera conoscere maggiori dettagli su COME funziona il patching, può consultare la nostra pagina wiki sul patching.
Quali funzionalità di Chromium vengono rimosse per motivi di privacy/sicurezza?
Servizi & Funzionalità che Disabilitiamo Completamente
- L'integrazione degli account Google ("GAIA") è disabilitata
- Tutte le funzionalità che inviano dati a Google vengono rimosse dalle impostazioni
- Il prefetching DNS è disabilitato
- Google URL Tracker di Chrome è disabilitato
- L'affidabilità del servizio di dominio è disabilitata
- Le estensioni in linea sono disabilitate
- La sincronizzazione in background è disabilitata
- L'attributo
ping
del collegamento ipertestuale è disabilitato - Disabilita API della Batteria
- Disabilita API WebBluetooth
- Il caricamento dei log di debug WebRTC è disabilitato
- Il caricamento delle impostazioni dopo il ripristino del profilo è disabilitato
- Il recupero delle impostazioni predefinite OEM dopo il ripristino del profilo è disabilitato
- Il caricamento dei log di crash è disabilitato
- Google Cloud Messaging è disabilitato
- Firebase Cloud Messaging è disabilitato
- Gli aggiornamenti del canale del client Push sono disabilitati
- Il tracker del tempo di rete è disabilitato
- La normalizzazione degli indirizzi assistita da Google è disabilitata
-
Funzionalità specifiche sono disabilitate all'avvio tramite CLI (cercare
disabled_features
) - Rimuovi il repository dl.google.com dai pacchetti Linux
- Disabilita rapporti di metriche
- Disabilita i suggerimenti di navigazione degli URL simili
- Disabilita gli osservatori dei rapporti e API di segnalazione
- Disabilita il frammento di testo Scorri per
- Disabilita sensori di movimento
- Disabilita navigator.credentials
- Disabilita l'integrazione OTP di Android
- Disabilita SXG
- Disabilita NFC
- Disabilita WebBundles
- Disabilita gli indizi del client (lang)
- Disabilita Sockets Diretti/Raw
- Disabilita rilevazione di inattività
- Disabilita i trigger di notifica
- Disabilita File System API
- Disabilita Digital Goods API
- Disabilita Serial API
- Disabilita Apprendimento Federato di Coorti (FLoC)
- Disabilita Network Information API
Servizi che proxi attraverso i server di Brave
Google non riceve alcuna informazione su quale client sta eseguendo queste richieste (neanche il Suo indirizzo IP).
- Le richieste di SafeBrowsing sono proxate
- Le richieste di geolocalizzazione sono proxate
- Gli aggiornamenti del plugin sono proxati
- Le richieste di revoca dei certificati sono proxy
- Le richieste per i CRLSets sono proxyate
- Le richieste per gli aggiornamenti dei componenti sono proxyate
- Le richieste per i dizionari del correttore ortografico sono proxyate
- Le richieste negli strumenti per sviluppatori sono proxyate
Endpoint proxyati
https://dl.google.com/release2/chrome_component/*crl-set*
https://*.gvt1.com/edgedl/release2/chrome_component/*
https://*.gvt1.com/edgedl/chrome/dict/*.bdic
https://storage.googleapis.com/update-delta/hfnkpimlhhgieaddgfemjhofmfblmnib/.+crxd
https://safebrowsing.googleapis.com/
https://sb-ssl.google.com/
https://safebrowsing.google.com
https://ssl.gstatic.com
https://gstatic.com
https://update.googleapis.com
https://chrome-devtools-frontend.appspot.com
https://clients2.googleusercontent.com
https://clients2.google.com
https://clients4.google.com
https://chrome-devtools-frontend.appspot.com
https://accounts.google.com
https://*.infura.io
https://*.gvt1.com/edgel/chromewebstore/*/*
https://*.gvt1.com/edgedl/release2/*/*
http://dl.google.com/release2/*/*
Funzionalità e caratteristiche modificate
- I cookie hanno unadurata massimadi 7 giorni per i cookie impostati tramite JavaScript e di 6 mesi per i cookie impostati tramite HTTP
- I valori del referrer sono limitati a
strict-origin-when-cross-origin
e possono essere solo rafforzati dalla policy del referrer, non indeboliti. Inoltre, le richieste cross-origin da un servizio.onion
hanno un'intestazione diReferer
vuota e un'intestazionenull
Origin
, proprio come nel browser Tor. - Media Router (Chromecast) è disabilitato di default su Desktop. Può essere attivato cambiando l'interruttore in brave://settings.
- Le ricerche remote di protezione dai download omettono URL e nomi di file (https://github.com/brave/brave-core/pull/6763).
- Il report di StorageManager.estimate segnala un valore fisso (problema #11543)
- Molte caratteristiche hanno aggiunto la casualità o hanno generalizzato i valori come difesa contro il fingerprinting, inclusi:
- L'elenco dei nomi host con certificati CA bloccati viene sostituito con uno specifico per Braveuno specifico per Brave.
- Ripristino del requisito del gesto per l'accesso in scrittura asincrona negli appunti
Commenti
Alcuni dei punti sopra elencati (insieme ad altre questioni) sono stati precedentemente tracciati in https://github.com/brave/brave-browser/issues/13.
Potrebbe notare alcune richieste a domini di Google. Alcune di queste, comeclients*.google.com
e update.googleapis.com
sono necessarie per controllare gli aggiornamenti delle estensioni se ha installato estensioni.
Come Brave si confronta con ungoogled-chromium?
Descrizione di ungoogled-chromium
, secondo la loro pagina GitHub:
ungoogled-chromium è Google Chromium, senza integrazione con Google. Include anche alcune modifiche per migliorare la privacy, il controllo e la trasparenza(quasi tutte richiedono l'attivazione manuale).
Abbiamo acquisito un problema per importare patch rilevanti dalungoogled-chromium
progetto. Ilungoogled-chromium
progetto ha similmente acquisito un problema dove menzionano l'importazione di patch da Brave.