Chiavi segrete per usare le API OpenAI trovate all'interno di tante app iOS e macOS

Tanti sviluppatori, venendo meno alle fondamentali best practice, hanno inserito le chiavi segrete per comunicare con i modelli generativi OpenAI direttamente sui client ovvero nelle app installate dagli utenti.

Le OpenAI API key sono chiavi di autenticazione che consentono l’accesso a modelli generativi di alto livello come GPT-4, alla base di uno strumento come ChatGPT e di molteplici altre applicazioni.

Come abbiamo visto nell’articolo dedicato alle API OpenAI, queste ultime permettono agli sviluppatori di integrare funzionalità basate sull’intelligenza artificiale all’interno di applicazioni, siti Web e servizi sviluppati da singoli programmatori. L’interfaccia messa a disposizione dalle API OpenAI permette di raggiungere l’obiettivo senza dover gestire l’infrastruttura o le complessità tecniche legate alla creazione e all’addestramento dei modelli.

La chiave segreta messa a disposizione da OpenAI una volta completata la registrazione sul sito Web ufficiale, consente allo sviluppatore di dialogare direttamente con il modello generativo: è possibile farlo, ad esempio, anche da un semplice foglio elettronico Google integrato con GPT.

Come ricorda OpenAI, la chiave segreta va sempre conservata con la massima cura.
Eppure, un ricercatore indipendente ha appena scoperto che almeno il 50% delle applicazioni di terze parti per iOS e macOS che si avvalgono dei servigi di OpenAI tramite API, contengono al loro interno la chiave privata. Stiamo parlando delle app scaricabili dagli utenti finali tramite Apple App Store.

Inutile dire che nessun dato riservato dovrebbe mai essere inserito nel codice di un’applicazione e distribuito sui client degli utenti. Nel caso in questione il ricercatore si è accorto che la chiave segreta di OpenAI risulta spesso presente all’interno del file Info.plist integrato nell’applicazione.
In generale, comunque, effettuando il reverse engineering del codice binario di un programma non è complesso risalire a eventuali “segreti” hardcoded al suo interno.

Le soluzioni possono essere molteplici ma in tutti i casi è fondamentale proteggere con cura una chiave segreta come quella per l’utilizzo delle API OpenAI. In generale le informazioni da mantenere segrete devono essere sempre conservate server-side, mai “nascoste” sui client (in questo caso sono facile preda di soggetti terzi che effettuano un’analisi della struttura dell’applicazione e del codice).

La sottrazione delle API key OpenAI espone i legittimi proprietari a rischi concreti: soggetti terzi possono abusare della chiave segreta per usare il servizio senza averne diritto, causare danni economici, servirsene per attività illecite.

Ti consigliamo anche

Link copiato negli appunti