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.