Homebrew 6.0 hat gerade verändert, wie dein Mac Software installiert

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00Vor einigen Monaten haben wir auf genau diesem Kanal ein Video veröffentlicht, in dem wir Homebrew im Grunde als
00:00:05Steinzeit-Tool bezeichnet haben, das wir nur nutzen, weil Nix es meilenweit abhängt. Daher ist es nur fair, dass ich
00:00:12heute darauf zurückkomme und euch Folgendes sage: Das Steinzeit-Tool, das wir genutzt haben, hat gerade seine erste
00:00:17Hauptversion seit Jahren veröffentlicht: Homebrew 6.0. Und das Entscheidende dabei ist: Die Schlagzeile ist kein Haufen neuer
00:00:23Features. Es ist eine komplette Sicherheitsüberholung. Homebrew ist endlich erwachsen geworden.
00:00:30Lasst mich erklären, was sich wirklich geändert hat, denn das ist interessanter als nur eine erhöhte Versionsnummer.
00:00:38Praktisch die gesamte Geschichte von Homebrew lang galt: Wenn man ein Drittanbieter-Tap – also das Paket-Repo eines anderen – hinzugefügt hat,
00:00:45hat Homebrew einfach deren Ruby-Code ausgeführt. Es hat den Code einfach gestartet. Bei jedem Tap,
00:00:51beliebigen Code, ohne wirklich Fragen zu stellen. Bedenkt nun, in welcher Welt wir uns heute befinden.
00:00:56Paketmanager sind derzeit das Hauptziel für Supply-Chain-Angriffe. NPM und all die anderen
00:01:01werden dauernd getroffen. Einfach jeden Code auszuführen, den das Repo liefert, ist eine schlechte Standardeinstellung. Und das Hauptfeature von Homebrew
00:01:086.0 dient dazu, das zu beenden. Es nennt sich “Tap Trust”. Wenn euch solche Coding-Tipps gefallen,
00:01:15abonniert gerne unseren Kanal. Wir bringen ständig neue Videos. Aber beginnen wir mit dem Teil, den ihr
00:01:19tatsächlich jeden Tag spüren werdet. “brew version”. Da ist es: 6.0. Schaut jetzt, was passiert, wenn ich etwas installiere,
00:01:25das ein paar Abhängigkeiten nachzieht. Anstatt es stillschweigend im Hintergrund zu erledigen, zeigt Brew jetzt
00:01:31eine Zusammenfassung von allem an, was installiert werden soll, und wartet auf mein “Ja”. Das ist der neue Ask-Modus,
00:01:38und er ist für Entwickler jetzt standardmäßig aktiv. Eine kleine Änderung, aber sie sorgt dafür, dass man den Plan sieht, bevor Brew
00:01:44irgendetwas auf unserem System anfasst. Jetzt zum großen Punkt: Tap Trust. Seht zu, wenn ich ein Drittanbieter-Tap hinzufüge.
00:01:50Homebrew stoppt mich sofort. Es meldet, dass diesem Tap noch nicht vertraut wird, und führt keine Zeile Code aus,
00:01:56bis ich es ausdrücklich erlaube. Ich muss ihm erst gezielt mit “brew trust” vertrauen, und erst dann wird es
00:02:03ausgeführt. Den offiziellen Homebrew-Taps wird von Haus aus vertraut. Der normale Alltagsgebrauch mit Brew
00:02:09bleibt also absolut identisch. Aber dieses leicht suspekte Tap von einem Fremden auf GitHub, das ihr in einer Readme gefunden habt –
00:02:16das ist jetzt wie eine verschlossene Tür. Das müsst ihr erst aktiv bestätigen. Und ehrlich gesagt
00:02:20ist das zu diesem Zeitpunkt wohl eine ziemlich gute Entscheidung. Und das ist nicht das einzige echte Upgrade hier.
00:02:25Das interne Metadatensystem ist jetzt Standard, wodurch alle Paketinformationen in einem einzigen
00:02:30sauberen Download geladen werden statt über Dutzende kleine Netzwerkanfragen. Dadurch läuft “brew update” viel schneller. Es gibt auch einen
00:02:37brandneuen Befehl, “brew execute”, der im Grunde NPX für Homebrew ist. Führt ein Tool einmalig aus, ohne es dauerhaft
00:02:45auf eurem System zu installieren. Es gibt “brew vulns”, das bereits installierte Pakete auf
00:02:51bekannte Sicherheitslücken und Warnungen überprüft. Zudem hat 6.0 stillschweigend drei Sicherheitslücken geschlossen, darunter eine, die Code
00:02:58über das Mac-Installer-Paket als Root ausführen konnte. Das ist ein Release mit echtem Rückgrat. Gut, jetzt kommt
00:03:04der Haken an der Sache. Und für einige von euch wird das ein großer sein, also sage ich es euch direkt.
00:03:09Tap Trust ist ein Breaking Change. Wenn ihr CI-Pipelines habt, die auf Drittanbieter-Taps angewiesen sind,
00:03:14wirft “brew doctor” sofort einen Fehler aus, sobald es ein nicht vertrauenswürdiges Tap sieht. Und sehr viele Standard-GitHub-Actions
00:03:20führen “brew doctor” als allerersten Schritt aus. Leute haben also geupgradet, und ihre Builds sind plötzlich fehlgeschlagen.
00:03:28Die Lösung besteht darin, diese Taps in eurer Konfiguration als vertrauenswürdig zu markieren, aber das müsst ihr selbst erledigen.
00:03:35Niemand wird das für euch tun. Dasselbe gilt für den Ask-Modus. Wenn ihr Skripte habt, die stillschweigend davon ausgingen,
00:03:41dass Brew ohne Nachfragen installiert, kann diese neue Abfrage dazu führen, dass sie endlos hängen bleiben. Und was die allgemeine Wahrnehmung angeht:
00:03:46Wenn man einfach nur ein ganz normaler Nutzer ist, der täglich Apps installiert, sieht das kaum anders aus.
00:03:51Das ist ein Sicherheits- und Architektural-Release, nicht nur ein neuer Anstrich. Hier auch noch ein kurzer Mythos:
00:03:58Viele Dinge werden ja derzeit in Rust neu geschrieben. Nein, Homebrew wird nicht in Rust neu geschrieben –
00:04:04zumindest jetzt nicht. Das war nur ein Experiment. Der Fokus liegt wieder voll auf der Ruby-Codebasis, so wie es
00:04:10schon immer war. Solltet ihr also auf Homebrew 6.0 upgraden? Für fast jeden lautet die Antwort einfach: Ja.
00:04:16Ihr bekommt drei Sicherheitsfixes, und ehrlich gesagt wird euch “brew update” ohnehin auf 6.0 heben,
00:04:22ob ihr es geplant habt oder nicht. Wer etwas langsamer machen sollte, sind
00:04:27alle, die CI-Pipelines mit Drittanbieter-Taps nutzen oder Automatisierungen haben, die stille Installationen erwarten. Kümmert euch zuerst darum,
00:04:33dann seid ihr auf der sicheren Seite. Und falls ihr noch einen Intel-Mac nutzt, aufgepasst: 6.0 steckt den Zeitplan ab,
00:04:40um den Intel-Support über die nächsten Jahre auslaufen zu lassen. Wer Apple Silicon nutzt – also die neueren Rechner –,
00:04:46bei dem ist alles bestens. Es bringt sogar Support für die neuen M5-Chips mit. Mein Fazit sieht so aus:
00:04:53Jahrelang war Homebrew gelinde gesagt eine Bequemlichkeit – einfach der schnellste Weg, Software auf einen
00:04:59Mac zu bekommen. Mit Version 6.0 wirkt es eher wie ein Kontrollpunkt, an dem der Code,
00:05:05der auf den Rechner gelangt, endlich beweisen muss, dass er vertrauenswürdig ist. Das ist ein großer Schritt. Der Paketmanager
00:05:10hat endlich zu dem Bedrohungsmodell aufgeschlossen, in dem der Rest von uns schon seit Jahren lebt. Das ist das Eigentliche
00:05:15hier – nicht die Versionsnummer 6.0 oder 6.1, sondern was sie mitbringt. Wenn euch solche Coding-Tipps
00:05:21und Tricks gefallen, abonniert unbedingt den BetterStack-Kanal. Wir sehen uns im nächsten Video!

Key Takeaway

Homebrew 6.0 wandelt den Paketmanager durch 'Tap Trust' und den standardmäßigen Ask-Modus von einem rein bequemen Installationstool in ein sicherheitsorientiertes System um.

Highlights

  • Homebrew 6.0 führt 'Tap Trust' ein und führt Code aus Drittanbieter-Repositories erst nach expliziter Freigabe durch 'brew trust' aus.

  • Der neue Ask-Modus verlangt bei der Installation von Abhängigkeiten standardmäßig eine Bestätigung.

  • Das optimierte Metadaten-System lädt Paketinformationen in einem einzigen Download herunter und beschleunigt 'brew update'.

  • Der Befehl 'brew execute' ermöglicht das einmalige Ausführen von Werkzeugen analog zu NPX.

  • Das Release schließt drei Sicherheitslücken, darunter eine Schwachstelle zur Ausführung von Code als Root über Mac-Installer-Pakete.

  • Automatisierte CI-Pipelines mit 'brew doctor' schlagen fehl, wenn Drittanbieter-Taps nicht manuell als vertrauenswürdig konfiguriert werden.

Timeline

Neuausrichtung von Homebrew auf Sicherheit

  • Homebrew 6.0 ist die erste neue Hauptversion seit Jahren.
  • Der Schwerpunkt des Releases liegt auf einer Sicherheitsüberholung statt neuer Oberflächenfeatures.
  • Drittanbieter-Taps führten bisher ungeprüft Ruby-Code direkt beim Hinzufügen aus.

Paketmanager stehen verstärkt im Fokus von Supply-Chain-Angriffen. Das automatische Ausführen von Repository-Code stellt ein Sicherheitsrisiko dar. Homebrew 6.0 beendet dieses Verhalten durch geänderte Standards.

Funktionsweise von Ask-Modus und Tap Trust

  • Der Ask-Modus zeigt vor der Installation eine Zusammenfassung aller Abhängigkeiten an.
  • Drittanbieter-Taps werden bis zur Freigabe über 'brew trust' blockiert.
  • Offizielle Homebrew-Taps bleiben ab Werk als vertrauenswürdig eingestuft.

Entwickler erhalten durch den Ask-Modus Kontrolle über Systemänderungen, bevor Dateien geschrieben werden. Externe Taps erfordern eine gezielte Bestätigung. Das System sperrt fremden Code ab, während der Alltagsbetrieb mit offiziellen Paketen unverändert bleibt.

Leistungsverbesserungen und neue Befehle

  • Ein einzelner Metadaten-Download ersetzt zahlreiche kleine Netzwerkanfragen bei 'brew update'.
  • Der Befehl 'brew execute' führt Tools ohne dauerhafte Installation aus.
  • Das Kommando 'brew vulns' scannt installierte Pakete auf bekannte Schwachstellen.

Die Architekturänderung im Metadatensystem reduziert die Netzwerkbelastung und verkürzt Update-Zeiten. Mit 'brew execute' erhält Homebrew eine Funktionalität entsprechend NPX. Zudem behebt Version 6.0 drei Sicherheitslücken, darunter eine Privilege-Escalation-Schwachstelle im Mac-Installer.

Breaking Changes und Auswirkung auf CI-Pipelines

  • Unbestätigte Taps führen bei 'brew doctor' zu Fehlern in CI-Pipelines.
  • Der Ask-Modus kann nicht-interaktive Skripte blockieren.
  • Die technische Basis verbleibt bei Ruby statt einer Neuentwicklung in Rust.

Viele GitHub-Actions nutzen 'brew doctor' als ersten Schritt und brechen ab, wenn externe Taps nicht explizit konfiguriert sind. Automatisierte Skripte verharren durch die neuen Bestätigungsabfragen in Wartestellung. Entgegen Gerüchten über ein Rust-Rewrite bleibt die Ruby-Codebasis bestehen.

Upgrade-Empfehlungen und Hardware-Support

  • Das Update auf Version 6.0 erfolgt für die meisten Systeme automatisch über 'brew update'.
  • Der Support für Intel-Macs wird über die kommenden Jahre schrittweise eingestellt.
  • Unterstützung für Apple Silicon umfasst bereits M5-Prozessoren.

Vor dem Upgrade müssen CI-Pipelines und Automatisierungen auf die neuen Vertrauensregeln angepasst werden. Auf Apple Silicon bietet die Version vollständige Unterstützung für aktuelle Chip-Generationen, während die Unterstützung für ältere Intel-Architekturen ausläuft.

Community Posts

View all posts