
Cuando ejecutas el comando ls -l@ en Terminal para ver los atributos extendidos adjuntos a tus archivos, es posible que notes que algunos archivos tienen el atributo com.apple.quarantine. Si te preguntas qué es o cómo deshacerte de él, este artículo es todo lo que necesitas.
¿Qué es com.apple.quarantine?
com.apple.quarantine es un atributo extendido adjunto a los archivos y aplicaciones que descargas de internet, recibes como adjuntos de correo electrónico u obtienes de otras fuentes fuera de la App Store. Es un atributo de cuarentena asignado por la aplicación o servicio utilizado para descargar o recibir el archivo, como Google Chrome, Safari o Mail.
Cuando intentas abrir una aplicación o archivo en cuarentena por primera vez, se te pedirá que confirmes tu intención de abrir el archivo y macOS ejecutará controles de seguridad para verificar la seguridad del archivo. Estos son los procesos involucrados:
Advertencia: Cuando abres un archivo o aplicación que tiene el atributo com.apple.quarantine, macOS te mostrará una advertencia recordándote el origen del archivo y preguntando si deseas abrirlo.
Verificación de Gatekeeper: Si confirmas, Gatekeeper verificará la firma del desarrollador de la aplicación para asegurarse de que provenga de un desarrollador identificado o de la Mac App Store y comprobará la integridad de la aplicación para asegurarse de que su código no haya sido modificado.
Escaneo XProtect: Si la aplicación pasa la verificación de Gatekeeper, XProtect la escaneará en busca de contenido malicioso conocido utilizando sus definiciones de malware.
¿Cómo verificar el atributo com.apple.quarantine?
com.apple.quarantine no es un archivo y no tiene una ubicación física en el disco donde puedas abrirlo y verlo. Pero puedes verificar si un archivo tiene el atributo extendido com.apple.quarantine o qué archivo tiene el atributo ejecutando los siguientes comandos en Terminal.
Para verificar si un archivo o aplicación tiene el atributo extendido com.apple.quarantine: (Si lo tiene, devolverá el valor del atributo)
xattr -p com.apple.quarantine ruta_archivo

Para verificar qué archivo(s) en un directorio o aplicación tiene el atributo extendido com.apple.quarantine:
cd carpeta/nombre_app
find . -xattrname com.apple.quarantine
Nota: La mejor manera de obtener la ruta de un archivo o carpeta es arrastrándolo directamente a Terminal.

¿Cómo quitar com.apple.quarantine?
Aunque el atributo com.apple.quarantine sirve como un gran mecanismo de seguridad, puede evitar que abras aplicaciones de un desarrollador no identificado con errores como los enumerados a continuación:
- La aplicación no se puede abrir porque es de un desarrollador no identificado.
- La aplicación no se puede abrir porque el desarrollador no ha sido verificado.
- * dañará tu computadora. Deberías moverlo a la Papelera.
- macOS no puede verificar que esta aplicación esté libre de malware
Para quitar manualmente el atributo com.apple.quarantine de un archivo o aplicación, simplemente ejecuta el siguiente comando en Terminal.
xattr -d com.apple.quarantine ruta_archivo
Por ejemplo, xattr -d com.apple.quarantine /aplicaciones/rstudio.app

Para quitar el atributo com.apple.quarantine recursivamente, en su lugar, ejecuta este comando:
xattr -r -d com.apple.quarantine ruta_carpeta
Por ejemplo, xattr -r -d com.apple.quarantine /aplicaciones/steam.app
Si el comando no funciona o falla con el error "xattr: [Errno 13] Permiso denegado:", puedes agregar sudo antes de ellos para ejecutar los comandos con privilegios administrativos, como: sudo xattr -d com.apple.quarantine /aplicaciones/visual studio code.app. Ten en cuenta que necesitarás ingresar la contraseña de administrador y presionar Enter en este caso. (La contraseña no se mostrará en pantalla.)
Consejo: Para obtener más información sobre el uso de la herramienta de comando xattr, ejecuta man xattr en Terminal.
Difunde la información para ayudar a otros a deshacerse del atributo com.apple.quarantine.
¿Sin tal xattr: com.apple.quarantine?

Cuando ejecutas el comando xattr -d com.apple.quarantine o xattr -p com.apple.quarantine para eliminar o ver el atributo com.apple.quarantine de un archivo, Terminal te devolverá el mensaje que dice que no existe Ningún xattr: com.apple.quarantine cuando el archivo actualmente no tiene el atributo.
Algunos ejemplos son:
- xattr: /Applications/LICE.app: Ningún xattr: com.apple.quarantine
- xattr /opt/homebrew/bin/chromedriver: Ningún xattr com.apple.quarantine
- xattr /applications/visual studio code.app: Ningún xattr com.apple.quarantine
- xattr: chromedriver: Ningún xattr: com.apple.quarantine
Cómo recuperar com.apple.quarantine de nuevo?
Si alguna vez deseas recuperar el atributo com.apple.quarantine después de eliminarlo, puedes utilizar el siguiente comando para restaurarlo.
xattr -w com.apple.quarantine "Valor" /ruta/a/tu/archivo_o_aplicación
Si no anotaste el valor del atributo, puedes ingresar el siguiente en el ejemplo.
Para restaurar el atributo com.apple.quarantine a la aplicación llamada iBoysoft Data Recovery, ejecuta: xattr -w com.apple.quarantine "0081;5f186d1d;Chrome;" /Applications/iBoysoft\ Data\ Recovery.app

¡Por favor, comparte esta publicación si la encuentras útil!