Команда Homebrew выпустила версию 6.0 популярного пакетного менеджера для macOS и Linux. В обновлении появились новый механизм безопасности Tap Trust, встроенная JSON API по умолчанию, песочница для Linux, улучшения brew bundle, повышение производительности и начальная поддержка macOS 27 Golden Gate.
Tap Trust
Главным нововведением Homebrew 6.0 стал механизм Tap Trust. Он решает проблему, существовавшую много лет: при подключении стороннего tap на системе выполнялся произвольный Ruby-код из внешнего репозитория без песочницы и с правами текущего пользователя.
Теперь Homebrew требует явно доверять tap перед тем, как его код будет проанализирован или выполнен. Это касается как самих tap, так и связанных с ними формул и cask-пакетов. Официальные репозитории Homebrew по-прежнему считаются доверенными автоматически.
Для работы с новой системой были добавлены дополнительные возможности:
управление доверием через
brew tap;возможность доверять tap по URL удалённого репозитория;
отображение статуса доверия через
brew tap-info;поддержка параметра
trustedвbrew bundle;сохранение доверенных tap при выполнении
brew bundle dump.
Разработчики отмечают, что изменение может повлиять на существующие CI/CD-процессы, использующие сторонние tap. Некоторые автоматизированные сценарии уже потребовали доработки после обновления.
Песочница для Linux
Homebrew давно использует песочницу на macOS во время сборки, тестирования и выполнения postinstall-скриптов. В версии 6.0 аналогичный механизм появился и для Linux.
Для изоляции процессов используется Bubblewrap. Благодаря этому поведение Homebrew на Linux стало ближе к macOS, а риск выполнения нежелательных действий во время установки пакетов снизился. Для разработчиков Linux-песочница включена по умолчанию.
Исправления безопасности
Вместе с релизом Homebrew опубликовал три исправления безопасности.
Первое устраняет проблему в механизме загрузки через POST-запросы, позволявшую обходить защиту от перенаправления HTTPS-загрузок на HTTP.
Второе закрывает возможность выполнения кода от имени root через Git-хуки во время postinstall-процедуры пакета на macOS.
Третье исправление связано с установщиком Homebrew для macOS, который доверял пользовательскому plist-файлу в каталоге /var/tmp. Это позволяло локальному злоумышленнику получить права на файлы Homebrew.
Встроенная JSON API
В Homebrew 6.0 внутренняя JSON API стала стандартным механизмом работы. Разработчики заявляют, что она быстрее и компактнее предыдущих решений. Это должно положительно сказаться на скорости выполнения различных команд.
Пользователи также отмечают заметное ускорение работы Homebrew после обновления. В частности, команда brew leaves стала работать примерно на 30% быстрее.
Улучшения Brew Bundle
Релиз включает многочисленные улучшения для brew bundle. Новая система доверия интегрирована с этим инструментом, а экспорт конфигурации теперь способен сохранять сведения о доверенных репозиториях.
BrewUI
Разработчики также работают над официальным графическим интерфейсом для Homebrew под названием BrewUI. Проект пока находится в разработке и ещё не получил статус общедоступного релиза.
По словам руководителя проекта Майка Маккуэйда, существующие сторонние GUI-решения не соответствовали требованиям команды, поэтому было принято решение создать собственный интерфейс. Он ориентирован как на начинающих пользователей, так и на опытных разработчиков.
Поддержка Intel Mac
Homebrew также объявил о предстоящем завершении активной поддержки macOS на процессорах Intel. С сентября 2026 года для macOS x86_64 перестанут выпускаться готовые бинарные пакеты (bottles). Полное удаление связанного кода запланировано на сентябрь 2027 года.
Поддержка macOS 27
Версия 6.0 получила начальную поддержку macOS 27 Golden Gate. Это позволяет пользователям ранних сборок новой системы использовать Homebrew без ожидания будущих обновлений.