Homebrew 6.0 vient de changer la façon dont votre Mac installe des logiciels

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

Transcript

00:00:00Il y a quelques mois, sur cette même chaîne, on a publié une vidéo où l'on qualifiait Homebrew
00:00:05d'outil de l'âge de pierre utilisé uniquement parce que Nix le surpasse largement. Il est donc juste que je
00:00:12revienne vers vous pour vous dire ceci. Cet outil de l'âge de pierre vient de sortir sa première
00:00:17version majeure depuis des années : Homebrew 6.0. Et voici le point clé : ce n'est pas une foule de nouvelles
00:00:23fonctionnalités, mais une refonte complète de la sécurité. Homebrew a gagné en maturité.
00:00:30Laissez-moi vous expliquer ce qui a changé, car c'est bien plus intéressant qu'un simple changement de numéro de version.
00:00:38Pendant toute l'existence de Homebrew, quand vous ajoutiez un dépôt tiers (le dépôt de quelqu'un d'autre),
00:00:45Homebrew exécutait simplement son code Ruby. Il l'exécutait directement. N'importe quel dépôt,
00:00:51du code arbitraire, sans poser la moindre question. Pensez au monde dans lequel nous vivons aujourd'hui.
00:00:56Les gestionnaires de paquets sont la cible numéro un des attaques de la chaîne d'approvisionnement. NPM et tous les autres
00:01:01se font pirater sans arrêt. Exécuter aveuglément le code d'un dépôt est une mauvaise option par défaut.
00:01:08La nouvelle fonction de Homebrew 6.0 est là pour corriger ça. Elle s'appelle Tap Trust. Si vous aimez ce genre de conseils en développement,
00:01:15n'hésitez pas à vous abonner. Nous publions régulièrement des vidéos. Mais commençons par ce que vous
00:01:19ressentirez au quotidien. La commande `brew version`. La voilà : 6.0. Regardez ce qui se passe quand j'installe
00:01:25un paquet qui nécessite quelques dépendances. Au lieu de s'exécuter silencieusement, Brew affiche désormais
00:01:31un résumé de tout ce qu'il s'apprête à installer et attend ma confirmation. C'est le nouveau mode Ask,
00:01:38activé par défaut pour les développeurs. C'est un petit changement, mais vous voyez désormais ce qui est prévu avant que Brew ne touche
00:01:44à votre machine. Passons au changement majeur : Tap Trust. Regardez quand j'ajoute un dépôt tiers.
00:01:50Homebrew m'arrête net. Il indique que ce dépôt n'est pas encore approuvé et n'exécutera pas la moindre ligne de code
00:01:56tant que je ne l'aurai pas explicitement autorisé avec `brew trust`. C'est seulement après cela qu'il s'exécute.
00:02:03Les dépôts officiels Homebrew sont approuvés par défaut. Votre utilisation habituelle de Brew reste donc la même.
00:02:09Mais pour ce petit dépôt douteux dénichons dans le fichier README d'un inconnu sur GitHub,
00:02:16c'est désormais une porte verrouillée : vous devez l'approuver manuellement.
00:02:20Et honnêtement, c'est une excellente décision à ce stade. Ce n'est d'ailleurs pas la seule amélioration.
00:02:25Le système de métadonnées interne est désormais activé par défaut. Toutes les infos de vos paquets sont récupérées
00:02:30en un seul téléchargement au lieu d'une douzaine de requêtes réseau. `brew update` est donc bien plus rapide. Une
00:02:37toute nouvelle commande fait son apparition : `brew execute`, qui équivaut à `npx` pour Homebrew. Elle permet d'exécuter un outil
00:02:45sans l'installer définitivement sur votre système. Il y a aussi `brew vulns`, qui analyse les paquets déjà installés
00:02:51pour repérer les failles de sécurité connues. Enfin, la version 6.0 corrige en toute discrétion trois failles, dont une permettant
00:02:58d'exécuter du code en tant que root via l'installateur Mac. C'est une mise à jour solide. Mais voici le hic,
00:03:04et pour certains d'entre vous, cela aura un impact majeur. Je préfère ne pas vous le cacher.
00:03:09Le système Tap Trust introduit une rupture de compatibilité. Si vos pipelines CI s'appuient sur des dépôts tiers,
00:03:14`brew doctor` renvoie une erreur dès qu'il détecte un dépôt non approuvé. Or, de très nombreuses GitHub Actions
00:03:20exécutent `brew doctor` comme toute première étape. Certains utilisateurs ont mis à jour Homebrew et leurs builds ont directement échoué.
00:03:28La solution consiste à marquer ces dépôts comme approuvés dans votre configuration, mais vous devez le faire vous-même.
00:03:35Personne ne le fera à votre place. Même constat pour le mode Ask : si vos scripts comptaient
00:03:41sur des installations silencieuses, cette nouvelle demande de confirmation peut les bloquer indéfiniment. Pour le reste,
00:03:46si vous êtes un utilisateur classique qui installe des applications au quotidien, l'expérience reste quasi identique.
00:03:51Il s'agit d'une mise à jour de sécurité et d'architecture, pas d'un simple ravalement de façade. Un mot sur une idée reçue :
00:03:58beaucoup de projets sont réécrits en Rust. Non, Homebrew n'est pas en train d'être réécrit en Rust,
00:04:04du moins pas pour le moment. C'était une simple expérimentation. L'attention reste portée sur le code Ruby,
00:04:10comme au premier jour. Faut-il donc passer à Homebrew 6.0 ? Pour la majorité des gens, la réponse est oui.
00:04:16Vous bénéficiez de trois correctifs de sécurité et, de toute façon, `brew update` vous fera passer à la version 6.0,
00:04:22que vous l'ayez planifié ou non. Les personnes qui devraient temporiser un peu sont
00:04:27celles qui exécutent des CI interagissant avec des dépôts tiers ou des automatisations nécessitant des installations silencieuses. Réglez
00:04:33ces points d'abord et tout ira bien. Et si vous utilisez toujours un Mac Intel, attention : la 6.0 précise le calendrier
00:04:40d'abandon du support des puces Intel au cours des prochaines années. Pour les utilisateurs de Mac Apple Silicon,
00:04:46aucun souci à se faire. Le support intègre même les nouvelles puces M5. Voici ce qu'il faut en retenir :
00:04:53Pendant des années, Homebrew a été une solution de facilité : le moyen le plus rapide d'installer un logiciel sur Mac.
00:04:59Avec la version 6.0, il devient un point de contrôle où le code arrivant sur la machine
00:05:05doit enfin prouver sa fiabilité. C'est une étape importante. Ce gestionnaire de paquets
00:05:10s'est enfin adapté au modèle de menaces auquel nous sommes confrontés depuis des années. C'est le point essentiel
00:05:15ici, plus encore que le numéro de version (6.0 ou 6.1). Si vous aimez ce genre de conseils
00:05:21en développement, pensez à vous abonner à la chaîne BetterStack. À bientôt dans une prochaine vidéo.

Key Takeaway

Homebrew 6.0 transforme le gestionnaire de paquets macOS en un point de contrôle sécurisé grâce au blocage systématique des dépôts tiers non approuvés via Tap Trust et à la demande de confirmation manuelle du mode Ask.

Highlights

  • Homebrew 6.0 introduit le système Tap Trust, qui bloque l'exécution de code à partir de dépôts tiers non approuvés jusqu'à validation manuelle via la commande `brew trust`.

  • Le nouveau mode Ask demande une confirmation explicite avant toute installation de paquet et de ses dépendances.

  • Les pipelines d'intégration continue utilisant `brew doctor` ou des scripts d'installation silencieux risquent d'échouer sans ajustement préalable de la configuration.

  • La commande `brew execute` permet de lancer des outils de manière temporaire sans installation permanente sur la machine, à l'image de `npx`.

  • Le système de métadonnées interne regroupe la récupération d'informations en un seul téléchargement, accélérant l'exécution de `brew update`.

Timeline

Refonte axée sur la sécurité et mode Ask

  • Homebrew 6.0 privilégie la sécurité de la chaîne d'approvisionnement par rapport à l'ajout de simples fonctionnalités.
  • L'exécution automatique de scripts Ruby arbitraires lors de l'ajout de dépôts tiers appartient désormais au passé.
  • Le mode Ask s'active par défaut pour afficher le bilan complet des paquets avant toute modification du système.

Les gestionnaires de paquets représentent une cible majeure pour les attaques informatiques. En réponse aux faiblesses d'exécution de code non vérifié des versions précédentes, la version 6.0 impose une validation explicite de l'utilisateur. Avant d'installer le moindre composant, le système présente un résumé précis des opérations prévues et attend un accord.

Protection par Tap Trust et ajouts d'outils

  • Les dépôts tiers nécessitent une approbation manuelle par la commande `brew trust` avant l'exécution du moindre script.
  • Les dépôts officiels restent approuvés par défaut pour conserver le flux de travail habituel.
  • Trois failles de sécurité majeures sont corrigées, dont une faille d'exécution de code en privilège root.

Le mécanisme Tap Trust verrouille l'accès aux dépôts externes non vérifiés provenant de sources tierces comme GitHub. La version 6.0 intègre également la commande `brew execute` pour lancer des paquets à la volée, l'outil `brew vulns` pour analyser les vulnérabilités de l'appareil, ainsi qu'un regroupement des requêtes réseau accélérant la mise à jour des métadonnées.

Impact sur l'intégration continue et automatisations

  • L'exécution de `brew doctor` échoue automatiquement en présence d'un dépôt tiers non approuvé.
  • Les scripts d'installation automatisés se bloquent en attendant la confirmation du mode Ask.
  • Les dépôts utilisés dans les workflows CI doivent être ajoutés à la liste d'approbation manuellement.

L'introduction de ruptures de compatibilité affecte directement les chaînes de déploiement continu telles que GitHub Actions. Si les flux de travail reposent sur des scripts d'installation silencieux ou des audits automatiques de santé du système, les builds s'interrompent brusquement. Les administrateurs doivent reconfigurer leurs autorisations d'accès pour rétablir les automatisations.

Feuille de route et transition vers la version 6.0

  • Le cœur du projet reste écrit en Ruby malgré les expérimentations d'écriture en Rust.
  • La version 6.0 formalise le calendrier d'abandon progressif du support des processeurs Intel.
  • L'architecture supporte nativement l'ensemble des puces Apple Silicon jusqu'à la génération M5.

La transition vers Homebrew 6.0 s'effectue automatiquement lors du lancement de la commande classique de mise à jour. Les utilisateurs de puces Intel doivent planifier le remplacement de leur matériel en raison du retrait programmé du support. Pour les architectures Apple Silicon, le gestionnaire adapte son modèle de menace pour garantir l'intégrité des installations logicielles.

Community Posts

View all posts