# Comment désinstaller un antivirus sur Mac sans casser votre réseau

> Un logiciel de sécurité enregistre une extension système, un filtre réseau, des démons de lancement et parfois un profil, donc le glisser vers la Corbeille laisse le filtre actif. Le retrait éditeur par éditeur, puis comment vérifier qu'il ne reste rien.

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

Un antivirus n’est pas une seule app. C’est un bundle d’app plus un ensemble
d’enregistrements que macOS conserve de son propre côté de la clôture : une extension
système, une configuration de filtre réseau sauvegardée, une ou plusieurs tâches
launchd, généralement un auxiliaire privilégié, et sur un Mac géré, un profil de
configuration. Glisser le bundle vers la Corbeille supprime la façade et laisse chaque
enregistrement en place. C’est pour ça que cette catégorie a la réputation d’être
irretirable, et pour ça que le premier réflexe doit être le désinstalleur de l’éditeur
plutôt que le Finder.

## Ce qu’un logiciel de sécurité installe au-delà du bundle d’app

Vous pouvez inventorier toute cette surface en lecture seule, sur n’importe quel Mac, en
une minute environ :

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

**Une extension système** porte le code qui inspecte les fichiers et le trafic, en
remplacement des extensions noyau que ce type de logiciel embarquait autrefois, ce qui
explique pourquoi les vieux conseils sur la suppression d’un `.kext` ne décrivent plus
rien du tout. Le
[guide des extensions système](https://developer.apple.com/documentation/systemextensions/installing-system-extensions-and-drivers)
d’Apple précise où elle vit : « Les extensions système résident dans le dossier
`Contents/Library/SystemExtensions` de votre app. » Son activation exige votre
approbation, ce qui explique pourquoi installer un logiciel de sécurité passe toujours
par un détour dans Réglages. La
[note technique de déploiement](https://developer.apple.com/documentation/technotes/tn3134-network-extension-provider-deployment)
d’Apple ajoute la propriété qui compte au moment du retrait : un fournisseur packagé de
cette façon « s’exécute dans un contexte global, totalement indépendant de l’utilisateur
connecté ».

**Un filtre de contenu réseau ou un proxy transparent** est un objet à part, et c’est
celui qui coupe l’accès à internet des gens. La configuration qui l’active appartient au
système plutôt qu’à l’app.
[NEFilterManager](https://developer.apple.com/documentation/networkextension/nefiltermanager)
est explicite : « La configuration du filtre est stockée dans les préférences Network
Extension, gérées par le framework Network Extension », et les changements ne prennent
effet que lorsque l’app propriétaire les enregistre explicitement.

**Les tâches launchd** démarrent les éléments en arrière-plan. `/Library/LaunchDaemons`
s’exécute en root au démarrage, avant que quiconque ne se connecte ;
`/Library/LaunchAgents` s’exécute pour chaque utilisateur à la connexion ;
`~/Library/LaunchAgents` s’exécute pour vous. Une plist dans ces dossiers est un
enregistrement auprès de launchd, pas un simple fichier de réglages.

**Un auxiliaire privilégié** sous `/Library/PrivilegedHelperTools` est un exécutable
possédé par root, associé à un démon qui devrait être déchargé avant que le fichier
n’aille où que ce soit. **Un profil de configuration**, sur un Mac déployé par un
employeur ou une école, porte les approbations d’extension et les charges de filtre pour
que le logiciel s’installe sans demander l’avis de personne, et le même mécanisme peut le
remettre en place.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/antivirus-install-surface.webp" width="1360" height="454" loading="lazy" alt="Un seul installateur d’antivirus se déployant en un bundle d’app dans Applications, une extension système à l’intérieur de ce bundle, une configuration de filtre réseau détenue dans les préférences Network Extension, des démons et agents de lancement enregistrés auprès de launchd, un outil auxiliaire privilégié, et un profil de configuration.">
  <figcaption>Seul le premier de ces éléments est un fichier que vous pouvez glisser. Le reste, ce sont des enregistrements que macOS conserve, chacun avec son propre propriétaire et son propre chemin de suppression.</figcaption>
</figure>

## Pourquoi le glisser vers la Corbeille ne peut pas fonctionner

Apple documente une bonne nouvelle, plus étroite qu’il n’y paraît au premier abord : « Le
système désinstalle automatiquement toute extension système quand l’utilisateur supprime
l’app correspondante. » Cela couvre l’extension à l’intérieur du bundle, et ne dit rien
des autres enregistrements, dont aucun ne se trouve à l’intérieur du bundle.

La configuration du filtre est à l’origine de la plainte la plus fréquente ici. Elle a
son propre cycle de vie dans les préférences Network Extension, et Apple documente son
retrait comme un appel explicite que fait l’app propriétaire. Supprimer une app ne fait
jamais cet appel. Ce qui reste, c’est un filtre activé qui pointe vers un fournisseur qui
n’existe plus, et les symptômes sont ceux que les gens rapportent après une suppression à
moitié faite : des résolutions DNS qui échouent, un navigateur qui se bloque sur chaque
page, des connexions qui expirent alors que l’icône Wi-Fi affiche un signal plein. Le
réseau va bien. Le trafic est confié à un filtre qui ne peut pas répondre.

Les tâches launchd sont le second échec. Supprimer un exécutable ne désenregistre pas la
tâche qui le lance, cela transforme un service qui fonctionnait en un service qui échoue
à chaque lancement, et une tâche configurée pour rester en vie est retentée en boucle,
d’où viennent les signalements du genre « mon ventilateur s’emballe depuis que je l’ai
désinstallé ». Supprimer la plist pendant que la tâche est chargée est le miroir de ce
cas : launchd garde la tâche jusqu’au prochain redémarrage, sans rien sur le disque
derrière elle. L’auxiliaire et le profil survivent pour la même raison, et un profil
portant une charge logicielle réinstallera ce que vous avez supprimé.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/antivirus-half-removal.webp" width="1360" height="454" loading="lazy" alt="Le bundle d’app déplacé vers la Corbeille tandis que la configuration du filtre réseau, le démon de lancement chargé, l’auxiliaire privilégié et le profil de configuration lui survivent tous, produisant des échecs DNS, une boucle de relance et un logiciel réinstallé.">
  <figcaption>Chaque symptôme d’un logiciel de sécurité à moitié retiré remonte à un enregistrement qui a survécu au fichier que vous avez supprimé.</figcaption>
</figure>

## La difficulté est une décision de conception

Un logiciel de sécurité que n’importe quel processus pourrait désinstaller
silencieusement ne vaudrait rien, puisque la première chose que ferait un malware
compétent serait de retirer ce qui le surveille. macOS place donc les deux extrémités du
cycle de vie hors de portée d’un processus en arrière-plan : l’activation exige qu’un
humain clique sur Autoriser dans Réglages (la
[page d’alerte](https://support.apple.com/en-us/120363) d’Apple pointe vers Éléments de
connexion et extensions sur macOS 15 et plus récent, Confidentialité et sécurité avant
cela), et la désactivation est une requête émise par l’app propriétaire de l’extension.
Cette friction, c’est cette conception qui fonctionne, et il n’existe aucune séquence de
commandes `rm` qui serait la vraie désinstallation qu’on vous cache.

## La règle : lancez d’abord le désinstalleur de l’éditeur

Toujours, et avant de toucher à quoi que ce soit d’autre. Seule l’app qui la contient
peut soumettre une requête de désactivation pour sa propre extension. Seule l’app qui a
enregistré la configuration du filtre peut la retirer des préférences Network Extension.
Seul l’outil de l’éditeur sait lequel de ses composants réinstallera les autres si
l’ordre d’arrêt n’est pas respecté. Aucun désinstalleur tiers ne peut obtenir ces accès,
donc un scanner de résidus, [Mole](https://mole.fit/) compris, sert pour ce qui reste après le passage de
l’outil de l’éditeur, jamais comme substitut.

Si vous avez déjà glissé l’app vers la Corbeille, remettez-la à sa place avec
**Fichier > Remettre en place**, lancez-la, et utilisez son propre désinstalleur. Les
sections ci-dessous indiquent où chaque éditeur le range.

## Où chaque éditeur range son désinstalleur

Chaque lien ci-dessous pointe vers le site de support propre à l’éditeur, où vivent les
étapes à jour. Les pages de support bougent, donc en cas de désaccord, suivez la page
plutôt que ce résumé.

### McAfee

Le désinstalleur est déjà sur le Mac, dans Applications, nommé d’après le produit que
vous avez acheté, donc une installation Total Protection et une installation LiveSafe
n’utilisent pas le même. L’[article](https://www.mcafee.com/support/s/article/000002432?language=en_US)
de McAfee vous fait vous connecter en administrateur, quitter chaque app McAfee, puis
ouvrir **Aller > Applications** et double-cliquer sur ce désinstalleur. Deux de ses
étapes justifient de le lire plutôt que d’improviser : il vous dit de cliquer sur
Autoriser quand macOS demande à propos d’une extension système, et il se termine par un
redémarrage donné comme une étape numérotée plutôt qu’une suggestion. Une icône morte
dans le Dock peut survivre au retrait et doit être retirée à la main.

### Norton

Là aussi, une app de désinstallation distincte déjà présente dans Applications. La
[page de désinstallation](https://support.norton.com/sp/en/us/home/current/solutions/v134746139)
de Norton guide via **Aller > Applications**, puis double-cliquer sur **Norton
Uninstaller**, puis « saisir le mot de passe de votre compte administrateur, puis
cliquer sur **Install Helper** », puis le mot de passe à nouveau, puis **Terminer**.
L’étape de l’auxiliaire est ce qui donne au désinstalleur les privilèges nécessaires pour
défaire ses propres composants au niveau système.

### Avast

Un désinstalleur intégré à l’app, sur une page qui commence par écarter l’alternative
évidente : « Déplacer Avast Security vers la Corbeille ou utiliser Clean My Mac ne
désinstalle pas complètement l’application. » Le
[chemin documenté](https://support.avast.com/en-us/article/uninstall-mac-security/) est
**Avast Security > Uninstall Avast Security** dans la barre de menus, **Continue**, puis
le mot de passe de démarrage de votre Mac et **Install Helper**. Le même désinstalleur se
trouve aussi dans **Applications** sous le nom **Avast Security Uninstaller**, pour le
cas où l’app ne s’ouvrirait pas.

### Bitdefender

Un binaire de désinstallation dédié plutôt qu’un glisser-déposer. La
[page de désinstallation](https://www.bitdefender.com/consumer/support/answer/1784/)
vous fait ouvrir le dossier Bitdefender, double-cliquer sur **Bitdefender Uninstaller**,
cocher le produit, cliquer sur **Uninstall**, et saisir un nom et un mot de passe
d’administrateur. Le même passage propose de retirer Bitdefender VPN, à accepter si vous
ne le gardez pas, puisque ce composant enregistre sa propre extension réseau.

### Malwarebytes

Un élément de menu intégré à l’app. L’[article de désinstallation](https://help.malwarebytes.com/hc/en-us/articles/31589300070683-Uninstall-Malwarebytes-for-Windows-and-Mac)
vous fait passer par **Help > Uninstall Malwarebytes** dans la barre de menus, une
invite de confirmation, et votre mot de passe Mac. Fait inhabituel pour cette catégorie,
la même page accepte aussi le retrait via le Finder, ce qui constitue une déclaration de
l’éditeur sur sa propre empreinte. Les anciens articles de désinstallation sur
`support.malwarebytes.com` redirigent désormais ; utilisez la page
`help.malwarebytes.com`.

### Sophos

Deux produits, deux réponses. **Sophos Home**, le produit grand public, utilise une app
séparée **Remove Sophos Home**, lancée depuis Spotlight. La
[page](https://support.home.sophos.com/hc/en-us/articles/115005499786-Uninstalling-Sophos-Home-on-Mac-computers)
est directe sur l’alternative : « NE PAS glisser Sophos Home vers la Corbeille, cela ne
désinstallera pas le programme. » Elle installe un auxiliaire, demande votre mot de
passe, et exige un redémarrage. La même page contient une section optionnelle pour
retirer ensuite les extensions système Sophos, et cette procédure encadre
`systemextensionsctl uninstall` entre la désactivation et la réactivation de la
protection de l’intégrité du système. C’est la déclaration la plus claire de l’endroit où
se situe la limite : même le désinstalleur d’un éditeur n’emporte pas toujours ses
extensions avec lui. Ces étapes sont optionnelles, exactement comme l’éditeur les
qualifie, et il vaut mieux laisser SIP activé.

**Sophos Endpoint**, le produit géré, utilise **Remove Sophos Endpoint** depuis
Launchpad, mais la [documentation](https://docs.sophos.com/esg/endpoint/help/en-us/help/Uninstall/)
le conditionne : « Si la protection anti-sabotage est activée, vous devez la désactiver
avant de pouvoir désinstaller Sophos Endpoint. » Cela exige un administrateur Sophos
Central ou le mot de passe par appareil détenu dans cette console, donc sur un Mac
professionnel, ce n’est pas une opération que l’utilisateur peut faire seul.

### Kaspersky

Intégré à l’app, via le panneau de support. La
[page de désinstallation](https://support.kaspersky.com/us/kaspersky-for-mac/25/118671)
guide via **Help > Support**, **Uninstall**, **Uninstall** à nouveau, puis les
identifiants administrateur, et avertit que les extensions Chrome et Firefox survivent à
l’app. Kaspersky publie aussi un [outil de retrait](https://support.kaspersky.com/16048)
séparé, `kavremover-mac`, pour le cas où le chemin intégré échoue. Les deux pages portent
des dates de 2024, donc vérifiez par rapport à votre version.

## Si le Mac est géré, la réponse est votre équipe informatique

Avant d’y passer une soirée, vérifiez si la décision vous appartient du tout :

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

La première affiche l’état d’inscription DEP et MDM sans droits d’administrateur, la
seconde liste les profils de configuration installés pour votre utilisateur, et la même
information apparaît sous **Réglages Système > Général > Gestion des appareils**. Le
[guide de gestion des appareils](https://support.apple.com/guide/mac-help/mh35474/mac)
d’Apple est clair sur la suite : « Certains profils ne peuvent être retirés que par un
administrateur système de votre Mac. Si vous ne pouvez pas retirer un profil, votre Mac
est peut-être une machine gérée. »

Sur un Mac géré, le logiciel de sécurité est une charge de cette gestion. Retirez-le
localement et le profil le réinstalle. Essayez de désactiver la protection anti-sabotage
localement et vous ne pouvez pas, parce que le mot de passe vit dans une console que vous
n’avez pas. Demandez au service informatique de le désassigner.

## Vérifier le retrait

C’est là qu’une suppression à moitié faite se fait attraper pendant que c’est encore peu
coûteux. Faites-le après que le désinstalleur de l’éditeur a terminé et que le Mac a
redémarré, parce que plusieurs de ces vérifications ne disent la vérité qu’après un
démarrage.

**1. Extensions système.**

```
systemextensionsctl list
```

Sur un Mac où rien n’est installé, la sortie est une seule ligne indiquant
`0 extension(s)`. Sinon, chaque ligne nomme l’identifiant d’équipe, l’identifiant de
bundle de l’extension, sa version, et un état entre crochets. Tout ce qui porte encore
l’identifiant de l’éditeur retiré signifie que la désactivation ne s’est pas terminée.
L’outil propose bien `systemextensionsctl uninstall <teamID> <bundleID>`, et certains
éditeurs le documentent précisément pour ce cas, mais n’y recourez que lorsque la page de
l’éditeur vous le dit.

**2. Enregistrements launchd.** Cherchez les étiquettes de l’éditeur dans les trois
emplacements, puis demandez à launchd ce qui est réellement chargé :

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

Les deux appels `launchctl list` répondent à des questions différentes : le premier
couvre votre session de connexion, le second le domaine système où vivent les démons
root. Une plist résiduelle sans tâche chargée correspondante est un résidu inerte, une
tâche chargée sans plist est un Mac qui a besoin d’un redémarrage, et une tâche présente
dans les deux est un logiciel encore en cours d’exécution. Mole montre ces trois
emplacements comme une seule liste, ce qui fait l’objet de la section suivante.

**3. Filtres réseau.** Un filtre de contenu enregistré apparaît dans
**Réglages Système > Réseau** comme une entrée Filtres, donc l’absence d’entrée signifie
que rien n’est inscrit. Une entrée toujours listée après le départ de l’app est ce qui
casse votre connexion.

**4. Éléments de connexion et extensions.** Ouvrez
**Réglages Système > Général > Éléments de connexion et extensions** et lisez à la fois
la liste de connexion et les éléments en arrière-plan en dessous. Les composants
d’éditeurs survivent fréquemment à l’app à cet endroit.

**5. Processus en cours.** Dans le Moniteur d’activité, recherchez le nom de l’éditeur et
basculez sur **Tous les processus** depuis le menu **Présentation**, pour inclure les
démons possédés par root. Un résultat vide après un redémarrage est la confirmation que
vous cherchez.

**6. Reçus.** `pkgutil --pkgs | grep -i vendorname` nomme ce que l’installateur a écrit,
ce qui vous donne les chemins qui valent la peine d’être examinés sous
`~/Library/Application Support` une fois les composants actifs disparus.

Si les trois premières vérifications sont propres, le produit n’est plus sur la machine,
et tout ce qui reste relève de l’espace disque plutôt que du comportement.

## Ce que fait Mole ici, et ce qu’il refuse de faire

<figure class="blog-diagram">
  <img src="https://mole.fit/img/en/uninstall.webp" width="2584" height="1741" loading="lazy" alt="Un écran de revue de désinstallation avec une app déployée montrant son bundle plus des éléments résiduels dans ~/Library/Application Support et ~/Library/HTTPStorages, chacun avec une taille et une case à cocher, et un bouton Supprimer en bas.">
  <figcaption>Chaque élément qu’une désinstallation toucherait, listé avec son chemin et sa taille, avant que quoi que ce soit ne bouge. Les lignes peu fiables arrivent décochées, si bien que l’action par défaut est toujours la plus prudente.</figcaption>
</figure>

L’onglet Logiciels de [Mole](https://mole.fit/) réunit l’inventaire des apps et les éléments au démarrage
sur un seul écran, si bien que les agents et démons de lancement et les éléments de
connexion qu’un produit a enregistrés sont visibles à côté de l’app qui les a
enregistrés, chacun avec son chemin réel.

Pour les résidus, Mole se fie à l’identité de bundle plutôt qu’au nom, et les chemins au
niveau système qu’il connaît sont ceux ci-dessus : `/Library/LaunchDaemons/<bundle-id>.plist`,
`/Library/LaunchAgents/<bundle-id>.plist`, `/Library/PrivilegedHelperTools/<bundle-id>`,
et les reçus sous `/private/var/db/receipts`. Chaque correspondance au niveau système est
en revue seule, ce qui veut dire qu’elle arrive décochée : vous optez pour chaque chemin
après l’avoir lu, plutôt que de devoir désélectionner une liste précochée. Les
suppressions vont à la Corbeille, si bien qu’une erreur se répare en la ressortant, les
éléments ignorés et échoués sont signalés, et tout tourne en local.

Deux refus comptent plus que tout cela. Mole scanne `/Library/SystemExtensions` à la
recherche d’extensions possédées par l’app en cours de retrait, et quand il en trouve
une, il soulève un avertissement nommant cette extension et précisant qu’elle peut
subsister après le départ de l’app. Il ne tente pas la désactivation, parce qu’il ne le
peut pas : cette requête doit venir de l’app propriétaire. Et pour les éditeurs dont les
produits sont verrouillés, gérés, ou destructeurs à retirer par morceaux, dont ESET,
CrowdStrike, SentinelOne, Jamf, Palo Alto GlobalProtect et Cisco Secure Client, Mole
refuse purement et simplement de les désinstaller et renvoie vers le désinstalleur
officiel de l’éditeur.

Cette limite est ce qui rend le reste de cette page digne de confiance, alors autant le
dire sans détour : Mole n’est pas une réponse aux malwares, ni une sauvegarde, ni un
substitut au désinstalleur d’un éditeur pour un logiciel qui embarque des pilotes, des
composants VPN ou des extensions système. Pour un antivirus, le travail de Mole commence
après que le désinstalleur de l’éditeur a terminé. Dans un terminal, le
[Mole CLI](https://github.com/tw93/Mole), gratuit et open source, couvre la même revue
avec `mo uninstall`, et chaque commande destructive accepte `--dry-run` pour que vous
lisiez d’abord la liste des chemins.

## FAQ

### Mon internet a cessé de fonctionner après avoir supprimé mon antivirus. Que faire ?

Presque certainement une configuration de filtre réseau qui a survécu à l’app. Elle vit
dans les préférences Network Extension, que le framework gère indépendamment du bundle,
donc supprimer l’app laisse un filtre activé pointant vers un fournisseur qui n’est plus
là. Vérifiez **Réglages Système > Réseau** pour une entrée Filtres et
`systemextensionsctl list` pour une extension survivante. Le correctif consiste à
réinstaller le produit de l’éditeur et à lancer son propre désinstalleur. Réinstaller un
logiciel qu’on essaie de retirer paraît contre-intuitif, et reste pourtant le chemin le
plus court.

### Puis-je simplement supprimer les plists dans /Library/LaunchDaemons ?

Pas en premier réflexe, et rarement en dernier recours. Une plist à cet endroit est un
enregistrement auprès de launchd, donc retirer le fichier pendant que la tâche est
chargée laisse la tâche s’exécuter jusqu’au prochain redémarrage, sans rien sur le disque
pour l’expliquer. Une fois que le désinstalleur de l’éditeur a tourné, que le Mac a
redémarré, et que `sudo launchctl list` ne montre aucune tâche chargée correspondante,
une plist résiduelle est un résidu inerte. N’en supprimez jamais une appartenant à un
logiciel encore installé.

### Le désinstalleur de l’éditeur demande mon mot de passe puis échoue. Que faire ?

Vérifiez trois choses. Le Mac est-il géré, auquel cas la protection anti-sabotage ou un
profil bloque le retrait et la réponse est le service informatique. Le produit est-il
encore en cours d’exécution, puisque certains désinstalleurs ne peuvent pas se terminer
tant que leur propre démon garde des fichiers ouverts, donc redémarrez et réessayez. Et
le désinstalleur est-il à jour, puisque certains éditeurs publient un outil de retrait
autonome distinct du chemin intégré à l’app. Si les trois points sont propres, le support
de l’éditeur est l’étape suivante.

### Dois-je redémarrer avant de vérifier que le logiciel a bien disparu ?

Oui. Le démontage d’une extension et le désenregistrement launchd se terminent tous deux
au fil d’un démarrage, donc une vérification lancée immédiatement après que le
désinstalleur a terminé peut montrer des résidus déjà programmés pour disparaître, et
peut tout aussi bien cacher un démon qui reviendra.

## Pour aller plus loin

- [Comment désinstaller complètement des apps sur Mac](https://mole.fit/fr/blog/how-to-completely-uninstall-apps-on-mac)
  pour la séquence générale, les identifiants de bundle et les conteneurs partagés.
- [Retirer les fichiers résiduels après désinstallation d’apps Mac](https://mole.fit/fr/blog/how-to-remove-leftover-files-after-uninstalling-mac-apps)
  pour les résidus une fois les composants actifs confirmés disparus.
- [Ce que les nettoyeurs Mac ne devraient jamais supprimer](https://mole.fit/fr/blog/what-mac-cleaners-should-never-delete)
  pour l’autre versant du même jugement.

---

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