Higiene de la cadena de suministro
Un Mac de desarrollo acumula software como un garaje acumula herramientas. La mayor parte se instaló para una tarea concreta, hace años, y nadie la ha vuelto a mirar. Homebrew es muy bueno poniendo ese software en tu máquina. No tiene nada que decir sobre lo que le pasa después — y parte de él ya tiene CVE publicados.
brew outdated te dice qué tiene una versión más nueva. brew doctor te dice cuándo tu propia instalación no está sana. Ambos son realmente útiles y ninguno es una comprobación de seguridad — «existe algo más nuevo» y «lo que tienes es vulnerable» son preguntas distintas con urgencias distintas.
brew audit es el comando al que todo el mundo recurre y el que más confunde: valida que una fórmula esté bien formada para enviarla a Homebrew. Es una comprobación de la receta, no del software que tienes en el disco. Nada en las herramientas por defecto compara tus versiones instaladas con una base de datos de avisos.
Cómo funciona
Se reúne cada fórmula y cada cask instalados con su versión — la misma lista que te daría brew list --versions, sin el copiar y pegar.
Esos paquetes se consultan por lotes contra OSV. La consulta es en vivo, así que un análisis refleja los avisos publicados hasta el momento en que lo lanzas.
Cada resultado lleva la gravedad del propio aviso cuando lo publica, y en su defecto su puntuación CVSS. En la fila del paquete aparece su peor resultado.
Cada resultado enlaza con el aviso oficial, y la lista de paquetes desactualizados está a un clic — casi siempre el arreglo es sencillamente la versión parcheada.
Los resultados vienen de OSV, la base de datos de vulnerabilidades de código abierto que mantiene Google, consultada en vivo en lugar de distribuirse como una instantánea dentro de la app. Eso importa justo por lo que trata esta página: una base congelada en el momento de la publicación ya está caducada cuando instalas la app, y esa caducidad es precisamente el fallo que se quiere resolver.
Leer un resultado
Explotable de forma remota, o casi sin esfuerzo. Merece la pena actuar hoy.
Grave, normalmente con condiciones. Merece la pena esta semana.
Real pero estrecha — a menudo requiere acceso local o una configuración poco habitual.
La gravedad viene del propio aviso cuando el editor la proporciona, y en su defecto de su puntuación CVSS. Un paquete con varios resultados se clasifica por el peor de ellos, así que la fila que ves en la lista es la fila por la que deberías juzgarlo.
Brew Doctor cubre la otra mitad de la higiene de la máquina — el estado de Homebrew en lugar de los paquetes que contiene. Se divide en dos tipos de aviso, y la diferencia es deliberada:
Kegs sin enlazar, dependencias que faltan, fórmulas obsoletas, metadatos de cask no válidos — para esto brew ofrece un comando, así que Doctor te da un botón «Arreglar» y repite la comprobación después.
Un comando sudo, un cambio de PATH, una llamada a xcode-select — eso pertenece a tu shell, no a una app que ejecuta comandos en tu nombre. Doctor los muestra como comandos copiables y te deja la decisión a ti.
Esta es la parte que decide si todo lo demás sirve de algo. Analizar bajo demanda responde a la pregunta «¿estoy expuesto ahora mismo?» — pero los avisos se publican continuamente, y la exposición vive justo en el hueco entre la publicación y el descubrimiento. Una vulnerabilidad de la que te enteras con tres meses de retraso no es muy distinta de una de la que no te enteraste nunca.
Por eso el análisis se ejecuta al arrancar por defecto, y un agente en la barra de menús vuelve a comprobar con el intervalo que fijes y se marca cuando aparece algo. No tienes que acordarte de nada. Ese es todo el diseño: el aviso te encuentra a ti, en lugar de esperar a que vayas tú a buscarlo.
Requiere macOS 14 (Sonoma) o posterior, Apple Silicon o Intel.
Un análisis te dice si algo en tu Mac tiene una vulnerabilidad conocida — y el agente de la barra de menús te lo sigue diciendo a partir de entonces. Un pago único de 10 €.