# Come disinstallare l'antivirus sul Mac senza rompere la rete

> Il software di sicurezza registra un'estensione di sistema, un filtro di rete, launch daemon e a volte un profilo, quindi trascinarlo nel Cestino lascia il filtro attivo. La rimozione fornitore per fornitore, poi come verificare che non resti nulla.

Published: 2026-08-15 | Updated: 2026-08-22

Un prodotto antivirus non è una sola app. È un bundle app più un insieme di registrazioni
che macOS mantiene sul proprio lato del confine: un'estensione di sistema, una
configurazione di filtro di rete salvata, uno o più job launchd, di solito un helper
privilegiato, e su un Mac gestito un profilo di configurazione. Trascinare il bundle nel
Cestino rimuove il front end e lascia ogni registrazione al suo posto. È per questo che
questa categoria ha la reputazione di essere irrimovibile, e perché la prima mossa è
l'uninstaller del fornitore stesso, non il Finder.

## Cosa installa un prodotto di sicurezza oltre al bundle app

Puoi inventariare l'intera superficie in sola lettura, su qualsiasi Mac, in circa un minuto:

```
systemextensionsctl list
ls -la /Library/LaunchDaemons /Library/LaunchAgents ~/Library/LaunchAgents
ls -la /Library/PrivilegedHelperTools
profiles list
pkgutil --pkgs | grep -i vendorname
```

**Un'estensione di sistema** porta il codice che ispeziona file e traffico, sostituendo le
estensioni del kernel che questo software installava un tempo, ed è per questo che il
vecchio consiglio di cancellare un `.kext` non descrive più niente. La
[guida alle estensioni di sistema](https://developer.apple.com/documentation/systemextensions/installing-system-extensions-and-drivers)
di Apple dice dove vive: "System extensions reside inside your app's
`Contents/Library/SystemExtensions` folder." Attivarne una richiede la tua approvazione, ed
è per questo che installare software di sicurezza comporta sempre una tappa nelle
Impostazioni. La
[nota tecnica di deployment](https://developer.apple.com/documentation/technotes/tn3134-network-extension-provider-deployment)
di Apple aggiunge la proprietà che conta al momento della rimozione: un provider impacchettato
così "runs in a global context, completely independent of the logged in user."

**Un filtro di contenuti di rete o un proxy trasparente** è un oggetto separato, ed è quello
che porta via a molti l'accesso a internet. La configurazione che lo attiva appartiene al
sistema piuttosto che all'app.
[NEFilterManager](https://developer.apple.com/documentation/networkextension/nefiltermanager)
è esplicito: "The filter configuration is stored in the Network Extension preferences which
are managed by the Network Extension framework," e le modifiche hanno effetto solo quando
l'app proprietaria le salva esplicitamente.

**I job launchd** avviano i pezzi in background. `/Library/LaunchDaemons` gira come root
all'avvio, prima che chiunque acceda; `/Library/LaunchAgents` gira per ogni utente al login;
`~/Library/LaunchAgents` gira per te. Un plist in quelle cartelle è una registrazione con
launchd, non un normale file di impostazioni.

**Un helper privilegiato** sotto `/Library/PrivilegedHelperTools` è un eseguibile posseduto
da root abbinato a un daemon che andrebbe scaricato prima che il file vada da qualsiasi
parte. **Un profilo di configurazione**, su un Mac distribuito da un datore di lavoro o una
scuola, porta le approvazioni delle estensioni e i payload del filtro così il software si
installa senza chiedere niente a nessuno, e lo stesso meccanismo può rimetterlo al suo posto.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/antivirus-install-surface.webp" width="1360" height="454" loading="lazy" alt="Un installer antivirus che si diffonde in un bundle app in Applicazioni, un'estensione di sistema dentro quel bundle, una configurazione di filtro di rete tenuta nelle preferenze di Network Extension, launch daemon e agent registrati con launchd, uno strumento helper privilegiato, e un profilo di configurazione">
  <figcaption>Solo il primo di questi è un file che puoi trascinare. Il resto sono registrazioni che macOS mantiene, ciascuna con il proprio proprietario e il proprio percorso di rimozione.</figcaption>
</figure>

## Perché trascinarlo nel Cestino non può funzionare

Apple documenta una buona notizia, ed è più ristretta di quanto sembri a prima lettura:
"The system automatically uninstalls any system extensions when the user deletes the
corresponding app." Questo copre l'estensione dentro il bundle, e non dice niente sulle
altre registrazioni, nessuna delle quali sta dentro il bundle.

La configurazione del filtro è dietro la lamentela più comune qui. Ha una propria durata
nelle preferenze di Network Extension, e Apple documenta la sua rimozione come una chiamata
esplicita che fa l'app proprietaria. Cancellare un'app non fa mai quella chiamata. Ciò che
resta è un filtro attivo che punta a un provider che non esiste più, e i sintomi sono
quelli che la gente segnala dopo una rimozione a metà: ricerche DNS che falliscono, un
browser che si blocca su ogni pagina, connessioni che vanno in timeout mentre l'icona
Wi-Fi mostra segnale pieno. La rete è a posto. Il traffico viene consegnato a un filtro che
non può rispondere.

I job launchd sono il secondo fallimento. Cancellare un eseguibile non deregistra il job
che lo avvia, converte un servizio funzionante in uno che fallisce a ogni avvio, e un job
configurato per restare vivo viene ritentato in loop, ed è da lì che vengono le
segnalazioni "la ventola parte dopo che l'ho disinstallato". Cancellare il plist mentre il
job è caricato è l'immagine speculare: launchd tiene il job fino al prossimo riavvio senza
niente sul disco dietro. L'helper e il profilo sopravvivono per lo stesso motivo, e un
profilo che porta un payload software reinstallerà ciò che hai cancellato.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/antivirus-half-removal.webp" width="1360" height="454" loading="lazy" alt="Il bundle app spostato nel Cestino mentre la configurazione del filtro di rete, il launch daemon caricato, l'helper privilegiato, e il profilo di configurazione sopravvivono tutti, producendo fallimenti DNS, un loop di riavvio, e software reinstallato">
  <figcaption>Ogni sintomo di un prodotto di sicurezza rimosso a metà risale a una registrazione sopravvissuta al file che hai cancellato.</figcaption>
</figure>

## La difficoltà è una scelta di design

Un software di sicurezza che qualsiasi processo potesse disinstallare silenziosamente non
varrebbe niente, dato che la prima cosa che farebbe un malware capace sarebbe rimuovere
ciò che lo osserva. Quindi macOS mette entrambi gli estremi del ciclo di vita dove un
processo in background non può arrivare: l'attivazione richiede un essere umano che clicca
Consenti nelle Impostazioni (la
[pagina di avviso](https://support.apple.com/en-us/120363) di Apple indica Elementi login
ed estensioni su macOS 15 e successivi, Privacy e sicurezza prima), e la disattivazione è
una richiesta dell'app che possiede l'estensione. L'attrito è quel design che funziona, e
non c'è alcuna sequenza di comandi `rm` che sia la vera disinstallazione che ti viene
tenuta nascosta.

## La regola: esegui prima l'uninstaller del fornitore

Sempre, e prima di toccare qualsiasi altra cosa. Solo l'app che contiene l'estensione può
inviare una richiesta di disattivazione per essa. Solo l'app che ha salvato la
configurazione del filtro può rimuoverla dalle preferenze di Network Extension. Solo lo
strumento del fornitore sa quali dei suoi componenti reinstalleranno gli altri se fermati
fuori sequenza. Nessun uninstaller di terze parti può ottenere quegli agganci, quindi uno
scanner di residui, [Mole](https://mole.fit/) incluso, serve per ciò che resta dopo che lo strumento del
fornitore ha girato, mai come sostituto di esso.

Se hai già trascinato l'app nel Cestino, rimettila a posto con **File > Ripristina**,
avviala, e usa il suo uninstaller. Le sezioni sotto indicano dove ogni fornitore tiene il
suo.

## Dove ogni fornitore tiene il suo uninstaller

Ogni link sotto punta al sito di supporto del fornitore stesso, dove vivono i passi
attuali. Le pagine di supporto si spostano, quindi segui la pagina piuttosto che questo
riassunto se i due discordano.

### McAfee

L'uninstaller è già sul Mac, in Applicazioni, chiamato come il prodotto che hai comprato,
quindi un'installazione Total Protection e una LiveSafe non usano lo stesso. L'
[articolo](https://www.mcafee.com/support/s/article/000002432?language=en_US) di McAfee ti
fa accedere come amministratore, chiudere ogni app McAfee, poi aprire **Vai > Applicazioni**
e fare doppio clic su quell'uninstaller. Due dei suoi passi sono il motivo per leggerlo
invece di improvvisare: ti dice di cliccare Consenti quando macOS chiede riguardo a
un'estensione di sistema, ed è concluso da un riavvio come passo numerato piuttosto che
come suggerimento. Un'icona Dock morta può sopravvivere alla rimozione e va trascinata via
a mano.

### Norton

Anche qui un'app uninstaller separata già in Applicazioni. La
[pagina di disinstallazione](https://support.norton.com/sp/en/us/home/current/solutions/v134746139)
di Norton percorre **Vai > Applicazioni**, poi doppio clic su **Norton Uninstaller**, poi
"type your administrator account password, and then click **Install Helper**", poi di nuovo
la password, poi **Finish**. Il passo dell'helper è come l'uninstaller ottiene i privilegi
per smontare i propri componenti a livello di sistema.

### Avast

Un uninstaller in-app, su una pagina che si apre escludendo l'alternativa ovvia: "Moving
Avast Security to the Trash or using Clean My Mac does not fully uninstall the
application." Il
[percorso documentato](https://support.avast.com/en-us/article/uninstall-mac-security/) è
**Avast Security > Uninstall Avast Security** nella barra dei menu, **Continua**, poi la
password di avvio del tuo Mac e **Install Helper**. Lo stesso uninstaller sta anche in
**Applicazioni** come **Avast Security Uninstaller**, per quando l'app non si apre.

### Bitdefender

Un binario uninstaller dedicato invece di un trascinamento. La
[pagina di disinstallazione](https://www.bitdefender.com/consumer/support/answer/1784/) ti
fa aprire la cartella Bitdefender, doppio clic su **Bitdefender Uninstaller**, spuntare il
prodotto, cliccare **Uninstall**, e inserire un nome e una password di amministratore. Lo
stesso passaggio offre di rimuovere Bitdefender VPN, che vale la pena accettare se non lo
tieni, dato che quel componente registra una propria estensione di rete.

### Malwarebytes

Una voce di menu in-app. L'
[articolo di disinstallazione](https://help.malwarebytes.com/hc/en-us/articles/31589300070683-Uninstall-Malwarebytes-for-Windows-and-Mac)
ti porta attraverso **Aiuto > Disinstalla Malwarebytes** nella barra dei menu, un prompt di
conferma, e la password del tuo Mac. Insolitamente per questa categoria, la stessa pagina
accetta anche la rimozione tramite Finder, il che è una dichiarazione del fornitore sulla
propria impronta. I vecchi articoli di disinstallazione su `support.malwarebytes.com` ora
reindirizzano; usa la pagina `help.malwarebytes.com`.

### Sophos

Due prodotti, due risposte. **Sophos Home**, il prodotto consumer, usa un'app separata
**Remove Sophos Home** avviata da Spotlight. La
[pagina](https://support.home.sophos.com/hc/en-us/articles/115005499786-Uninstalling-Sophos-Home-on-Mac-computers)
è diretta sull'alternativa: "DO NOT drag Sophos Home to the Trash as this will not
uninstall the program." Installa un helper, chiede la tua password, e richiede un riavvio.
La stessa pagina contiene una sezione opzionale per rimuovere le estensioni di sistema
Sophos in seguito, e quella procedura racchiude `systemextensionsctl uninstall` tra la
disattivazione e la riattivazione di System Integrity Protection. È la dichiarazione più
chiara di dove sta il confine: anche l'uninstaller di un fornitore stesso non sempre porta
via le proprie estensioni. Quei passi sono opzionali, esattamente come li etichetta il
fornitore, e SIP vale la pena lasciarla attiva.

**Sophos Endpoint**, il prodotto gestito, usa **Remove Sophos Endpoint** da Launchpad, ma
la [documentazione](https://docs.sophos.com/esg/endpoint/help/en-us/help/Uninstall/) lo
blocca: "If tamper protection is turned on, you need to turn it off before you can
uninstall Sophos Endpoint." Serve un amministratore Sophos Central o la password per
dispositivo tenuta in quella console, quindi su un Mac di lavoro non è un'operazione lato
utente.

### Kaspersky

In-app, tramite il pannello di supporto. La
[pagina di disinstallazione](https://support.kaspersky.com/us/kaspersky-for-mac/25/118671)
percorre **Aiuto > Supporto**, **Disinstalla**, di nuovo **Disinstalla**, poi credenziali di
amministratore, e avverte che le estensioni di Chrome e Firefox sopravvivono all'app.
Kaspersky pubblica anche uno [strumento di rimozione](https://support.kaspersky.com/16048)
separato, `kavremover-mac`, per quando il percorso in-app fallisce. Entrambe le pagine
portano date 2024, quindi verifica in base alla tua versione.

## Se il Mac è gestito, la risposta è il tuo team IT

Prima di passarci una serata, controlla se la decisione è tua:

```
profiles status -type enrollment
profiles list
```

Il primo stampa lo stato di iscrizione DEP e MDM senza diritti di amministratore, il
secondo elenca i profili di configurazione installati per il tuo utente, e la stessa
informazione appare sotto **Impostazioni di Sistema > Generali > Gestione dispositivo**. La
[guida alla Gestione dispositivo](https://support.apple.com/guide/mac-help/mh35474/mac) di
Apple è chiara su cosa segue: "Some profiles can only be removed by a system administrator
of your Mac. If you can't remove a profile, your Mac may be a managed computer."

Su un Mac gestito il software di sicurezza è un payload di quella gestione. Rimuovilo
localmente e il profilo lo reinstalla. Prova a disattivare la protezione anti-manomissione
localmente e non puoi, perché la password vive in una console che non hai. Chiedi all'IT di
scollegarlo.

## Verificare la rimozione

Questo è il punto in cui una rimozione a metà viene colta mentre è ancora economico
farlo. Fallo dopo che l'uninstaller del fornitore ha finito e il Mac si è riavviato, perché
diversi di questi controlli dicono la verità solo dopo un boot.

**1. Estensioni di sistema.**

```
systemextensionsctl list
```

Su un Mac senza nulla installato, l'output è una singola riga che legge `0 extension(s)`.
Altrimenti ogni riga nomina l'identificativo di team, il bundle identifier dell'estensione,
la sua versione, e uno stato tra parentesi. Qualsiasi cosa che porti ancora
l'identificativo del fornitore rimosso significa che la disattivazione non si è completata.
Lo strumento offre `systemextensionsctl uninstall <teamID> <bundleID>`, e alcuni fornitori
lo documentano esattamente per questo caso, ma usalo solo quando la pagina del fornitore
te lo dice.

**2. Registrazioni launchd.** Cerca le label del fornitore in tutte e tre le posizioni, poi
chiedi a launchd cosa è effettivamente caricato:

```
ls -la /Library/LaunchDaemons /Library/LaunchAgents ~/Library/LaunchAgents
launchctl list | grep -i vendorname
sudo launchctl list | grep -i vendorname
```

Le due chiamate `launchctl list` rispondono a domande diverse: la prima copre la tua
sessione di login, la seconda il dominio di sistema dove vivono i daemon root. Un plist
residuo senza un job caricato corrispondente è obsoleto, un job caricato senza plist è un
Mac che ha bisogno di un riavvio, e un job in entrambi è software ancora in esecuzione.
Mole mostra le stesse tre posizioni come un'unica lista, che è la prossima sezione.

**3. Filtri di rete.** Un filtro di contenuti registrato appare in
**Impostazioni di Sistema > Rete** come voce Filtri, quindi nessuna voce significa che
niente è iscritto. Una ancora elencata dopo che l'app è sparita è ciò che sta rompendo la
tua connessione.

**4. Elementi login ed estensioni.** Apri
**Impostazioni di Sistema > Generali > Elementi login ed estensioni** e leggi sia la lista
di login sia gli elementi in background sotto. I componenti del fornitore sopravvivono
spesso all'app qui.

**5. Processi in esecuzione.** In Monitoraggio Attività, cerca il nome del fornitore e
passa a **Tutti i processi** dal menu **Vista** così i daemon posseduti da root sono
inclusi. Un risultato vuoto dopo un riavvio è la conferma che vuoi.

**6. Ricevute.** `pkgutil --pkgs | grep -i vendorname` nomina cosa ha scritto l'installer,
il che ti dà i percorsi che vale la pena rivedere sotto
`~/Library/Application Support` una volta che i componenti attivi sono spariti.

Se i primi tre controlli sono puliti, il prodotto è fuori dalla macchina e tutto ciò che
resta è spazio disco piuttosto che comportamento.

## Cosa fa Mole qui, e cosa si rifiuta di fare

<figure class="blog-diagram">
  <img src="https://mole.fit/img/en/uninstall.webp" width="2584" height="1741" loading="lazy" alt="Una schermata di revisione della disinstallazione con un'app espansa per mostrare il suo bundle più elementi residui in ~/Library/Application Support e ~/Library/HTTPStorages, ciascuno con dimensione e checkbox, e un pulsante Rimuovi in fondo">
  <figcaption>Ogni elemento che una disinstallazione toccherebbe, elencato con percorso e dimensione, prima che qualsiasi cosa si muova. Le righe a bassa confidenza arrivano deselezionate, quindi l'azione predefinita è sempre quella più piccola.</figcaption>
</figure>

La scheda Software di [Mole](https://mole.fit/) tiene l'inventario app e gli elementi di avvio su un unico
schermo, così i launch agent, i launch daemon, e i login item che un prodotto ha
registrato sono visibili accanto all'app che li ha registrati, ciascuno con il suo
percorso reale.

Per i residui, Mole confronta per identità del bundle piuttosto che per nome, e i percorsi
a livello di sistema che conosce sono quelli sopra: `/Library/LaunchDaemons/<bundle-id>.plist`,
`/Library/LaunchAgents/<bundle-id>.plist`, `/Library/PrivilegedHelperTools/<bundle-id>`, e
le ricevute sotto `/private/var/db/receipts`. Ogni corrispondenza a livello di sistema è a
confidenza di revisione, il che significa che arriva deselezionata: scegli di includere
ogni percorso dopo averlo letto, invece di escludere da una lista già spuntata. Le
rimozioni vanno nel Cestino, quindi un errore è un trascinamento fuori, gli elementi
saltati e falliti vengono riportati, e tutto gira in locale.

Due rifiuti contano più di tutto questo. Mole scansiona `/Library/SystemExtensions` per
estensioni possedute dall'app che si sta rimuovendo, e quando ne trova una solleva un
avviso che la nomina e dice che potrebbe restare dopo che l'app è sparita. Non tenta la
disattivazione, perché non può: quella richiesta deve venire dall'app proprietaria. E per
fornitori i cui prodotti sono bloccati, gestiti, o distruttivi da rimuovere pezzo per pezzo,
inclusi ESET, CrowdStrike, SentinelOne, Jamf, Palo Alto GlobalProtect, e Cisco Secure
Client, Mole rifiuta del tutto di disinstallarli e indica l'uninstaller ufficiale del
fornitore.

Il confine è ciò che rende affidabile il resto di questa pagina, quindi va detto senza
attenuanti: Mole non è una risposta al malware, non è un backup, e non è un sostituto di un
uninstaller del fornitore per software che installa driver, componenti VPN o estensioni di
sistema. Per gli antivirus, il lavoro di Mole inizia dopo che l'uninstaller del fornitore ha
finito. In un terminale, il gratuito e open source
[Mole CLI](https://github.com/tw93/Mole) copre la stessa revisione con `mo uninstall`, e
ogni comando distruttivo accetta `--dry-run` così puoi leggere la lista dei percorsi prima.

## Domande frequenti

### Internet ha smesso di funzionare dopo che ho cancellato il mio antivirus. Cosa faccio?

Quasi certamente una configurazione di filtro di rete sopravvissuta all'app. Vive nelle
preferenze di Network Extension, che il framework gestisce indipendentemente dal bundle,
quindi cancellare l'app lascia un filtro attivo che punta a un provider che non c'è più.
Controlla **Impostazioni di Sistema > Rete** per una voce Filtri e
`systemextensionsctl list` per un'estensione sopravvissuta. La soluzione è reinstallare il
prodotto del fornitore ed eseguire il suo uninstaller. Reinstallare software che stai
cercando di rimuovere sembra sbagliato ed è comunque il percorso più breve.

### Posso semplicemente cancellare i plist in /Library/LaunchDaemons?

Non come prima mossa, e raramente come ultima. Un plist lì è una registrazione con
launchd, quindi rimuovere il file mentre il job è caricato lascia il job in esecuzione fino
al prossimo riavvio senza niente sul disco a spiegarlo. Una volta che l'uninstaller del
fornitore ha girato, il Mac si è riavviato, e `sudo launchctl list` non mostra alcun job
caricato corrispondente, un plist obsoleto è un residuo inerte. Non rimuoverne mai uno
appartenente a software ancora installato.

### L'uninstaller del fornitore chiede la mia password e poi fallisce. E ora?

Controlla tre cose. Il Mac è gestito, nel qual caso la protezione anti-manomissione o un
profilo sta bloccando la rimozione e la risposta è l'IT. Il prodotto è ancora in esecuzione,
dato che alcuni uninstaller non riescono a finire mentre il proprio daemon tiene aperti dei
file, quindi riavvia e riprova. E l'uninstaller è aggiornato, dato che alcuni fornitori
pubblicano uno strumento di rimozione standalone separato dal percorso in-app. Se tutte e
tre sono a posto, il supporto del fornitore è la prossima tappa.

### Devo riavviare prima di controllare se è sparito?

Sì. Sia lo smontaggio dell'estensione sia la deregistrazione launchd si completano
attraverso un boot, quindi un controllo eseguito subito dopo che l'uninstaller ha finito può
mostrare residui già programmati per sparire, e allo stesso modo può nascondere un daemon
che tornerà.

## Approfondimenti correlati

- [Come disinstallare completamente le app su Mac](https://mole.fit/it/blog/how-to-completely-uninstall-apps-on-mac)
  per la sequenza generale, i bundle identifier, e i container condivisi.
- [Rimuovere i file residui dopo la disinstallazione delle app Mac](https://mole.fit/it/blog/how-to-remove-leftover-files-after-uninstalling-mac-apps)
  per i residui una volta confermato che i componenti attivi sono spariti.
- [Cosa i Mac cleaner non dovrebbero mai cancellare](https://mole.fit/it/blog/what-mac-cleaners-should-never-delete)
  per l'altro lato dello stesso giudizio.

---

Canonical HTML page: https://mole.fit/it/blog/how-to-uninstall-antivirus-mac
Blog index for agents: https://mole.fit/it/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
