Qu’est-ce que Brave supprime du moteur Chromium ? S’abonner
(Notez que cette page est en cours de rédaction et peut être mise à jour fréquemment)
Brave pour ordinateur de bureau est basé sur le projet open-source Chromium. Nous ajoutons des fonctionnalités en plus de ce qui est déjà présent et nous supprimons également des fonctionnalités ou des parties du code. Ces modifications que nous apportons au code central de Chromium sont réalisées via des correctifs.
Chromium n’est pas la même chose que Google Chrome. Pour quelques différences, consultez https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Comment ça fonctionne
Si vous souhaitez auditer le code, vous pouvez commencer par le dépôt brave-browser. Notre wiki contient des instructions sur les étapes à suivre pour effectuer une compilation après avoir cloné le code source
Le code source de Chromium est récupéré
L’outil gclient (partie des outils de dépôt) récupérera le code source officiel de Chromium. La balise recherchée est capturée dans notre package.json (par exemple, 70.0.3538.35). Tout le code source sera téléchargé dans le dossier ./src/
Le code de Brave est récupéré
Dans le cadre du processus de configuration, nous récupérons également notre propre code. Le dépôt brave-core contient le code qui rend le navigateur Brave. La branche à vérifier se trouve également dans ce package.json. Il y a aussi un fichier DEPS dans brave-core qui récupère les sous-dépendances (comme brave-extension)
Des hooks sont exécutés
Après que la synchronisation de gclient s’est lancée et a récupéré tout le code (y compris brave-core), les hooks sont exécutés. L’un des hooks applique les correctifs (que vous pouvez voir ici) contenus dans brave-core. Si vous souhaitez en savoir plus sur la manière dont fonctionnent les correctifs, vous pouvez consulter notre page wiki sur les correctifs.
Quelles fonctionnalités de Chromium sont supprimées pour des raisons de confidentialité/sécurité ?
Services et fonctionnalités désactivés
- Chrome Privacy Sandbox. Plusieurs API sont regroupées dans Privacy Sandbox et nous cherchons à toutes les désactiver, compte tenu de nos préoccupations.
- L’intégration des comptes Google (« GAIA ») est désactivée
- Toutes les fonctionnalités qui envoient des données à Google sont supprimées des paramètres
- Le préchargement DNS est désactivé
- Le traqueur d’URL Chrome Google est désactivé
- La fiabilité du service de domaine est désactivée
- Les extensions en ligne sont désactivées
- La synchronisation en arrière-plan est désactivée
- L'attribut
pingdu lien hypertexte est désactivé - Désactiver l’API de la batterie
- Désactiver l’API WebBluetooth
- Le téléchargement des journaux de débogage WebRTC est désactivé
- Les paramètres de téléchargement après la réinitialisation du profil sont désactivés
- La récupération des paramètres par défaut OEM après la réinitialisation du profil est désactivée
- Le téléchargement des journaux de plantage est désactivé
- Google Cloud Messaging est désactivé
- Firebase Cloud Messaging est désactivé
- Les mises à jour du canal client Push sont désactivées
- Le traqueur de temps réseau est désactivé
- La normalisation d’adresse assistée par Google est désactivée
-
Des fonctionnalités spécifiques sont désactivées au démarrage via le CLI (rechercher
disabled_features) - Supprimer le dépôt dl.google.com des paquets Linux
- Désactiver le rapport de métriques
- Désactiver les suggestions de navigation pour les URLs semblables
- Désactiver les Observateurs de Rapport et l’API de Rapport
- Désactiver le Fragment de Défilement Vers le Texte
- Désactiver les capteurs de mouvement
- Désactiver navigator.credentials
- Désactiver l’intégration OTP sur Android
- Désactiver SXG
- Désactiver NFC
- Désactiver WebBundles
- Désactiver les Indices du Client (lang)
- Désactiver les Sockets Directs / Raws
- Désactiver la Détection d’Inactivité
- Désactiver les Déclencheurs de Notifications
- Désactiver l’API du Système de Fichiers
- Désactiver l’API des Biens Numériques
- Désactiver l’API Série
- Désactiver l’Apprentissage Fédéré par Cohortes (FLoC)
- Désactiver l’API des Informations Réseau
- Audit SCT
- Site affiliation fetcher (partie du gestionnaire de mots de passe)
- Désactivation de kOptimizationGuideFetchingForSRP
- Désactivation de Web Environment Integrity
- Désactivation des sites populaires (aussi appelés Top Sites)
- Désactivation des Trust Tokens / Private State Tokens
Services que nous Proxions via les Serveurs Brave
Google ne reçoit aucune information concernant le client qui effectue ces demandes (même pas votre adresse IP).
- Les requêtes SafeBrowsing sont proxifiées
- Les requêtes de géolocalisation sont proxifiées
- Les mises à jour des plugins sont proxifiées
- Les demandes de révocation de certificats sont acheminées via un proxy
- Les demandes de CRLSets sont acheminées via un proxy
- Les demandes de mises à jour des composants sont acheminées via un proxy
- Les demandes de dictionnaires de vérification orthographique sont acheminées via un proxy
- Les demandes dans les outils de développement sont acheminées via un proxy
- Les requêtes pour le favicon de la page du moteur de recherche (Android) sont relayées par un proxy
Points de terminaison en proxy
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/*/*
Fonctionnalités et fonctionnalités modifiées
-
Cookies :
- Les cookies ont une durée de vie maximale de 7 jours pour les cookies définis par JavaScript et de 6 mois pour les cookies définis par HTTP
- Les cookies de session sont nettoyés au redémarrage si le mode « Reprendre là où vous vous étiez arrêté » est activé (ce qui est le réglage par défaut dans Brave).
- Les cookies tiers sont toujours bloqués au niveau de l’en-tête HTTP, mais nous donnons aux pages un accès JavaScript au stockage éphémère partitionné (en savoir plus sur le stockage éphémère partitionné).
- L’API Battery renvoie toujours une valeur fixe.
- Les valeurs de référence sont limitées à
strict-origin-when-cross-originet ne peuvent être renforcées que par la Referrer Policy, pas affaiblies. En outre, les requêtes cross-origin provenant d'un service.onionont un en-têteReferervide et un en-têtenullOrigin, tout comme le navigateur Tor. -
Les entrées
.onionsont remplacées par"null"dansdocument.location.ancestorOrigins(), sauf si ces entrées sont de même origine que le cadre le plus interne. - L’extension Hangouts est désactivée par défaut. Nous désactivons également le téléversement des journaux vers les serveurs de Google : https://github.com/brave/brave-browser/issues/1993.
- Le Media Router (Chromecast) est désactivé par défaut sur le bureau. Vous pouvez l’activer en basculant l’interrupteur dans brave://settings.
- Les consultations à distance pour la protection contre les téléchargements n’incluent ni les URL ni les noms de fichiers (https://github.com/brave/brave-core/pull/6763).
- Le rapport de StorageManager.estimate fournit une valeur fixe (problème #11543)
- De nombreuses fonctionnalités ont une aléatoire ajoutée ou des valeurs généralisées comme moyen de défense contre le fingerprinting, y compris :
- Méthodes de lecture du Canvas
- Agent utilisateur, suivis dans les problèmes #12097, #12638, #14740
- enumerateDevices
- Sérialisation Web Audio
- Débogage WebGL
- Plugins
- hardwareConcurrency
- deviceMemory
- La liste des noms d’hôtes avec des certificats d’autorité de certification épinglés est remplacée par une liste spécifique à Brave.
- Rétablir l’exigence de geste pour l’écriture asynchrone dans le presse-papiers
- Les avertissements de téléchargement dangereux sont toujours affichés lorsque la navigation sécurisée est désactivée, mais un indicateur pour désactiver les avertissements est disponible pour les utilisateurs avancés.
- Les fonctionnalités du panneau latéral de Chromium ont été intégrées dans la barre latérale de Brave.
- L’API Web Serial est désactivée, mais un indicateur pour l’activer est disponible pour les utilisateurs avancés.
- La boîte de dialogue d’autorisation de géolocalisation a été améliorée afin d’informer l’utilisateur si le site visité a demandé des données de localisation avec l’option
enableHighAccuracy. - Les Reporting Observers sont activés mais ne fonctionnent pas (les appels ne produisent aucun effet). Consultez ici pour savoir où ils ont été désactivés et ici pour savoir où ils ont été réactivés tout en étant rendus inopérants.
- L’ajout de moteurs de recherche via Open Search dispose d’un interrupteur (
Index other search engines) et est désactivé par défaut. - L’accès à l’API Storage Access est désactivé dans Brave en rejetant systématiquement la demande d’autorisation.
- Lorsqu'une stratégie de groupe est en place, Brave ne désactive PAS le DNS sécurisé. Chrome/Chromium désactive le DNS sécurisé dans l’UI et oblige l’administrateur à définir une stratégie s’il souhaite une valeur autre que
Off. Consultez ici et ici.
Commentaires
Certains des problèmes ci-dessus (ainsi que d'autres) ont été précédemment suivis dans https://github.com/brave/brave-browser/issues/13.
Vous pourriez remarquer certaines requêtes vers des domaines de Google. Certaines de ces requêtes, telles que clients*.google.com et update.googleapis.com, sont nécessaires pour vérifier les mises à jour des extensions si vous avez installé des extensions.
Comment Brave se compare-t-il à ungoogled-chromium ?
Description de ungoogled-chromium, d'après leur page GitHub :
ungoogled-chromium est Google Chromium, sans intégration avec Google. Il propose également quelques ajustements pour améliorer la confidentialité, le contrôle et la transparence (dont presque tous nécessitent une activation manuelle).
Nous avons un problème identifié pour intégrer des correctifs pertinents du projet ungoogled-chromium. Le projet ungoogled-chromium a également un problème identifié où ils mentionnent l'intégration de correctifs de Brave.