
script macOS per auditing
Un toolkit di auditing della sicurezza basato su Bash per macOS che verifica le impostazioni di hardening del sistema rispetto alle raccomandazioni CIS Benchmark e genera report JSON/HTML.
Creato da Bartłomiej Pogwizd · https://www.youtube.com/@pTech-pl
Questo toolkit è composto da due script:
auditMAC.sh — esegue l'audit di sicurezza completo e mostra i risultati nel terminale e in un file TSVgenerate_reports.sh — converte il file TSV in un report JSON e un report HTML con stili
sudo (necessario per diversi controlli)chmod +x auditMAC.sh
./auditMAC.sh
Lo script:
sudo (usata solo localmente, mai memorizzata)Metti i file (auditMAC.sh e generate_reports.sh) nella stessa cartella I file json e html appariranno nella cartella, vengono generati automaticamente
Questo produce due file nella directory corrente:
macos_security_report.jsonmacos_security_report.html========================================
macOS Security / Audit Report
Author: Bartłomiej Pogwizd / youtube.com/pTech
Version: 2.5
========================================
System Security
----------------------------------------
Firewall OK Enabled
SIP OK Enabled
FileVault FAIL Disabled
Gatekeeper OK Enabled
...
Security Score 72/100
Risk Level: Medium
Passed 31
Warnings 4
Failures 8
Legenda degli stati:
| Stato | Significato |
|---|---|
OK | L'impostazione soddisfa il valore raccomandato |
WARN |
Il punteggio viene calcolato come:
score = (passed × 100 + warnings × 50) / total_checks
| Punteggio | Livello di Rischio |
|---|---|
| 80–100 | 🟢 Basso |
| 50–79 | 🟡 Medio |
| 0–49 | 🔴 Alto |
Ogni controllo nel report HTML/JSON è etichettato con un ID CIS macOS Benchmark (es. 2.1.1 per Firewall, 2.2.1 per FileVault). Questo facilita il riferimento incrociato con la documentazione ufficiale CIS per le indicazioni di remediation.
sudo viene utilizzato solo per comandi che richiedono privilegi elevati (es. fdesetup, systemsetup, launchctl)/tmp con umask 077 e vengono sempre puliti all'uscita, anche in caso di errore o Ctrl+CINFO con istruzioni per la verifica manualeMIT — sentiti libero di usare, modificare e condividere.
Pull request e segnalazioni di problemi sono benvenuti. Se un controllo produce risultati errati sulla tua versione di macOS, apri un issue includendo l'output di sw_vers.
| Categoria | Controlli |
|---|
| Sicurezza di Sistema | Firewall, SIP, Secure Boot, Gatekeeper, FileVault, Password del Firmware, Root Autenticato |
| Privacy | Invio diagnostica, Condivisione dati Siri, Servizi di localizzazione, Ricevitore AirPlay, Blocco schermo, Account ospite, Accesso automatico |
| Aggiornamenti e Ora | Aggiornamenti in sospeso, Download automatico, Aggiornamenti critici, Ora di rete, Wake-on-Network |
| Condivisione e Accesso Remoto | Condivisione schermo, SMB, Condivisione stampante, Login remoto, Gestione remota, AirDrop, Handoff |
| Servizi di Sistema | tftpd, nfsd, httpd, uucp, sshd |
| Utenti e Privilegi | Account amministratore, ruolo utente corrente, stato account Root |
| Rete e Porte | Porte in ascolto aperte (IPv4/IPv6) |
| Elementi di Avvio | LaunchAgents e LaunchDaemons (sistema e utente) |
| Hardening SSH | PermitRootLogin, PasswordAuthentication, PubkeyAuthentication, AllowUsers |
| Estensioni di Sistema | Estensioni kernel attive/in attesa/terminate |
| L'impostazione non può essere determinata o è un'area grigia |
FAIL | L'impostazione non soddisfa la raccomandazione |
INFO | Solo informativo, nessun giudizio di superato/fallito |