Come visualizzare le autorizzazioni dell'app Android prima di installare un APK

A smartphone showing a list of app permissions with a magnifying glass

Quando installi un'app dal Google Play Store, Android mostra un riepilogo semplificato di ciò a cui l'app può accedere. Carica lateralmente un APK da una fonte non Play e non disponi di tale rete di sicurezza, a meno che tu non legga tu stesso il manifest. "Un'app per sfondi dovrebbe davvero aver bisogno dell'accesso agli SMS e al microfono?" è esattamente il tipo di domanda a cui questa guida ti aiuterà a rispondere.

Quello che segue è lo stesso flusso di lavoro utilizzato dal nostro team durante la valutazione di un APK sconosciuto: aprilo, leggi le voci uses-permission, decodifica i livelli di protezione e confronta ciò di cui ha bisogno l'app dice con ciò che solitamente richiede la sua categoria. Il nostro strumento online di informazioni sull'APK esegue la decodifica XML binario per te, quindi l'intero processo richiede circa dieci secondi.

Tempo di lettura: ~9 minuti. Strumenti necessari: un navigatore; facoltativamente apksigner E aapt2 dall'SDK di Android se desideri eseguire gli stessi controlli da un terminale. Cosa potrai fare alla fine: leggi l'elenco completo delle autorizzazioni di qualsiasi APK, individua le quattro o cinque richieste "ad alto impatto" che quasi sempre indicano problemi e decidi se installare prima, non dopo.

Perché preoccuparsi delle autorizzazioni di controllo?

Gli sviluppatori dannosi prendono app gratuite popolari, le modificano e le rilasciano nuovamente su siti di terze parti. Sebbene l'app possa apparire e funzionare normalmente, il suo codice nascosto potrebbe copiare l'elenco dei contatti o registrare l'audio di sottofondo. Visualizzando i permessi preinstallazione, puoi individuare questi segnali di allarme di "permessi striscianti".

Come controllare qualsiasi file APK (online)

Il nostro Strumento Informazioni APK legge il manifest del tuo file interamente nel tuo browser; il file non viene mai caricato su un server e non viene eseguito alcun codice. Ecco come usarlo:

Processo:

  1. Vai allo Pagina Informazioni sull'APK.
  2. Seleziona il tuo file .apk.
  3. Attendere il completamento dell'analisi (solitamente 5 secondi).
  4. Scorri verso il basso fino a Sezione Autorizzazioni.
  5. Cerca bandiere ad alto rischio come: READ_SMS, PROCESS_OUTGOING_CALLS o ACCESS_FINE_LOCATION.

Elenco delle bandiere rosse di autorizzazione

Se un'app Calcolatrice o Torcia elettrica richiede READ_CONTACTS o RECORD_AUDIO, elimina immediatamente il file. Non esiste alcun motivo legittimo per cui queste app abbiano tali dati.

Comprensione dei livelli di autorizzazione Android

Non tutte le autorizzazioni sono uguali. Android li classifica in tre livelli:

Metodo manuale (utilizzando un visualizzatore ZIP)

Se hai qualche competenza tecnica, puoi controllare tu stesso le autorizzazioni:

  1. Rinomina app.apk in app.zip e aprilo.
  2. Trova AndroidManifest.xml. (Nota: è in formato binario e sembrerà senza senso in un editor di testo).
  3. Utilizza uno strumento come AXMLPrinter per convertirlo in testo leggibile.
  4. Cerca i tag che iniziano con <uses-permission>.

Raccomandazione: è molto più veloce utilizzare il nostro strumento in linea che lo decodifica istantaneamente.

Controlla le tue app adesso

Scopri esattamente cosa chiedono le tue app. Nessun segreto, nessun rischio.

Controlla le autorizzazioni dell'APK

Cosa è effettivamente archiviato in AndroidManifest.xml

Il manifest è la fonte di verità per ogni autorizzazione, componente e funzionalità dichiarata da un'app. All'interno di un APK, il file è in formato XML binario, non il testo semplice che vedi nel codice sorgente, quindi non può essere letto con un normale editor di testo. Il nostro strumento APK Info decodifica l'XML binario e mostra i tag pertinenti. I più importanti sono:

Livelli di protezione delle autorizzazioni: il Cheat Sheet

Android assegna ad ogni autorizzazione un "livello di protezione". Sapere a quale livello appartiene una richiesta ti dice quanto seriamente il sistema operativo la tratterà.

Livello di protezione Esperienza dell'utente Esempi
normale Concesso in modalità silenziosa al momento dell'installazione. Nessun suggerimento. INTERNET, VIBRAZIONE, ACCESS_NETWORK_STATE, WAKE_LOCK
pericoloso Il runtime richiede la prima volta che si utilizza la funzionalità. Revocabile nelle Impostazioni. FOTOCAMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION
firma Concesso solo alle app firmate con lo stesso certificato dell'app concedente o del sistema operativo. BIND_VPN_SERVICE, INSTALL_PACKAGES (solo sistema)
firma|privilegiato Disponibile solo per le app preinstallate nella directory priv-app dell'immagine di sistema. GESTISCI_UTENTI, LEGGI_LOGS
app/ruolo Richiede un flusso Impostazioni separato per l'abilitazione. SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (accesso speciale)

Cosa significano effettivamente i permessi "nascosti"

Un malinteso comune è che alcune autorizzazioni siano segrete. Non lo sono: ogni autorizzazione che un'app potrebbe utilizzare deve essere dichiarata in AndroidManifest.xml e il sistema operativo rifiuta di concedere qualsiasi autorizzazione non elencata lì. Ciò che la gente di solito intende per "nascosto" è una delle due cose:

In ogni caso, la risposta è la stessa: leggi il manifest, non fidarti della sola descrizione del Play Store.

Esempio funzionato: controllo di un APK reale

Supponiamo di avere example.apk nella cartella Download. Ecco il flusso di lavoro esatto:

  1. Apri Strumento Informazioni APK nel tuo browser.
  2. Rilascia l'APK nell'area di caricamento. L'elaborazione avviene localmente; il file non lascia il tuo dispositivo.
  3. Leggi la sezione Autorizzazioni. Ogni voce mostra il nome della costante (android.permission.READ_CONTACTS e una descrizione in linguaggio semplice di ciò che consente).
  4. Confronta l'elenco con la categoria dell'app. Approssimativamente aspettatevi:
    • App della fotocamera: FOTOCAMERA, RECORD_AUDIO (per video), scrittura STORAGE/MEDIA
    • App di messaggistica: INTERNET, READ_CONTACTS, SEND_SMS (solo se basato su SMS), RECORD_AUDIO (per note vocali), CAMERA (per invio foto)
    • Giochi: INTERNET, a volte RECORD_AUDIO (per la chat vocale nel gioco), autorizzazioni relative alla fatturazione; raramente qualcos'altro
    • App di utilità (calcolatrice, torcia elettrica, meteo): INTERNET (per annunci), ACCESS_NETWORK_STATE, possibilmente LOCATION (solo meteo). Tutto ciò che va oltre è sospetto.
  5. Se qualcosa nell'elenco non rientra nella categoria, non installarlo. Non esiste una buona ragione per cui una calcolatrice necessiti dell'accesso agli SMS.

La stessa logica si applica se il file è un APK, un XAPK (dove leggiamo l'APK di base interno) o un bundle APKS (dove leggiamo il manifest di ogni divisione).

Farlo dalla riga di comando

Se preferisci il percorso terminale, l'SDK di Android fornisce aapt2, che scarica un manifest da qualsiasi APK in semplice XML:

aapt2 dump badging example.apk | grep "uses-permission"

Oppure utilizza apksigner per verificare contemporaneamente il certificato di firma:

apksigner verify --print-certs example.apk

Lo strumento browser fa la stessa cosa per gli utenti che preferiscono non installare un SDK solo per controllare un singolo file.

Domande frequenti (FAQ)

Posso negare un'autorizzazione dopo aver installato un APK?

SÌ. Su Android 6.0 e versioni successive, puoi andare su Impostazioni > App > [Nome app] > Autorizzazioni per attivare o disattivare le singole autorizzazioni pericolose.

I file XAPK hanno permessi diversi?

Un XAPK contiene uno o più APK. Ogni APK all'interno ha il proprio manifest. Il nostro strumento analizzerà lo APK principale all'interno del pacchetto per mostrarti le autorizzazioni pertinenti.

Perché ogni app richiede "Accesso alla rete"?

Quasi tutte le app necessitano dell'accesso a Internet per analisi, segnalazione di bug o pubblicità. Sebbene sia comune, è anche il modo in cui i dati rubati vengono inviati al server di un hacker.

Ispezione delle autorizzazioni manifest prima di toccare Installa

Non puoi giudicare ciò che non puoi vedere. Trascorrere dieci secondi su visualizzare le autorizzazioni di un APK prima di eseguire il sideload è la differenza tra sapere cosa può raggiungere un'app e sperare semplicemente che si comporti bene. Leggi prima l'elenco e poi installa.

Progettato e documentato dal signor Shaefale Sviluppatore capo e architetto di pacchetti Android • Verificato su Android 12-15

Mst Shaefale mantiene la fusione XAPK/APKS lato client, il parser del manifest binario e gli strumenti di firma APK v1+v2 su xapktoapk.com. Hai notato un comando obsoleto o una modifica del sistema operativo? Invia una nota editoriale.