Homebrew 6.0 acaba de cambiar la forma en que tu Mac instala software

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

Transcript

00:00:00Hace unos meses, en este mismo canal, hicimos un video llamando a Homebrew
00:00:05una reliquia de la Edad de Piedra que usábamos solo porque Nix le da mil vueltas. Así que es justo
00:00:12que vuelva por aquí y les diga esto: esa cosa de la Edad de Piedra acaba de lanzar su primera
00:00:17versión mayor en años: Homebrew 6.0. Y aquí está lo importante. La gran novedad no es un montón de funciones
00:00:23nuevas. Es una reestructuración completa de la seguridad. Homebrew ha madurado.
00:00:30Ahora, permítanme explicarles qué cambió realmente, porque es más interesante que un simple cambio de versión.
00:00:38Durante básicamente toda la vida de Homebrew, cuando añadías un tap de terceros (un repositorio de paquetes ajeno),
00:00:45Homebrew simplemente ejecutaba su código Ruby. Ejecutaba su código sin más. Cualquier tap,
00:00:51código arbitrario, casi sin hacer preguntas. Piensen en el mundo en el que vivimos ahora.
00:00:56Los gestores de paquetes son hoy el objetivo número uno de los ataques a la cadena de suministro. NPM y todos los demás
00:01:01están sufriendo ataques constantemente. Ejecutar cualquier código que te mande el repo es una pésima configuración predeterminada.
00:01:08Y la función de Homebrew 6.0 existe para acabar con eso. Se llama Tap Trust. Si disfrutan de estos trucos y consejos de programación,
00:01:15asegúrense de suscribirse. Publicamos videos constantemente. Pero empecemos por la parte que
00:01:19notarán en su día a día. “Brew version”. Ahí está: 6.0. Miren lo que pasa cuando instalo
00:01:25algo que incluye varias dependencias. En lugar de hacerlo silenciosamente, Brew ahora muestra
00:01:31un resumen de todo lo que va a instalar y espera a que yo confirme. Es el nuevo modo Ask,
00:01:38y viene activado por defecto para desarrolladores. Es un cambio pequeño, pero garantiza ver el plan antes de que Brew
00:01:44toque nada en nuestro sistema. Ahora, la gran novedad: Tap Trust. Miren qué pasa cuando añado un tap de terceros.
00:01:50Homebrew me frena en seco. Me avisa que no es un tap de confianza y no ejecutará ni una sola línea de su código
00:01:56hasta que yo lo autorice explícitamente. Indico que confío en él usando “brew trust”, y solo entonces
00:02:03se ejecuta. Los taps oficiales de Homebrew ya vienen marcados como confiables. Así que el uso habitual de Brew
00:02:09sigue siendo exactamente el mismo. Pero ese tap sospechoso de un desconocido en GitHub que encontraron en un README,
00:02:16ahora es como una puerta con cerrojo. Tienen que aprobarlo manualmente. Y, francamente,
00:02:20esa es una excelente decisión a estas alturas. Pero esta no es la única mejora real.
00:02:25El sistema interno de metadatos ahora es el predeterminado, por lo que toda la información del paquete se descarga
00:02:30en una sola solicitud limpia en lugar de docenas de peticiones pequeñas. Así que “brew update” es mucho más rápido. Hay un
00:02:37nuevo comando, “brew execute”, que funciona como un npx para Homebrew. Permite ejecutar una herramienta una sola vez
00:02:45sin tener que instalarla permanentemente en el sistema. También está “brew vulns”, que escanea los paquetes instalados
00:02:51en busca de fallos de seguridad o avisos conocidos. Además, la versión 6.0 solucionó discretamente tres vulnerabilidades, incluida una que permitía
00:02:58ejecutar código como root a través del instalador de Mac. Es una actualización en toda regla. Bien, ahora viene el problema
00:03:04detrás de todo esto. Y para algunos será algo serio, así que se los digo directamente.
00:03:09Tap Trust es un cambio drástico. Si tienen pipelines de CI que dependen de taps de terceros,
00:03:14ahora “brew doctor” devuelve un error en cuanto detecta uno no verificado. Y muchísimas GitHub
00:03:20Actions estándar ejecutan “brew doctor” como su primer paso. La gente actualizó y sus procesos de integración fallaron de inmediato.
00:03:28La solución es marcar esos taps como confiables en su configuración, pero tienen que hacerlo ustedes mismos.
00:03:35Nadie lo hará por ustedes. Pasa lo mismo con el modo Ask. Si tienen scripts que asumían silenciosamente
00:03:41que las instalaciones de Brew no requerían confirmación, la nueva solicitud puede dejarlos bloqueados de forma indefinida. Ahora bien, viéndolo con perspectiva,
00:03:46si son usuarios comunes que instalan aplicaciones a diario, apenas notarán la diferencia.
00:03:51Es una versión enfocada en seguridad y arquitectura, no una simple capa de pintura. Un mito rápido al respecto:
00:03:58Muchos proyectos se están reescribiendo en Rust. No, Homebrew no se está reescribiendo en Rust,
00:04:04al menos no por ahora. Aquello fue solo un experimento. El enfoque vuelve a estar en la base de código Ruby como
00:04:10siempre. ¿Deberían actualizar a Homebrew 6.0? Para casi todos, la respuesta es sí.
00:04:16Recibirán tres parches de seguridad y, francamente, “brew update” los llevará a la versión 6.0
00:04:22lo hayan planeado o no. Quienes sí deberían ir con un poco más de calma son
00:04:27quienes ejecuten flujos de CI con taps de terceros o automatizaciones que esperen instalaciones silenciosas. Solucionen eso
00:04:33primero y todo irá perfecto. Y si todavía usan un Mac con Intel, atención: la 6.0 detalla el cronograma para
00:04:40retirar el soporte a Intel en los próximos años. Para los de Apple Silicon, con los equipos más nuevos,
00:04:46no hay de qué preocuparse. Incluso se añade soporte para los nuevos chips M5. Concluiría esto diciendo lo siguiente:
00:04:53Durante años, Homebrew fue simplemente una conveniencia, por decir lo menos: la forma más rápida de instalar software en un
00:04:59Mac. Con la versión 6.0, parece haberse convertido más bien en un punto de control, un lugar donde el código
00:05:05que entra al equipo finalmente debe demostrar que es de confianza. Es un paso importante. El gestor de paquetes
00:05:10se ha puesto a la altura del modelo de amenazas en el que los demás llevamos años viviendo. Eso es lo realmente
00:05:15valioso aquí; no el número de la versión, 6.0 o 6.1, sino lo que vino con ella. Si disfrutan de estos trucos y consejos
00:05:21de programación, no olviden suscribirse al canal de BetterStack. Nos vemos en un próximo video.

Key Takeaway

Homebrew 6.0 transforma la instalación de software en macOS al obligar la verificación manual de repositorios de terceros con Tap Trust e incorporar un modo de confirmación explícita para evitar vulnerabilidades de la cadena de suministro.

Highlights

  • Homebrew 6.0 introduce Tap Trust, un sistema que bloquea la ejecución de código Ruby de repositorios de terceros hasta que el usuario los autorice manualmente con “brew trust”.

  • El nuevo modo Ask viene activado por defecto para desarrolladores y muestra un resumen completo de dependencias exigiendo confirmación antes de instalar.

  • La versión 6.0 soluciona tres vulnerabilidades de seguridad, incluyendo un fallo que permitía la ejecución de código con privilegios de root en el instalador de Mac.

  • Las canalizaciones de CI y las GitHub Actions pueden fallar de inmediato porque “brew doctor” devuelve un error al detectar taps de terceros no verificados.

  • El comando “brew update” es más rápido gracias a que la descarga de metadatos se consolidó en una sola solicitud en lugar de múltiples peticiones pequeñas.

Timeline

Restructuración de seguridad y control de dependencias

  • Homebrew 6.0 centra sus novedades en la arquitectura de seguridad frente a ataques a la cadena de suministro.
  • Las versiones anteriores ejecutaban código Ruby arbitrario de repositorios de terceros sin validación previa.
  • El modo Ask requiere confirmación del usuario tras mostrar el plan completo de instalación.

Los gestores de paquetes son el objetivo principal de los ataques a la cadena de suministro. La ejecución automática de scripts de terceros representaba un riesgo elevado para los sistemas. Para resolver esto, la nueva versión implementa el modo Ask por defecto en entornos de desarrollo, obligando a revisar cada paquete y sus dependencias antes de modificar el sistema.

Verificación de taps de terceros y nuevas herramientas

  • El comando “brew trust” es obligatorio para habilitar la ejecución de taps de terceros no oficiales.
  • El comando “brew execute” permite correr herramientas una sola vez al estilo de npx.
  • El comando “brew vulns” analiza los paquetes instalados en busca de vulnerabilidades conocidas.

Los repositorios oficiales permanecen marcados como confiables, mientras que cualquier tap externo permanece bloqueado hasta su aprobación manual. Además del bloqueo preventivo, los metadatos se obtienen ahora en una sola petición para acelerar las actualizaciones. La versión corrigió además tres fallos de seguridad críticos, entre ellos un vector de elevación de privilegios a root.

Impacto en automatizaciones de CI y compatibilidad de hardware

  • Las tareas automatizadas en GitHub Actions fallan si ejecutan “brew doctor” con taps no verificados.
  • Homebrew mantiene su código base en Ruby y descarta la reescritura total en Rust.
  • La versión 6.0 fija el plan de retiro para procesadores Intel y añade soporte para el chip M5.

Los scripts y flujos de integración continua que dependen de instalaciones silenciosas o repositorios externos quedan congelados a menos que se configure la autorización explícita de los taps. En cuanto al hardware, los equipos Apple Silicon reciben soporte para la generación M5, mientras se establece un cronograma progresivo para finalizar el soporte a procesadores Intel.

Community Posts

View all posts