macOS gatekeeper bypass per app non firmate

Cos'è Gatekeeper

Gatekeeper è il sistema di sicurezza di macOS che impedisce l'esecuzione di app non firmate o non verificate da Apple. Se scarichi un'app da Internet e provi ad aprirla, macOS può mostrare il messaggio "impossibile aprire perché non è stato possibile verificare lo sviluppatore" o nei casi peggiori "app danneggiata, spostala nel Cestino". È una protezione contro malware: ma a volte blocca anche software legittimo (open source non firmato, vecchi tool aziendali). Gatekeeper esiste dal 2012 (OS X Mountain Lion) e si è progressivamente rafforzato con ogni versione di macOS.

Le tre categorie

macOS distingue tre tipologie di app: App Store (verificate da Apple, sempre eseguibili), App firmate e notarizzate (sviluppatore identificato con certificato Apple e app inviata ad Apple per scansione automatica), App non firmate (nessun certificato). Le prime due aprono senza problemi; le terze richiedono autorizzazione manuale. La notarizzazione è un passo aggiuntivo rispetto alla sola firma: Apple scansiona il binario alla ricerca di malware noti e gli applica un ticket di notarizzazione visibile dal sistema.

Bypass standard: Apri con tasto destro

Su macOS Sonoma e precedenti la procedura standard era: tasto destro sull'app, scegli Apri, conferma nel popup. Su macOS Sequoia 15 questo metodo non funziona più: la finestra di conferma non offre più l'opzione "Apri comunque". Apple ha introdotto questo cambiamento per aumentare l'attrito nei bypass: la nuova procedura richiede un passaggio esplicito attraverso le impostazioni di sistema, riducendo i bypass involontari indotti da malware ingannevole.

Bypass su Sequoia: Impostazioni

Dopo aver provato ad aprire l'app (e visto il blocco), vai in Impostazioni di Sistema > Privacy e Sicurezza. Scorri verso il basso fino alla sezione Sicurezza: vedrai il messaggio "X è stato bloccato per proteggere il tuo Mac" con un pulsante Apri comunque. Clicca e conferma con la password. L'autorizzazione vale solo per quell'app specifica e per le versioni con lo stesso identificatore: aggiornamenti dell'app non sono soggetti a un nuovo blocco se l'identificatore resta lo stesso.

Rimuovere l'attributo quarantine

Le app scaricate da browser ricevono l'attributo esteso com.apple.quarantine. Per rimuoverlo da riga di comando: xattr -d com.apple.quarantine /Applicazioni/NomeApp.app. Se l'app è in una cartella: xattr -dr com.apple.quarantine /Applicazioni/NomeApp.app. Usa solo con app di fonte fidata: stai bypassando esplicitamente la verifica antimalware. Le app scaricate via curl/wget da terminale non hanno questo attributo perché lo aggiungono solo i browser (Safari, Chrome, Firefox).

App "danneggiata"

Il messaggio App danneggiata, spostala nel Cestino indica che il certificato sviluppatore è scaduto o l'app non è notarizzata. Spesso succede con software open source distribuito senza firma. Il fix è lo stesso comando xattr citato sopra: xattr -cr /Applicazioni/NomeApp.app rimuove tutti gli attributi estesi. Se il problema persiste, prova prima a verificare l'integrità del download: scarica di nuovo l'app dalla fonte originale (a volte i download interrotti causano errori di firma).

Disabilitare Gatekeeper (sconsigliato)

Per disabilitare completamente Gatekeeper: sudo spctl --master-disable. Riapparirà l'opzione "Ovunque" in Impostazioni Sicurezza. Sconsigliato in ambito aziendale: lascia il Mac vulnerabile a malware. Per riattivare: sudo spctl --master-enable. In contesti gestiti via MDM puoi impostare profili che forzano l'attivazione di Gatekeeper, impedendo agli utenti di disattivarlo anche con accesso amministratore.

App di sviluppatori non identificati per uso aziendale

Se distribuisci software interno alla tua azienda valuta l'iscrizione al Developer Program (99€/anno) e firma il software con un certificato Developer ID. Questo elimina il problema Gatekeeper per i tuoi utenti senza ricorrere a bypass. La notarization è il passo successivo: Apple scansiona il binario e lo certifica, eliminando ogni avviso. Per piccoli script interni o tool open source su misura non vale la pena: documenta la procedura di bypass nei runbook dei team.

App scaricate via curl o wget

File scaricati da terminale (curl, wget) non ricevono il flag quarantine: aprono senza prompt Gatekeeper. Tienilo presente: se scarichi software via terminale stai saltando la protezione del browser. Verifica sempre la firma SHA del download dal sito ufficiale: shasum -a 256 file.dmg per confrontare il checksum SHA-256.

App rimosse e quarantine residuo

Anche dopo aver autorizzato un'app, se la elimini e poi reinstalli lo stesso bundle, Gatekeeper potrebbe richiedere di nuovo autorizzazione. Questo perché ogni file scaricato ha un nuovo attributo quarantine. Per ambienti di lavoro con app interne distribuite via condivisione di rete o cloud sync, considera di distribuire le app via pacchetti firmati .pkg o tramite tool MDM.

Bypass per script e CLI

Per eseguire script shell o tool da riga di comando non firmati, in genere non c'è blocco Gatekeeper (Gatekeeper si applica principalmente a .app bundle). Tuttavia binari Mach-O eseguibili scaricati possono essere bloccati. Verifica con codesign -dv binario lo stato di firma. Per eseguire da terminale puoi sempre usare ./script o ./binario dopo aver dato i permessi: chmod +x.

Best practice in azienda

Stabilisci una policy aziendale chiara: i dipendenti possono usare bypass Gatekeeper solo per software approvato dall'IT. Documenta in una whitelist interna le app non firmate ma autorizzate (open source vetted, vecchi tool legacy con vendor noto). Per software sconosciuto o trovato online, richiedi sempre validazione IT prima del bypass. La maggior parte dei malware moderni arriva proprio sfruttando bypass utente di Gatekeeper.

Hai bisogno di aiuto?

Se vuoi supporto Mac aziendale dal team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?