# L’app Immuni caricata su GitHub usa codice di terzi e non funziona [aggiornato]

- Link: https://www.melamorsicata.it/2020/05/26/lapp-immuni-caricata-su-github-usa-codice-di-terzi-e-non-funziona/
- Published: 2020-05-26T09:00:00+02:00
- Author: Kiro

![Immuni 2](https://www.melamorsicata.it/wp-content/uploads/2020/05/Immuni-2-1000x625.
jpg "L’app Immuni caricata su GitHub usa codice di terzi e non funziona [aggiornato]
1")

Torniamo a parlare dell’app **Immuni** perché, almeno dalle promesse iniziali, dovrebbe
arrivare questo mese. Nella giornata di ieri è stato pubblicato il codice su [GitHub](https://github.com/immuni-app/immuni-app-ios).
Questo per consentire agli esperti di **studiarne il codice** e trovare possibili
debolezze.

In effetti gli esperti si sono messi all’opera per cercare di capire come funziona
l’app che dovrebbe, almeno sulla carta, aiutarci a capire se siamo entrati a contatto
con persone infette da COVID-19.

Piccola premessa: _Bending Spoons_, società scelta per realizzare l’app, ha dichiarato
di farlo gratuitamente e in totale saranno impiegate 10.000 ore uomo tra realizzazione
e manutenzione. Tanto per intenderci, se consideriamo che un’ora costi 40 € siamo
di fronte ad una donazione di 400.000 €.

Ma servono realmente 10.000 ore per realizzare un’app come [Immuni](https://www.melamorsicata.it/2020/05/15/lapp-immuni-e-su-github/)?
Considerando che una persona lavora 8 ore al giorno occupando 160 ore al mese, stiamo
parlando del lavoro di 20 persone per ben 3 mesi, o 40 persone per 1,5 mesi.

Terminata questa premessa, possiamo andare su [GitHub](https://github.com/immuni-app/immuni-app-ios)
e scaricare la repository caricata da Bending Spoons. Dal codice si evincono alcune
cose:

 * **Si utilizzano i CocoaPods**. Questi sono librerie esterne. Parti di codice 
   fatti da altri e adattati all’app. Quindi il codice non è al 100% sviluppato 
   in Bending Spoons. Questo crea delle dipendenze. Un caso esemplare: con iOS 14
   se le librerie CocoaPods non saranno aggiornate dai rispettivi sviluppatori parte
   di Immuni potrebbe smettere di funzionare.
 * **Il codice è commentato bene**. Segno che in Bending Spoons lavorano con professionalità.
 * **Il back-end dell’app non c’è**. Per chi non è del mestiere possiamo semplificare
   la differenza tra front-end e back-end indicando la prima come la parte di app
   con la quale gli utenti interagiscono, la seconda come la parte di codice che
   serve a far funzionare i sistemi. Immaginate una panetteria: il front-end è la
   vetrina e la cassa per pagare il pane; il back-end è il laboratorio con i forni.
   Bene, per Immuni non c’è ancora nessun laboratorio. Questo pone molti dubbi sulla
   valutazione dell’app: come si fa a capire che il sistema sia trasparente se c’è
   solo parte del codice dell’app?
 * **Apple potrebbe non approvarla**. Immuni chiama un server con puntamento a “
   _get.immuni.gov.it/v1/keys/index_” che di fatto al momento è irraggiungibile.
   Se l’app venisse inviata ora ad Apple per l’approvazione e la società nota che
   punta ad un server inesistente, non potrebbe fare a meno di non approvarla.
 * **L’app non richiede la registrazione**, ma l’uso di codici casuali. Quindi al
   momento la privacy è garantita.
 * **L’informativa sulla privacy** al momento contiene testo segnaposto e non reali
   dati legali.

Morale della favola: per adesso l’app condivisa su GitHub non è completa ed è solo
una parte. Così com’è adesso non potrebbe funzionare e Apple non l’approverebbe 
neanche. Manca tutto il lato back-end e l’uso dei CocoaPods ci fanno dubitare che
siano state realmente occupate 20 persone per tutto quel tempo.

Ulteriori considerazioni arriveranno quando l’app sarà operativa. Al momento è difficile
pensare che l’app arriverà per la fine di questo mese.

**Aggiornamento**: oggi (29/05) è stato caricato anche la parte di codice di back-
end. L’app dovrebbe essere quindi pronta. Trovate il codice su [GitHub](https://github.com/immuni-app).

**Aggiornamento/2**: come racconta Max Uggeri su Infosec.news anche il codice di
back-end reso disponibile ieri non funziona granchè. Alcuni endpoint non rispondono
correttamente, tra l’altro c’è anche l’uso del protocollo HTTP invece del recente
HTTPS. Probabilmente c’è da ultimare la preparazione dei server, ma la versione 
attuale continua a non funzionare correttamente.

### _Correlati_
