Written by
TomSmithCuando 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 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 usado 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. Aquí están los procesos involucrados:
Advertencia: Cuando abres un archivo o aplicación con el atributo com.apple.quarantine, macOS te presentará una advertencia recordándote el origen del archivo y preguntándote 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 verificará la integridad de la aplicación para asegurarse de que su código no haya sido alterado.
Escaneo de XProtect: Si la aplicación pasa por 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_de_archivo
Para verificar qué archivo(s) en un directorio o aplicación tiene el atributo extendido com.apple.quarantine:
cd carpeta/nombre_aplicacion
find . -xattrname com.apple.quarantine
Nota: La mejor manera de obtener la ruta de un archivo o carpeta es arrastrándolo directamente al Terminal.
¿Cómo eliminar 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:
Para eliminar manualmente el atributo com.apple.quarantine de un archivo o aplicación, solo necesitas ejecutar el siguiente comando en Terminal.
xattr -d com.apple.quarantine ruta_archivo
Por ejemplo, xattr -d com.apple.quarantine /aplicaciones/rstudio.app
Para eliminar el atributo com.apple.quarantine de forma recursiva, ejecuta este comando en su lugar:
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 la pantalla.)
Consejo: Para obtener más información sobre el uso de la herramienta de comando xattr, ejecuta man xattr en Terminal.
Comparte la información para ayudar a otros a deshacerse del atributo com.apple.quarantine.
¿No existe 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 diciendo que no hay Tal xattr: com.apple.quarantine cuando el archivo actualmente no tiene el atributo.
Algunos ejemplos son:
- xattr: /Applications/LICE.app: No hay tal xattr: com.apple.quarantine
- xattr /opt/homebrew/bin/chromedriver: No hay tal xattr com.apple.quarantine
- xattr /applications/visual studio code.app: No hay tal xattr com.apple.quarantine
- xattr: chromedriver: No hay tal xattr: com.apple.quarantine
¿Cómo recuperar com.apple.quarantine de vuelta?
Si alguna vez deseas recuperar el atributo com.apple.quarantine después de eliminarlo, puedes usar 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 que se muestra en el ejemplo a continuación.
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 te resulta útil!