Cercando su internet “App Immuni”, una delle prime cose che viene fuori dalle ricerche suggerite è “app Immuni non sicura”. Ho già esaminato il codice sorgente di Immuni, per dimostrare come essa sia sicura e anonima. Mi è stato giustamente chiesto se sia possibile inserire codici sorgenti nascosti, e ho spiegato che nel caso di Immuni non è così.
Credevo di aver esaurito l’argomento una volta per tutte, ma ho ricevuto un paio di commenti interessanti, in cui mi si fa sostanzialmente la stessa domanda: come si fa ad essere certi che la versione di Immuni presente su Google Play Store e App Store sia davvero quella ottenuta dal sorgente pubblico?


Gli sviluppatori avevano previsto questo genere di domanda, che avrebbe giustamente portato a ritenere l’app Immuni non sicura. Hanno, quindi, fornito nella documentazione ufficiale le istruzioni per verificare la “build”. Una build, spiegato molto approssimativamente, è un’app (o un programma) pronto per essere eseguito da un computer o da uno smartphone. Il sorgente, invece ,non è eseguibile: va prima “compilato”. La compilazione trasforma un sorgente in una build.
Nella pagina dedicata, in inglese, spiegano: “vogliamo aiutare le persone a verificare che l’app scaricabile da App Store e Google Play Store provenga da questo codice sorgente“. Segue un link a una pagina con istruzioni dettagliatissime per farlo (anch’essa in inglese).
Il processo di verifica si basa su un meccanismo chiamato “reproducible builds” (“compilazioni riproducibili”), e può essere schematizzato così:
- Scarico l’app pubblicata sullo store (un file .ipa nel caso di iOS, un file .apk nel caso di Android)
- Scarico il sorgente
- Compilo il sorgente
- Verifico che la build (il file compilato) sia identico a quello scaricato dallo store
C’è una pagina con la procedura dettagliata per compiere questa operazione sia per iOS (iPhone) che per Android. Non è una cosa semplice da fare, ci vuole un programmatore o un utente abbastanza esperto. Non ho perso tempo a tentare io stesso questa procedura, per un semplice motivo: il solo fatto che ci sia una spiegazione passo-passo per verificare la build indica chiaramente che non c’è nulla da nascondere.
