Cómo ver los permisos de las aplicaciones de Android antes de instalar un APK
Cuando instalas una aplicación desde Google Play Store, Android muestra un resumen simplificado de a qué puede acceder la aplicación. Cargue un APK desde una fuente que no sea Play y no tendrá esa red de seguridad, a menos que lea el manifiesto usted mismo. "¿Una aplicación de fondo de pantalla realmente debería necesitar SMS y acceso al micrófono?" es exactamente el tipo de pregunta que esta guía le ayudará a responder.
Lo que sigue es el mismo flujo de trabajo que utiliza nuestro equipo al clasificar un APK desconocido: ábrelo, lee las entradas uses-permission, decodifica los niveles de protección y compara lo que la aplicación dice necesita con lo que normalmente requiere su categoría. Nuestro herramienta de información APK en línea realiza la decodificación XML binaria por usted, por lo que todo el proceso dura unos diez segundos.
¿Por qué molestarse en auditar los permisos?
Los desarrolladores maliciosos toman aplicaciones gratuitas populares, las modifican y las vuelven a publicar en sitios de terceros. Si bien la aplicación puede verse y funcionar normalmente, su código oculto podría ser copiar su lista de contactos o grabar su audio de fondo. Al ver los permisos preinstalación, puede detectar estas señales de alerta de "fuga de permisos".
Cómo auditar cualquier archivo APK (en línea)
Nuestro Herramienta de información de APK lee el manifiesto de su archivo completamente en su navegador; el archivo nunca se carga en un servidor y no se ejecuta ningún código. Aquí se explica cómo usarlo:
Proceso:
- Vaya al Página de información de APK.
- Seleccione su archivo .apk.
- Espere a que finalice el análisis (normalmente 5 segundos).
- Desplácese hacia abajo hasta Sección de permisos.
- Busque indicadores de alto riesgo como: READ_SMS, PROCESS_OUTGOING_CALLS o ACCESS_FINE_LOCATION.
Lista de banderas rojas de permiso
Si una aplicación Calculadora o Flash solicita READ_CONTACTS o RECORD_AUDIO, elimine el archivo inmediatamente. No existe ninguna razón legítima para que estas aplicaciones tengan esos datos.
Comprender los niveles de permisos de Android
No todos los permisos son iguales. Android los categoriza en tres niveles:
- Normal: Permisos de bajo riesgo que no amenazan directamente la privacidad (por ejemplo, SET_ALARM). Android los otorga automáticamente.
- Peligroso: Permisos de alto riesgo (Contactos, Ubicación, Cámara). Estos debe serán confirmados por usted cuando se ejecute la aplicación.
- Firma/Sistema: Riesgo extremadamente alto. Estos sólo están disponibles para aplicaciones firmadas por el fabricante del dispositivo o el propio sistema operativo.
Método manual (usando un visor ZIP)
Si tiene alguna habilidad técnica, puede auditar los permisos usted mismo:
- Cambie el nombre de app.apk a app.zip y ábralo.
- Encuentra AndroidManifest.xml. (Nota: Está en formato binario y parecerá texto ilegible en un editor de texto).
- Utilice una herramienta como Impresora AXML para convertirlo en texto legible.
- Busque etiquetas que comiencen con <uses-permission>.
Recomendación: Es mucho más rápido usar nuestro herramienta en línea, que lo decodifica instantáneamente.
Audite sus aplicaciones ahora
Sepa exactamente lo que piden sus aplicaciones. Sin secretos, sin riesgos.
Verifique los permisos de APKLo que realmente se almacena en AndroidManifest.xml
El manifiesto es la fuente de verdad para cada permiso, componente y característica que declara una aplicación. Dentro de un APK, el archivo tiene el formato XML binario, no el texto sin formato que se ve en el código fuente, por lo que no se puede leer con un editor de texto normal. Nuestra herramienta APK Info decodifica el XML binario y muestra las etiquetas relevantes. Los más importantes son:
- <uses-permission android:name="..."/>: todos los permisos que la aplicación pueda solicitar. La lista lleno está aquí, incluidas aquellas que la aplicación quizás nunca use en tiempo de ejecución.
- <uses-permission-sdk-23 ... />: igual, pero solo se solicita cuando la aplicación se ejecuta en Android 6 o posterior. Los dispositivos más antiguos se permiten silenciosamente sin que se les solicite.
- <uses-feature android:name="..." android:required="true|false"/>: características de hardware que utiliza la aplicación (cámara, GPS, NFC). Cuando está marcado como requerido, Play Store oculta la aplicación de los dispositivos que carecen de esta función.
- <application android:debuggable="true">: una bandera roja gigante en un APK de lanzamiento. Una aplicación depurable expone su memoria y el estado del proceso a cualquier persona con acceso ADB. Rechazar.
- <activity android:exported="true"> en actividades sensibles: permite que otras aplicaciones inicien esa pantalla. Para una aplicación de privacidad, esto a menudo indica una codificación descuidada.
Niveles de protección de permisos: la hoja de referencia
Android asigna a cada permiso un "nivel de protección". Saber a qué nivel pertenece una solicitud le indica con qué seriedad la tratará el sistema operativo.
| Nivel de protección | Experiencia de usuario | Ejemplos |
|---|---|---|
| normal | Concedido silenciosamente en el momento de la instalación. Sin aviso. | INTERNET, VIBRAR, ACCESO_NETWORK_STATE, WAKE_LOCK |
| peligroso | Aviso en tiempo de ejecución la primera vez que se utiliza la función. Revocable en Configuración. | CÁMARA, GRABAR_AUDIO, LEER_CONTACTOS, ACCESO_FINE_LOCATION |
| firma | Se concede únicamente a aplicaciones firmadas con el mismo certificado que la aplicación o el sistema operativo que la concede. | BIND_VPN_SERVICE, INSTALL_PACKAGES (solo sistema) |
| firma|privilegiado | Disponible solo para aplicaciones preinstaladas en el directorio priv-app de la imagen del sistema. | GESTIONAR_USUARIOS, LEER_LOGS |
| aplicación/rol | Requiere un flujo de configuración independiente para habilitarlo. | SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (acceso especial) |
Lo que realmente significan los permisos "ocultos"
Un error común es pensar que algunos permisos son secretos. No lo son: todos los permisos que una aplicación pueda usar deben declararse en AndroidManifest.xml, y el sistema operativo se niega a otorgar cualquier permiso que no figure allí. Lo que la gente suele decir con "oculto" es una de dos cosas:
- Los permisos de nivel normal son silenciosos. Se otorgan en el momento de la instalación sin ninguna interacción del usuario. El resumen de Play Store ni siquiera muestra algunos de ellos. Están "ocultos" en el sentido de "fáciles de pasar por alto", no en el sentido de "no revelados".
- Las aplicaciones Permisos personalizados definidos por la aplicación. pueden declarar sus propias etiquetas <permission> y exigirlas en los componentes internos. Estos existen para la comunicación entre aplicaciones y no son un problema de privacidad en sí mismos, pero se puede abusar de ellos si una aplicación popular declara un permiso personalizado con el nivel de protección incorrecto y otra aplicación lo usa como puerta trasera.
De cualquier manera, la respuesta es la misma: lea el manifiesto, no confíe en una descripción de Play Store por sí sola.
Ejemplo resuelto: auditar un APK real
Supongamos que tiene example.apk en su carpeta de Descargas. Aquí está el flujo de trabajo exacto:
- Abra el Herramienta de información de APK en su navegador.
- Suelta el APK en el área de carga. El procesamiento ocurre localmente; el archivo no sale de su dispositivo.
- Lea la sección Permisos. Cada entrada muestra el nombre de la constante (android.permission.READ_CONTACTS y una descripción en lenguaje sencillo de lo que permite).
- Compare la lista con la categoría de la aplicación. Aproximadamente, espere:
- CÁMARA Aplicaciones de cámara:, RECORD_AUDIO (para video), ALMACENAMIENTO/ESCRIPCIÓN MEDIA
- Aplicaciones de mensajería: INTERNET, READ_CONTACTS, SEND_SMS (solo si está basado en SMS), RECORD_AUDIO (para notas de voz), CAMERA (para enviar fotos)
- Juegos: INTERNET, a veces RECORD_AUDIO (para chat de voz dentro del juego), permisos relacionados con la facturación; rara vez algo más
- Aplicaciones de utilidad (calculadora, linterna, clima): INTERNET (para anuncios), ACCESS_NETWORK_STATE, posiblemente UBICACIÓN (solo clima). Todo lo que vaya más allá de eso es sospechoso.
- Si algo en la lista no se ajusta a la categoría, no lo instale. No existe ninguna buena razón para que una calculadora necesite acceso a SMS.
La misma lógica se aplica ya sea que el archivo sea un APK, un XAPK (donde leemos el APK base interno) o un paquete APKS (donde leemos el manifiesto de cada división).
Hacerlo desde la línea de comando
Si prefiere la ruta del terminal, el SDK de Android incluye aapt2, que descarga un manifiesto de cualquier APK en XML simple:
aapt2 dump badging example.apk | grep "uses-permission"
O utilice apksigner para verificar el certificado de firma al mismo tiempo:
apksigner verify --print-certs example.apk
La herramienta del navegador hace lo mismo para los usuarios que prefieren no instalar un SDK solo para examinar un solo archivo.
Preguntas frecuentes (FAQ)
¿Puedo negar un permiso después de instalar un APK?
Sí. En Android 6.0 y superior, puede ir a Configuración > Aplicaciones > [Nombre de la aplicación] > Permisos para activar o desactivar permisos peligrosos individuales.
¿Los archivos XAPK tienen permisos diferentes?
Un XAPK contiene uno o más APK. Cada APK interno tiene su propio manifiesto. Nuestra herramienta analizará el APK principal dentro del paquete para mostrarle los permisos relevantes.
¿Por qué todas las aplicaciones solicitan "Acceso a la red"?
Casi todas las aplicaciones necesitan acceso a Internet para realizar análisis, informes de errores o anuncios. Si bien es común, también es la forma en que se envían los datos robados al servidor de un pirata informático.
Inspeccionar los permisos manifiestos antes de tocar Instalar
No puedes juzgar lo que no puedes ver. Dedicar diez segundos a ver los permisos de un APK antes de descargarla es la diferencia entre saber lo que una aplicación puede alcanzar y simplemente esperar que se comporte. Lea la lista primero e instálela en segundo lugar.