Quasa
Utilisez l’application QUASA
Rejoignez dès aujourd’hui le pionnier du freelancing crypto Web3 !
Ouvrir
Pour les débutants

Homebrew 6 : faire confiance à une formule sans ouvrir tout le dépôt

|Auteur: Équipe éditoriale de QUASA|4 min de lecture| 9
Homebrew 6 : faire confiance à une formule sans ouvrir tout le dépôt

La solution la plus restrictive est d’installer la formule avec son nom entièrement qualifié : brew install user/repository/formula. Homebrew approuve alors cet élément précis, sans étendre la confiance aux autres formules, casks ou commandes externes du tap.

Si vous devez ensuite employer le nom court, ajoutez le tap, puis exécutez brew trust --formula user/repository/formula avant brew install formula. Depuis Homebrew 6.0.0, les taps non officiels exigent par défaut une approbation explicite, mais la documentation officielle de Tap Trust permet de limiter cette décision à une formule, un cask ou une commande.

Identifier précisément la cible bloquée

Relevez dans le message d’erreur le nom complet de la cible, généralement sous la forme user/repository/formula. Il désigne le propriétaire, le dépôt Homebrew et la formule ; utilisez le nom réellement affiché, pas celui d’un exemple trouvé en ligne.

Quatre commandes permettent de vérifier l’état local sans modifier les autorisations :

  • brew --version affiche la version de Homebrew.
  • brew tap liste les taps déjà ajoutés.
  • brew trust affiche les entrées approuvées.
  • brew untrust, sans cible, liste les taps, formules, casks et commandes qui ne sont pas approuvés.

Un dépôt peut donc être présent sur la machine sans bénéficier d’une confiance globale. Le clonage du tap et l’autorisation de charger son code sont deux décisions distinctes.

Installer ponctuellement avec le nom complet

Installation Homebrew d’une formule nommée précisément, sans approbation des autres éléments du tap tiers.

Pour une installation ponctuelle, lancez directement brew install user/repository/formula. Si nécessaire, Homebrew ajoute le tap au cours de l’opération, mais n’approuve que la formule explicitement demandée.

Dans un exemple fictif, le tap alice/tools contient la formule formatter, plusieurs autres paquets et une commande externe. brew install alice/tools/formatter sélectionne et approuve formatter ; les autres éléments du tap ne deviennent pas chargeables pour autant.

Cette portée réduite n’est pas une validation de sécurité de la formule. Celle-ci reste une définition de paquet exécutable provenant d’un tiers : limiter la confiance empêche surtout Homebrew d’évaluer implicitement le reste du dépôt.

Garder un nom court avec une confiance ciblée

Un script ou un outil d’automatisation peut attendre brew install formula plutôt que le nom complet. Dans ce cas, enregistrez explicitement la formule avant d’utiliser le nom court :

  1. brew tap user/repository
  2. brew trust --formula user/repository/formula
  3. brew install formula

Le nom entièrement qualifié de la deuxième commande fixe à la fois le tap et la formule autorisée. Il évite aussi qu’une formule homonyme provenant d’un autre dépôt soit confondue avec la cible voulue.

Pour un cask, la portée équivalente est brew trust --cask user/repository/cask. Cette approbation concerne le cask désigné, pas les formules ni les commandes externes rangées dans le même tap.

Choisir entre formule, commande et tap entier

Comparaison des portées de confiance Homebrew pour une formule, une commande externe et un tap entier.

Le niveau minimal dépend du code que Homebrew doit réellement charger :

  • Formule : brew trust --formula user/repository/formula approuve seulement la définition du paquet indiqué. C’est le choix adapté à une formule réutilisée par son nom court.
  • Commande externe : brew trust --command user/repository/command approuve uniquement la sous-commande distribuée par le tap et appelée sous la forme brew command.
  • Tap entier : brew trust user/repository autorise le chargement de toutes ses formules, de tous ses casks et de toutes ses commandes externes, présents comme futurs.

La confiance globale engage donc davantage que l’état actuel du dépôt. Une nouvelle formule, une nouvelle commande ou une modification récupérée lors d’une mise à jour entre dans le périmètre approuvé. Réservez cette portée à un tap que vous administrez ou dont vous acceptez durablement la gouvernance ; pour un fournisseur externe ou une dépendance isolée, approuvez l’élément précis.

Contrôler et révoquer l’autorisation

Révocation ciblée de la confiance d’une formule Homebrew sans désinstallation du paquet existant.

Après l’installation, brew trust permet de vérifier les entrées enregistrées. La page de manuel de brew indique qu’elles sont conservées dans ${XDG_CONFIG_HOME}/homebrew/trust.json lorsque XDG_CONFIG_HOME est défini, sinon dans ~/.homebrew/trust.json.

Retirez une approbation ciblée avec brew untrust --formula user/repository/formula. Pour un tap entier, utilisez brew untrust user/repository. La révocation retire la cible de la liste de confiance ; elle ne désinstalle pas le paquet déjà présent.

Évitez HOMEBREW_NO_REQUIRE_TAP_TRUST=1 dans les scripts : cette variable désactive l’exigence de confiance et permet à Homebrew de charger le code de tous les taps ajoutés. Elle supprime précisément la séparation recherchée et doit disparaître dans une version ultérieure.

Tap Trust ne remplace ni l’isolation de l’exécution ni la recherche de failles connues. La présentation technique de Homebrew 6.0 par The Register distingue ce mécanisme de la sandbox Linux fondée sur Bubblewrap et de brew vulns, qui consulte la base OSV pour les paquets installés.

La progression la moins risquée est donc nette : nom complet pour une installation ponctuelle, confiance ciblée pour une formule ou une commande récurrente, puis confiance globale seulement si vous acceptez tout le contenu actuel et futur du tap.

À lire aussi:

Partager:

Abonnez-vous à notre newsletter

Recevez directement les dernières actualités sur le Web3, l’IA et les cryptomonnaies.

0