Igiene della catena di fornitura
Un Mac da sviluppo accumula software come un garage accumula attrezzi. La maggior parte è stata installata per un lavoro preciso, anni fa, e da allora nessuno l'ha più guardata. Homebrew è molto bravo a mettere quel software sulla tua macchina. Su cosa gli succede dopo non ha nulla da dire — e per una parte esistono ormai CVE pubblicati.
brew outdated ti dice cosa ha una versione più recente. brew doctor ti dice quando l'installazione stessa non è in salute. Sono entrambi davvero utili, e nessuno dei due è un controllo di sicurezza — «esiste qualcosa di più nuovo» e «quello che hai è vulnerabile» sono domande diverse, con urgenze diverse.
brew audit è il comando a cui tutti ricorrono ed è quello che inganna di più: verifica che una formula sia ben formata per essere proposta a Homebrew. È un controllo sulla ricetta, non sul software che sta sul tuo disco. Niente negli strumenti predefiniti confronta le tue versioni installate con un database di avvisi di sicurezza.
Come funziona
Ogni formula e ogni cask installati vengono raccolti con la loro versione — lo stesso elenco che ti darebbe brew list --versions, senza il copia-incolla.
Quei pacchetti vengono interrogati a gruppi rispetto a OSV. La ricerca è dal vivo, quindi un'analisi riflette gli avvisi pubblicati fino al momento in cui la lanci.
Ogni risultato porta la gravità dell'avviso stesso, quando ne pubblica una, altrimenti il suo punteggio CVSS. Nella riga del pacchetto compare il risultato peggiore.
Ogni risultato rimanda all'avviso ufficiale, e l'elenco dei pacchetti non aggiornati è a un clic — quasi sempre la soluzione è semplicemente la versione corretta.
I risultati arrivano da OSV, il database di vulnerabilità open source mantenuto da Google, interrogato dal vivo anziché distribuito come istantanea dentro l'app. È proprio il punto di questa pagina: un database congelato al momento del rilascio è già vecchio quando installi l'app, e questa obsolescenza è esattamente il problema da risolvere.
Leggere un risultato
Sfruttabile da remoto, o quasi senza sforzo. Vale la pena intervenire oggi.
Seria, di solito con condizioni. Vale la pena intervenire questa settimana.
Reale ma circoscritta — spesso richiede accesso locale o una configurazione insolita.
La gravità viene dall'avviso stesso quando l'autore ne fornisce una, altrimenti dal suo punteggio CVSS. Un pacchetto con più risultati è classificato in base al peggiore, quindi la riga che vedi nell'elenco è la riga con cui giudicarlo.
Brew Doctor copre l'altra metà dell'igiene della macchina — lo stato di Homebrew anziché i pacchetti che contiene. Si divide in due tipi di avviso, e la differenza è voluta:
Keg non collegati, dipendenze mancanti, formule deprecate, metadati di cask non validi — per questi brew propone un comando, quindi Doctor ti dà un pulsante «Correggi» e ripete il controllo subito dopo.
Un comando sudo, una modifica del PATH, una chiamata a xcode-select — queste cose appartengono alla tua shell, non a un'app che esegue comandi per conto tuo. Doctor le mostra come comandi copiabili e lascia a te la decisione.
È questa la parte che decide se tutto il resto funziona. Analizzare su richiesta risponde alla domanda «sono esposto in questo momento?» — ma gli avvisi vengono pubblicati di continuo, ed è proprio nello scarto fra pubblicazione e scoperta che vive l'esposizione. Una vulnerabilità di cui vieni a sapere con tre mesi di ritardo non è molto diversa da una di cui non hai mai saputo nulla.
Perciò l'analisi parte all'avvio per impostazione predefinita, e un agente nella barra dei menu ricontrolla con l'intervallo che imposti e si segnala quando salta fuori qualcosa. Non devi ricordarti niente. Il progetto è tutto qui: è l'avviso a trovare te, invece di aspettare che sia tu a cercarlo.
Richiede macOS 14 (Sonoma) o successivo, Apple Silicon o Intel.
Una sola analisi ti dice se qualcosa sul tuo Mac ha una vulnerabilità nota — e l'agente nella barra dei menu continua a dirtelo da lì in poi. Un acquisto una tantum da 10 €.