Codice alfanumerico che consente di comunicare con il modello generativo.
OpenAI è una società di ricerca che sviluppa modelli generativi di intelligenza artificiale, come GPT-4, in grado di produrre testi, immagini, audio e video a partire da un input fornito dall'utente. Questi modelli sono accessibili tramite le API OpenAI, che permettono agli sviluppatori di integrare le funzionalità di OpenAI nelle loro applicazioni per iOS e macOS.
Tuttavia, per usare le API OpenAI è necessario avere una chiave segreta, che si ottiene registrandosi sul sito web ufficiale di OpenAI e richiedendo l'accesso al servizio. La chiave segreta è un codice alfanumerico che identifica lo sviluppatore e gli consente di comunicare con il modello generativo scelto.
La chiave segreta è un dato sensibile, che va protetto con la massima cura, perché se viene rubata o compromessa da soggetti malintenzionati, può portare a conseguenze negative, come l'abuso del servizio, il furto di dati, il danneggiamento della reputazione o il pagamento di costi non dovuti.
Purtroppo, alcuni sviluppatori non hanno seguito le buone pratiche di sicurezza e hanno inserito la chiave segreta direttamente nel codice delle loro applicazioni per iOS e macOS, rendendola facilmente individuabile da chi effettua il reverse engineering del codice binario o analizza i file interni dell'applicazione.
I know iOS/macOS ChatGPT apps are all the rage at the moment but looks like at least 50% of them are leaking their private @OpenAI API keys through their property lists/app binaries. (n=10)
— Cyril Zakka, MD (@cyrilzakka) April 13, 2023
I've sent emails to the developers, but here's a quick thread: 👇🏻 pic.twitter.com/vM1vWDRNAM
Questo è un grave errore, che espone lo sviluppatore e gli utenti a rischi inutili e che va evitato a tutti i costi. In questo articolo vedremo come usare le API OpenAI in modo sicuro e corretto, seguendo alcuni semplici consigli:
- Non inserire mai la chiave segreta nel codice dell'applicazione o in file accessibili dall'esterno, come il file Info.plist. Questo rende la chiave segreta visibile a chiunque abbia accesso all'applicazione o possa scaricarla dall'App Store.
- Conservare la chiave segreta in un server sicuro e controllato dallo sviluppatore, che si occupa di gestire le richieste alle API OpenAI e di restituire i risultati all'applicazione. In questo modo la chiave segreta non viene mai esposta al client e rimane nascosta al di fuori del server.
- Usare protocolli crittografici per proteggere la comunicazione tra il server e l'applicazione, come HTTPS o SSL/TLS. Questo impedisce che le richieste e i risultati vengano intercettati o alterati da terze parti durante il trasferimento dei dati.
- Monitorare l'utilizzo delle API OpenAI tramite il portale web di OpenAI o tramite strumenti appositi, come dashboard o report. Questo permette di verificare il consumo delle risorse, il numero e il tipo di richieste, le eventuali anomalie o attività sospette.
- Cambiare periodicamente la chiave segreta tramite il portale web di OpenAI o tramite le API stesse. Questo riduce il rischio che la chiave segreta venga scoperta o compromessa nel tempo.
Seguendo questi consigli è possibile usare le API OpenAI per creare applicazioni intelligenti su iOS e macOS in modo sicuro e responsabile, sfruttando le potenzialità dell'intelligenza artificiale senza mettere a repentaglio la propria privacy e quella degli utenti.