Homebrew 6.0.0: tap trust, sandboxing en Linux y soporte inicial para macOS 27 Golden Gate

Homebrew ha publicado la versión 6.0.0, la actualización más importante desde la 5.1.0 de marzo. El cambio con más peso es tap trust, un mecanismo nuevo de seguridad, aunque el anuncio de Mike McQuaid en brew.sh reúne bastantes más frentes: una API JSON interna más rápida y ahora activada por defecto, sandboxing en Linux, mejores valores por defecto salidos de una encuesta a usuarios, mejoras en brew bundle y soporte inicial para macOS 27 (Golden Gate).

Tap trust: que un tap de terceros ya no pueda ejecutar código a ciegas

Un tap de terceros puede contener Ruby arbitrario y sin sandbox que se ejecuta directamente en tu máquina. A partir de ahora, Homebrew exige que un tap, y las fórmulas o casks calificados con ese tap, estén marcados como de confianza antes de que su código se evalúe o se ejecute. Los taps oficiales siguen siendo de confianza por defecto, así que para el uso normal de brew install con fórmulas del núcleo no cambia nada.

brew tap incorpora comandos nuevos para gestionar esa confianza, y se puede confiar en un tap directamente por su URL remota. brew trust añade un flag --json=v1 y brew tap-info suma un campo trusted. brew bundle respeta la opción trusted: y brew bundle dump ya deja constancia de qué entradas están marcadas como de confianza.

API JSON interna por defecto y sandbox en Linux

La API JSON interna, que combina todos los metadatos de Homebrew en una sola descarga, pasa de ser opcional (activable desde la 5.0.0 con HOMEBREW_USE_INTERNAL_API) a estar activada por defecto. El resultado son actualizaciones más rápidas y menos peticiones de red, y esa variable de entorno queda ya deprecada.

En Linux, Homebrew añade sandboxing con Bubblewrap para las fases de build, test y postinstall, alineando el comportamiento con macOS, donde esas fases ya corrían aisladas. Viene activado por defecto para desarrolladores, con endurecimiento de las fases de instalación y sandboxing también para los hooks ejecutables de los casks.

Ask mode por defecto y mejoras en brew bundle

Tras una encuesta a usuarios, el cambio de comportamiento más visible es que ask mode pasa a ser el valor por defecto para desarrolladores: brew install y brew upgrade muestran ahora un resumen de dependencias y piden confirmación antes de tocar nada.

brew bundle suma instalación de fórmulas en paralelo, activada por defecto, soporte para extensiones npm y krew, más opciones de limpieza y, en Windows, soporte para winget. Si gestionas tu entorno de desarrollo con un Brewfile vas a notar el cambio en los tiempos de instalación. Un enfoque parecido, resolver dependencias de forma reproducible en vez de a mano, es justo lo que persigue uv en el ecosistema Python.

macOS 27 (Golden Gate) y el fin del soporte para Intel

Homebrew añade soporte inicial para macOS 27, con nombre en clave Golden Gate. Esa versión de macOS deja fuera a los Mac Intel, así que Homebrew ha anunciado su propio calendario: en septiembre de 2026 macOS Intel x86_64 pasa al Tier 3, sin CI ni bottles nuevas, y en septiembre de 2027 deja de tener soporte por completo y se elimina el código relacionado. Quien mantenga herramientas nativas de macOS, como ImageForge, tendrá que ir revisando esos plazos.

También hay cambios para Linux: la migración de CI a Ubuntu 24.04 sube el suelo mínimo a glibc 2.39, con lo que sistemas más antiguos como Ubuntu 22.04 (glibc 2.35) bajan a Tier 2, sin bottles nuevas y con avisos de brew doctor. La alternativa es la imagen Docker ghcr.io/homebrew/brew o actualizar a una configuración Tier 1.

Tres avisos de seguridad corregidos

El anuncio detalla tres vulnerabilidades ya resueltas: la estrategia de descarga por POST ignoraba la protección de redirección de HTTPS a HTTP (GHSA-7699-qf8c-q47m), un hook de Git en el postinstall del instalador .pkg de macOS permitía ejecución de código como root (GHSA-6689-q779-c33m), y ese mismo instalador confiaba en un plist de /var/tmp controlable por el usuario, lo que podía dar la propiedad de Homebrew a un atacante local (GHSA-59v8-x8q4-px5c).

Otras novedades

brew exec llega como comando nuevo, al estilo de npx, para ejecutar binarios dentro del entorno de una fórmula sin instalarla de forma permanente. brew vulns es un tap y subcomando nuevo que revisa los paquetes instalados en busca de vulnerabilidades conocidas.

El equipo también ha cerrado el experimento brew-rs, que exploraba mover parte del frontend de Ruby a Rust: según sus propias pruebas, el frontend en Rust solo ganaba en descargas de bottles ya cacheadas, no en instalaciones representativas completas (verter la bottle, enlazar, escribir metadatos y comprobaciones de salud). El foco de rendimiento vuelve a Ruby y a arrancar antes las operaciones de red y disco.

Homebrew es un proyecto sin ánimo de lucro que mantienen voluntarios, no empleados, y el anuncio insiste en que las donaciones vía GitHub Sponsors, OpenCollective y Patreon financian directamente la infraestructura de integración continua del proyecto.

Todos los detalles, con la lista completa de cambios desde la 5.1.0, están en el anuncio oficial en brew.sh.

COMPARTE ESTA NOTICIA

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP