O que o Brave remove do mecanismo do Chromium? Seguir
(Observe que esta página é um trabalho em andamento e pode ser atualizada com frequência)
O Brave para desktop foi desenvolvido com base noprojeto Chromium de código aberto . Adicionamos recursos sobre o que já existe e também removemos recursos ou partes do código. Esses desvios que fazemos e que afetam o código principal do Chromium são feitos por meio de patches.
O Chromium não é o mesmo que o Google Chrome. Para conhecer algumas diferenças, consulte https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Como funciona
Se você quisesse fazer uma auditoria do código, começaria com o repositório do brave-browser . Nosso wiki tem instruções sobre quais etapas precisam ser executadas para realizar uma compilação após a clonagem da fonte
A fonte de cromo é buscada
O utilitário gclient (parte das ferramentas do depot) buscará o código-fonte oficial do Chromium. A tag que é buscada é capturada em nosso package.json(por exemplo,70.0.3538.35
). O download de todo o código-fonte será feito na pasta./src/
O código do Brave é buscado
Como parte do processo de configuração, também buscamos nosso próprio código. O repositório brave-core contém o código que torna o navegador Brave. O ramo que deve ser verificado também está contido nopackage.json do site . Há também um arquivo DEPS no brave-core que extrai subdependências(como a brave-extension)
Os ganchos são executados
Depois que a sincronização do gclient é executada e obtém todo o código (incluindo o brave-core), os hooks são executados. Um dos ganchos executados aplica os patches(que você pode ver aqui) que estão contidos no brave-core. Se quiser saber mais detalhes sobre COMO funciona a aplicação de patches, você pode ver nossa página wiki de aplicação de patches.
Quais recursos do Chromium foram removidos por motivos de privacidade/segurança?
Serviços & Recursos que desativamos totalmente
- A integração de contas do Google ("GAIA") está desativada
- Todos os recursos que enviam dados ao Google são removidos das configurações
- A pré-busca de DNS está desativada
- O rastreador de URLs do Google Chrome está desativado
- A confiabilidade do serviço de domínio está desativada
- As extensões em linha estão desativadas
- A sincronização em segundo plano está desativada
- Hiperlink pingatributo está desativado
- Desativar a API da bateria
- Desativar a API do WebBluetooth
- O upload do registro de depuração do WebRTC está desativado
- O upload de configurações após a redefinição do perfil está desativado
- A recuperação das configurações padrão do OEM após a redefinição do perfil está desativada
- O upload do registro de falhas de rastreamento está desativado
- O Google Cloud Messaging está desativado
- O Firebase Cloud Messaging está desativado
- As atualizações do canal do cliente push estão desativadas
- O rastreador de tempo de rede está desativado
- A normalização de endereços assistida pelo Google está desativada
-
Recursos específicos são desativados na inicialização por meio da CLI (procure por
disabled_features
) - Remover o repositório dl.google.com dos pacotes do Linux
- Desativar relatórios de métricas
- Desativar sugestões de navegação de URLs semelhantes
- Desativar observadores de relatórios e API de relatórios
- Desativar a rolagem para o fragmento de texto
- Desativar sensores de movimento
- Desativar navigator.credentials
- Desativar a integração do Android OTP
- Desativar o SXG
- Desativar NFC
- Desativar WebBundles
- Desativar dicas de cliente (lang)
- Desativar soquetes diretos / brutos
- Desativar a detecção de inatividade
- Desativar acionadores de notificação
- Desativar a API do sistema de arquivos
- Desativar a API de bens digitais
- Desativar a API serial
- Desativar o Aprendizado Federado de Coortes (FLoC)
- Desativar a API de informações de rede
Serviços que você pode proxy através do Brave Servers
O Google não recebe nenhuma informação sobre qual cliente está realizando essas solicitações (nem mesmo o seu endereço IP).
- As solicitações do SafeBrowsing são enviadas por proxy
- As solicitações de geolocalização são proxies
- As atualizações de plug-ins são enviadas por proxy
- As solicitações de revogação de certificados são enviadas por proxy
- As solicitações de CRLSets são representadas
- As solicitações de atualizações de componentes são enviadas por proxy
- As solicitações de dicionários de verificação ortográfica são representadas
- As solicitações no devtools são proxied
Pontos de extremidade com proxy
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/*/*
Recursos e funcionalidades modificados
- Os cookies têm umavida útil máxima de 7 dias para cookies definidos por meio de Javascript e 6 meses para cookies definidos por meio de HTTP
- Os valores de referenciador são limitados a
strict-origin-when-cross-origin
e só podem ser reforçados pela política de referenciador, não enfraquecidos. Além disso, as solicitações de origem cruzada de um serviço.onion
têm um cabeçalhoReferer
vazio e um cabeçalhoOrigin
nulo
, assim como o Navegador Tor. - O roteador de mídia (Chromecast) está desativado por padrão no desktop. Você pode ativá-lo alternando a chave em brave://settings.
- As pesquisas remotas de proteção de download omitem URLs e nomes de arquivos(https://github.com/brave/brave-core/pull/6763).
- Fazer com que o StorageManager.estimate informe um valor fixo (problema #11543)
- Muitos recursos têm aleatoriedade adicionada ou valores generalizados como uma defesa contra a impressão digital, incluindo:
- Métodos de readback de tela
- Agente do usuário, acompanhamentos nas edições #12097, #12638, #14740
- enumerateDevices
- Serialização de áudio da Web
- Depuração de WebGL
- Plugins
- hardwareConcurrency
- deviceMemory
- A lista de nomes de host com certificados CA fixados é substituída por umalista específica do Brave.
- Restaurar o requisito de gesto para acesso de gravação assíncrona à área de transferência
Comentários
Alguns dos problemas acima (juntamente com outros problemas) foram rastreados anteriormente em https://github.com/brave/brave-browser/issues/13.
Você pode notar algumas solicitações para os domínios do Google. Alguns deles, comoclients*.google.com
e update.googleapis.com
, são necessários para verificar se há atualizações de extensões, caso você as tenha instalado.
Como o Brave se compara ao ungoogled-chromium?
Descrição de ungoogled-chromium
de acordo com sua página no GitHub:
O ungoogled-chromium é o Google Chromium, sem integração com o Google. Ele também apresenta alguns ajustes para aprimorar a privacidade, o controle e a transparência(quase todos exigem ativação ou habilitação manual).
Temos um problema capturado para obter patches relevantes do projetoungoogled-chromium
. O projetoungoogled-chromium
também tem um problema capturado em , no qual eles mencionam a inclusão de patches do Brave.