# Cómo desinstalar el antivirus en Mac sin romper tu red

> El software de seguridad registra una extensión del sistema, un filtro de red, launch daemons y a veces un perfil, así que arrastrarlo a la Papelera deja el filtro corriendo. Eliminación proveedor por proveedor, y cómo comprobar que no queda nada.

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

Un producto antivirus no es una sola app. Es un bundle de app más un conjunto de registros
que macOS guarda en su propio lado de la valla: una extensión del sistema, una
configuración de filtro de red guardada, uno o más trabajos de launchd, normalmente un
helper con privilegios, y en un Mac gestionado un perfil de configuración. Arrastrar el
bundle a la Papelera quita la fachada y deja intacto cada registro. Por eso esta
categoría tiene fama de no poderse quitar, y por eso el primer movimiento es el propio
desinstalador del proveedor y no el Finder.

## Qué instala un producto de seguridad más allá del bundle de la app

Puedes inventariar toda la superficie de forma solo lectura, en cualquier Mac, en
alrededor de un minuto:

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

**Una extensión del sistema** lleva el código que inspecciona archivos y tráfico,
reemplazando las kernel extensions que este software solía traer, por eso los consejos
viejos sobre borrar un `.kext` ya no describen nada. La
[guía de extensiones del sistema](https://developer.apple.com/documentation/systemextensions/installing-system-extensions-and-drivers)
de Apple dice dónde vive: "Las system extensions residen dentro de la carpeta
`Contents/Library/SystemExtensions` de tu app." Activar una requiere tu aprobación, por
eso instalar software de seguridad siempre implica un viaje a Ajustes. La
[nota técnica de despliegue](https://developer.apple.com/documentation/technotes/tn3134-network-extension-provider-deployment)
de Apple añade la propiedad que importa al momento de quitarlo: un proveedor empaquetado
así "corre en un contexto global, completamente independiente del usuario que tiene la
sesión iniciada."

**Un filtro de contenido de red o proxy transparente** es un objeto separado, y es el que
le quita internet a la gente. La configuración que lo activa pertenece al sistema y no a
la app.
[NEFilterManager](https://developer.apple.com/documentation/networkextension/nefiltermanager)
lo dice explícitamente: "La configuración del filtro se guarda en las preferencias de
Network Extension, que gestiona el framework Network Extension," y los cambios solo
surten efecto cuando la app propietaria los guarda de forma explícita.

**Los trabajos de launchd** arrancan las piezas en segundo plano. `/Library/LaunchDaemons`
corre como root al arrancar, antes de que nadie inicie sesión; `/Library/LaunchAgents`
corre para cada usuario al iniciar sesión; `~/Library/LaunchAgents` corre para ti. Un
plist en esas carpetas es un registro con launchd, no un archivo de ajustes normal.

**Un helper con privilegios** bajo `/Library/PrivilegedHelperTools` es un ejecutable
propiedad de root emparejado con un daemon que debería descargarse antes de que el
archivo vaya a ningún lado. **Un perfil de configuración**, en un Mac desplegado por un
empleador o una escuela, lleva las aprobaciones de extensión y los payloads de filtro
para que el software se instale sin preguntarle a nadie, y el mismo mecanismo puede
volver a ponerlo.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/antivirus-install-surface.webp" width="1360" height="454" loading="lazy" alt="Un instalador de antivirus abriéndose en abanico hacia un bundle de app en Applications, una extensión del sistema dentro de ese bundle, una configuración de filtro de red guardada en las preferencias de Network Extension, launch daemons y agentes registrados con launchd, un helper con privilegios, y un perfil de configuración.">
  <figcaption>Solo el primero de estos es un archivo que puedes arrastrar. El resto son registros que macOS guarda, cada uno con su propio dueño y su propia vía de eliminación.</figcaption>
</figure>

## Por qué arrastrarlo a la Papelera no puede funcionar

Apple documenta una buena noticia, y es más estrecha de lo que parece a primera vista:
"El sistema desinstala automáticamente cualquier system extension cuando el usuario
borra la app correspondiente." Eso cubre la extensión dentro del bundle, y no dice nada
sobre los demás registros, ninguno de los cuales está dentro del bundle.

La configuración del filtro está detrás de la queja más común aquí. Tiene su propio
ciclo de vida en las preferencias de Network Extension, y Apple documenta su eliminación
como una llamada explícita que hace la app propietaria. Borrar una app nunca hace esa
llamada. Lo que queda es un filtro activado apuntando a un proveedor que ya no existe, y
los síntomas son los que la gente reporta tras una eliminación a medias: búsquedas DNS
que fallan, un navegador que se cuelga en cada página, conexiones que agotan el tiempo de
espera mientras el ícono de Wi-Fi muestra señal completa. La red está bien. El tráfico se
le está entregando a un filtro que no puede responder.

Los trabajos de launchd son el segundo fallo. Borrar un ejecutable no da de baja el
trabajo que lo arranca, convierte un servicio que funcionaba en uno que falla en cada
arranque, y un trabajo configurado para mantenerse vivo se reintenta en bucle, de ahí
vienen los reportes de "el ventilador se dispara después de desinstalarlo." Borrar el
plist mientras el trabajo está cargado es la imagen espejo: launchd mantiene el trabajo
hasta el siguiente reinicio sin nada en disco detrás. El helper y el perfil sobreviven
por la misma razón, y un perfil que lleva un payload de software va a reinstalar lo que
borraste.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/antivirus-half-removal.webp" width="1360" height="454" loading="lazy" alt="El bundle de la app movido a la Papelera mientras la configuración del filtro de red, el launch daemon cargado, el helper con privilegios y el perfil de configuración sobreviven todos, produciendo fallos de DNS, un bucle de reinicio y software reinstalado.">
  <figcaption>Todo síntoma de un producto de seguridad eliminado a medias se remonta a un registro que sobrevivió al archivo que borraste.</figcaption>
</figure>

## La dificultad es una decisión de diseño

Un software de seguridad que cualquier proceso pudiera desinstalar en silencio no
valdría nada, porque lo primero que haría un malware capaz sería quitar lo que lo vigila.
Así que macOS pone los dos extremos del ciclo de vida donde un proceso en segundo plano
no puede llegar: activar requiere que un humano haga clic en Permitir en Ajustes (la
[página de alerta](https://support.apple.com/en-us/120363) de Apple apunta a Ítems de
inicio y extensiones en macOS 15 y posteriores, Privacidad y seguridad antes de eso), y
desactivar es una solicitud de la app dueña de la extensión. La fricción es ese diseño
funcionando, y no existe ninguna secuencia de comandos `rm` que sea la desinstalación
real que te están ocultando.

## La regla: corre primero el desinstalador del proveedor

Siempre, y antes de tocar cualquier otra cosa. Solo la app contenedora puede enviar una
solicitud de desactivación para su propia extensión. Solo la app que guardó la
configuración del filtro puede quitarla de las preferencias de Network Extension. Solo la
herramienta del proveedor sabe cuál de sus componentes va a reinstalar a los demás si se
detienen fuera de orden. Ningún desinstalador de terceros puede obtener esos permisos,
así que un escáner de restos, [Mole](https://mole.fit/) incluido, sirve para lo que queda después de que
corrió la herramienta del proveedor, nunca como sustituto de ella.

Si ya arrastraste la app a la Papelera, devuélvela con **Archivo > Devolver**, ábrela, y
usa su propio desinstalador. Las secciones de abajo dicen dónde guarda cada proveedor el
suyo.

## Dónde guarda cada proveedor su desinstalador

Cada enlace de abajo apunta al propio sitio de soporte del proveedor, que es donde viven
los pasos actuales. Las páginas de soporte se mueven, así que sigue la página y no este
resumen si los dos no coinciden.

### McAfee

El desinstalador ya está en el Mac, en Applications, nombrado según el producto que
compraste, así que una instalación de Total Protection y una de LiveSafe no usan el
mismo. El [artículo](https://www.mcafee.com/support/s/article/000002432?language=en_US)
de McAfee te pide iniciar sesión como administrador, cerrar toda app de McAfee, y luego
abrir **Ir > Aplicaciones** y hacer doble clic en ese desinstalador. Dos de sus pasos son
la razón para leerlo en vez de improvisar: te dice que hagas clic en Permitir cuando
macOS pregunte por una system extension, y termina con un reinicio como paso numerado y
no como sugerencia. Un ícono muerto en el Dock puede sobrevivir a la eliminación y hay
que arrastrarlo fuera a mano.

### Norton

También una app desinstaladora aparte que ya está en Applications. La
[página de desinstalación](https://support.norton.com/sp/en/us/home/current/solutions/v134746139)
de Norton recorre **Ir > Aplicaciones**, luego doble clic en **Norton Uninstaller**,
luego "escribe la contraseña de tu cuenta de administrador, y haz clic en **Install
Helper**", luego la contraseña otra vez, y **Finish**. El paso del helper es cómo el
desinstalador obtiene los privilegios para desmontar sus propios componentes a nivel de
sistema.

### Avast

Un desinstalador dentro de la app, en una página que empieza descartando la alternativa
obvia: "Mover Avast Security a la Papelera o usar Clean My Mac no desinstala por
completo la aplicación." La
[ruta documentada](https://support.avast.com/en-us/article/uninstall-mac-security/) es
**Avast Security > Uninstall Avast Security** en la barra de menús, **Continue**, luego
tu contraseña de arranque del Mac e **Install Helper**. El mismo desinstalador también
está en **Applications** como **Avast Security Uninstaller**, para cuando la app no abre.

### Bitdefender

Un binario desinstalador dedicado en vez de un arrastre. La
[página de desinstalación](https://www.bitdefender.com/consumer/support/answer/1784/) te
pide abrir la carpeta Bitdefender, doble clic en **Bitdefender Uninstaller**, marcar el
producto, clic en **Uninstall**, e introducir un nombre y contraseña de administrador. El
mismo paso ofrece quitar Bitdefender VPN, vale la pena aceptarlo si no lo vas a
conservar, ya que ese componente registra su propia extensión de red.

### Malwarebytes

Un ítem de menú dentro de la app. El
[artículo de desinstalación](https://help.malwarebytes.com/hc/en-us/articles/31589300070683-Uninstall-Malwarebytes-for-Windows-and-Mac)
te dirige por **Help > Uninstall Malwarebytes** en la barra de menús, una confirmación, y
tu contraseña del Mac. De forma inusual para esta categoría, la misma página también
acepta la eliminación por Finder, lo cual es una declaración del propio proveedor sobre
su huella. Los artículos antiguos de desinstalación en `support.malwarebytes.com` ahora
redirigen; usa la página `help.malwarebytes.com`.

### Sophos

Dos productos, dos respuestas. **Sophos Home**, el producto para consumidores, usa una
app aparte, **Remove Sophos Home**, que se abre desde Spotlight. La
[página](https://support.home.sophos.com/hc/en-us/articles/115005499786-Uninstalling-Sophos-Home-on-Mac-computers)
es directa sobre la alternativa: "NO arrastres Sophos Home a la Papelera porque esto no
desinstalará el programa." Instala un helper, pide tu contraseña, y necesita un reinicio.
La misma página trae una sección opcional para quitar las extensiones del sistema de
Sophos después, y ese procedimiento coloca `systemextensionsctl uninstall` entre
desactivar y volver a activar System Integrity Protection. Esa es la declaración más
clara de dónde está el límite: incluso el propio desinstalador de un proveedor no
siempre se lleva sus extensiones. Esos pasos son opcionales, exactamente como los marca
el proveedor, y vale la pena dejar SIP activado.

**Sophos Endpoint**, el producto gestionado, usa **Remove Sophos Endpoint** desde
Launchpad, pero la
[documentación](https://docs.sophos.com/esg/endpoint/help/en-us/help/Uninstall/) lo
condiciona: "Si la protección contra manipulación está activada, tienes que
desactivarla antes de poder desinstalar Sophos Endpoint." Eso necesita un administrador
de Sophos Central o la contraseña por dispositivo que guarda esa consola, así que en un
Mac de trabajo no es una operación que dependa del usuario.

### Kaspersky

Dentro de la app, a través del panel de soporte. La
[página de desinstalación](https://support.kaspersky.com/us/kaspersky-for-mac/25/118671)
recorre **Help > Support**, **Uninstall**, **Uninstall** otra vez, luego las credenciales
de administrador, y advierte que las extensiones de Chrome y Firefox sobreviven a la
app. Kaspersky también publica una
[herramienta de eliminación](https://support.kaspersky.com/16048) separada,
`kavremover-mac`, para cuando la vía dentro de la app falla. Ambas páginas tienen fecha
de 2024, así que confirma contra tu versión.

## Si el Mac está gestionado, la respuesta es tu equipo de TI

Antes de gastar una tarde en esto, comprueba si la decisión es siquiera tuya:

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

El primero imprime el estado de inscripción DEP y MDM sin necesitar derechos de
administrador, el segundo lista los perfiles de configuración instalados para tu
usuario, y la misma información aparece en **Ajustes del Sistema > General > Gestión de
dispositivos**. La
[guía de gestión de dispositivos](https://support.apple.com/guide/mac-help/mh35474/mac)
de Apple es clara sobre lo que sigue: "Algunos perfiles solo puede quitarlos un
administrador del sistema de tu Mac. Si no puedes quitar un perfil, tu Mac podría ser un
equipo gestionado."

En un Mac gestionado, el software de seguridad es un payload de esa gestión. Lo quitas
localmente y el perfil lo reinstala. Intentas desactivar la protección contra
manipulación localmente y no puedes, porque la contraseña vive en una consola que no
tienes. Pídele a TI que lo desasigne.

## Verificar la eliminación

Aquí es donde se atrapa una eliminación a medias mientras todavía sale barato. Hazlo
después de que termine el desinstalador del proveedor y el Mac se haya reiniciado,
porque varias de estas comprobaciones solo dicen la verdad después de un arranque.

**1. Extensiones del sistema.**

```
systemextensionsctl list
```

En un Mac sin nada instalado, la salida es una sola línea que dice `0 extension(s)`. De
lo contrario, cada fila nombra el identificador de equipo, el identificador de bundle de
la extensión, su versión, y un estado entre corchetes. Cualquier cosa que todavía lleve
el identificador del proveedor que quitaste significa que la desactivación no terminó.
La herramienta sí ofrece `systemextensionsctl uninstall <teamID> <bundleID>`, y algunos
proveedores la documentan justo para este caso, pero recurre a ella solo cuando la
página del proveedor te lo indique.

**2. Registros de launchd.** Busca las etiquetas del proveedor en las tres ubicaciones, y
luego pregúntale a launchd qué está realmente cargado:

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

Las dos llamadas a `launchctl list` responden preguntas distintas: la primera cubre tu
sesión de inicio, la segunda el dominio del sistema donde viven los daemons de root. Un
plist sobrante sin un trabajo cargado que coincida está obsoleto, un trabajo cargado sin
plist es un Mac que necesita un reinicio, y un trabajo presente en ambos es software que
todavía corre. Mole muestra las mismas tres ubicaciones como una sola lista, que es la
siguiente sección.

**3. Filtros de red.** Un filtro de contenido registrado aparece en **Ajustes del
Sistema > Red** como una entrada de Filtros, así que ninguna entrada significa que nada
está inscrito. Una que sigue listada después de que la app se fue es lo que está
rompiendo tu conexión.

**4. Ítems de inicio y extensiones.** Abre **Ajustes del Sistema > General > Ítems de
inicio y extensiones** y lee tanto la lista de inicio como los ítems en segundo plano
debajo de ella. Los componentes del proveedor sobreviven a la app aquí con frecuencia.

**5. Procesos en ejecución.** En el Monitor de Actividad, busca el nombre del proveedor y
cambia a **Todos los procesos** desde el menú **Vista** para incluir los daemons
propiedad de root. Un resultado vacío después de un reinicio es la confirmación que
buscas.

**6. Recibos.** `pkgutil --pkgs | grep -i vendorname` nombra lo que escribió el
instalador, lo que te da las rutas que vale la pena revisar bajo
`~/Library/Application Support` una vez que los componentes activos ya no están.

Si las primeras tres comprobaciones salen limpias, el producto está fuera de la máquina y
lo que queda es espacio en disco, no comportamiento.

## Qué hace Mole aquí, y qué se niega a hacer

<figure class="blog-diagram">
  <img src="https://mole.fit/img/en/uninstall.webp" width="2584" height="1741" loading="lazy" alt="Una pantalla de revisión de desinstalación con una app expandida mostrando su bundle más elementos sobrantes en ~/Library/Application Support y ~/Library/HTTPStorages, cada uno con un tamaño y una casilla, y un botón Remove abajo.">
  <figcaption>Cada elemento que una desinstalación tocaría, listado con su ruta y tamaño, antes de que se mueva nada. Las filas de baja confianza llegan desmarcadas, así que la acción por defecto siempre es la más pequeña.</figcaption>
</figure>

La pestaña Software de [Mole](https://mole.fit/) tiene el inventario de apps y los ítems de inicio en una
sola pantalla, así que los launch agents, launch daemons e ítems de inicio que registró
un producto son visibles junto a la app que los registró, cada uno con su ruta real.

Para los restos, Mole empareja por identidad de bundle en vez de por nombre, y las rutas
a nivel de sistema que conoce son las de arriba: `/Library/LaunchDaemons/<bundle-id>.plist`,
`/Library/LaunchAgents/<bundle-id>.plist`, `/Library/PrivilegedHelperTools/<bundle-id>`,
y los recibos bajo `/private/var/db/receipts`. Toda coincidencia a nivel de sistema es de
confianza-de-revisión, lo que significa que llega desmarcada: tú das tu consentimiento
para cada ruta después de leerla, en vez de tener que quitar tu consentimiento de una
lista premarcada. Los borrados van a la Papelera, así que un error se arregla arrastrando
de vuelta, los elementos omitidos y fallidos se reportan, y todo corre localmente.

Dos negativas importan más que todo eso. Mole escanea `/Library/SystemExtensions` en
busca de extensiones propiedad de la app que se está quitando, y cuando encuentra una
levanta un aviso que nombra esa extensión y dice que puede quedarse después de que la app
se vaya. No intenta la desactivación, porque no puede: esa solicitud tiene que venir de
la app propietaria. Y para proveedores cuyos productos están bloqueados, gestionados, o
son destructivos de quitar por partes, incluyendo ESET, CrowdStrike, SentinelOne, Jamf,
Palo Alto GlobalProtect y Cisco Secure Client, Mole se niega a desinstalarlos por
completo y apunta al desinstalador oficial del proveedor.

El límite es lo que hace confiable el resto de esta página, así que se dice sin matices:
Mole no responde a malware, no es una copia de seguridad, y no sustituye al
desinstalador del proveedor para software que instala drivers, componentes VPN o
extensiones del sistema. Para antivirus, el trabajo de Mole empieza después de que
termina el desinstalador del proveedor. En una terminal, el
[Mole CLI](https://github.com/tw93/Mole), gratis y de código abierto, cubre la misma
revisión con `mo uninstall`, y todo comando destructivo acepta `--dry-run` así que puedes
leer la lista de rutas primero.

## Preguntas frecuentes

### Mi internet dejó de funcionar después de borrar mi antivirus. ¿Qué hago?

Casi con seguridad una configuración de filtro de red que sobrevivió a la app. Vive en
las preferencias de Network Extension, que el framework gestiona independientemente del
bundle, así que borrar la app deja un filtro activado apuntando a un proveedor que ya no
está. Revisa **Ajustes del Sistema > Red** por una entrada de Filtros y
`systemextensionsctl list` por una extensión sobreviviente. El arreglo es reinstalar el
producto del proveedor y correr su propio desinstalador. Reinstalar el software que estás
tratando de quitar se siente mal y sigue siendo el camino más corto.

### ¿Puedo simplemente borrar los plists en /Library/LaunchDaemons?

No como primer movimiento, y rara vez como último. Un plist ahí es un registro con
launchd, así que quitar el archivo mientras el trabajo está cargado deja el trabajo
corriendo hasta el siguiente reinicio sin nada en disco que lo explique. Una vez que
corrió el desinstalador del proveedor, el Mac se reinició, y `sudo launchctl list` no
muestra ningún trabajo cargado que coincida, un plist obsoleto es un resto inerte. Nunca
quites uno que pertenezca a software que sigue instalado.

### El desinstalador del proveedor pide mi contraseña y luego falla. ¿Ahora qué?

Comprueba tres cosas. Si el Mac está gestionado, en cuyo caso la protección contra
manipulación o un perfil está bloqueando la eliminación y la respuesta es TI. Si el
producto sigue corriendo, ya que algunos desinstaladores no pueden terminar mientras su
propio daemon mantiene archivos abiertos, así que reinicia y reintenta. Y si el
desinstalador está actualizado, ya que algunos proveedores publican una herramienta de
eliminación independiente aparte de la vía dentro de la app. Si las tres salen limpias,
el siguiente paso es el soporte del proveedor.

### ¿Necesito reiniciar antes de comprobar si ya se fue?

Sí. Tanto el desmontaje de la extensión como la baja de registro en launchd se completan
a través de un arranque, así que una comprobación hecha justo después de que termina el
desinstalador puede mostrar restos que ya están programados para desaparecer, y de igual
forma puede esconder un daemon que va a volver.

## Lecturas relacionadas

- [Cómo desinstalar apps por completo en Mac](https://mole.fit/es/blog/how-to-completely-uninstall-apps-on-mac)
  para la secuencia general, identificadores de bundle y contenedores compartidos.
- [Quitar archivos sobrantes tras desinstalar apps de Mac](https://mole.fit/es/blog/how-to-remove-leftover-files-after-uninstalling-mac-apps)
  para los residuos una vez confirmado que los componentes activos ya no están.
- [Qué no deberían borrar nunca los limpiadores de Mac](https://mole.fit/es/blog/what-mac-cleaners-should-never-delete)
  para el otro lado del mismo juicio.

---

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