Hacker News

Le chiavi API di Google non erano segrete, ma poi Gemini ha cambiato le regole

Scopri come Gemini ha cambiato le regole di sicurezza delle chiavi API di Google. Cosa devono sapere gli sviluppatori sulla protezione delle chiavi API che un tempo erano considerate sicure da esporre.

8 minimo letto

Mewayz Team

Editorial Team

Hacker News

Quando il "pubblico per design" diventa una responsabilità di sicurezza

Per quasi due decenni, gli sviluppatori che si sono basati sull'ecosistema di Google hanno imparato una lezione sottile ma importante: le chiavi API di Google non sono realmente segrete. Se incorporavi una chiave API dati di YouTube in un file JavaScript, Google non si allarmava. Se la tua chiave API di Maps veniva visualizzata in un repository GitHub pubblico, la risposta di sicurezza era essenzialmente un'alzata di spalle e un promemoria per impostare restrizioni sul dominio. L'intero modello è stato costruito partendo dal presupposto che queste chiavi sarebbero vissute nel codice lato client, esposto a chiunque aprisse DevTools.

Quella filosofia aveva senso per molto tempo. Una chiave API di Maps esposta senza restrizioni di dominio avrebbe potuto accumulare un conto a sorpresa, ma non avrebbe compromesso i dati dei pazienti o prosciugato un conto bancario. Il raggio dell'esplosione era finanziario e gestibile. Gli strumenti di Google (restrizioni sui referrer, whitelist IP, limiti di quota) sono stati progettati per contenere il danno, non per prevenire completamente l'esposizione.

Poi sono arrivati ​​i Gemelli e le regole sono cambiate. Il problema è che milioni di sviluppatori non hanno ricevuto il promemoria.

Il modello mentale legacy che ora sta facendo scottare gli sviluppatori

La vecchia esperienza degli sviluppatori Google era deliberatamente permissiva. Quando hai creato una chiave API JavaScript di Maps, la documentazione ti ha praticamente incoraggiato a inserirla direttamente nel tuo HTML. Il modello di sicurezza non era la segretezza: era la restrizione. Bloccheresti la chiave del tuo dominio, imposteresti avvisi di quota e andresti avanti. Si è trattato di un'ingegneria pragmatica: le applicazioni lato client non possono davvero mantenere segreti per determinati utenti, quindi Google ha creato un sistema che riconoscesse questa realtà.

Ciò ha creato una generazione di sviluppatori – e, cosa più importante, una generazione di abitudini istituzionali – in cui le chiavi API di Google occupavano una categoria mentale diversa rispetto, ad esempio, a una chiave segreta Stripe o a una credenziale di accesso AWS. Non incolleresti la tua chiave segreta Stripe in un repository pubblico. Ma la chiave di Maps? Si trattava praticamente di un valore di configurazione, non di un segreto. Molti team li hanno archiviati in file di configurazione pubblici, file README e persino in variabili di ambiente lato client con prefisso NEXT_PUBLIC_ o REACT_APP_ senza pensarci due volte.

I ricercatori di sicurezza che scansionano GitHub alla ricerca di credenziali esposte hanno imparato a trattare anche le chiavi API di Google in modo diverso. Una chiave di Maps trapelata era un risultato di bassa gravità. Una chiave Gemini trapelata è una conversazione completamente diversa.

Cosa è cambiato con i Gemelli e perché è importante

💡 LO SAPEVI?

Mewayz sostituisce più di 8 strumenti business in un'unica piattaforma

CRM · Fatturazione · HR · Progetti · Prenotazioni · eCommerce · POS · Analisi. Piano gratuito per sempre disponibile.

Inizia gratis →

L'API Gemini di Google non segue il vecchio playbook. Quando generi una chiave API Gemini tramite Google AI Studio, stai creando una credenziale con un profilo di rischio fondamentalmente diverso rispetto a una chiave Maps o YouTube. Le chiavi Gemini autenticano l'accesso all'inferenza di modelli linguistici di grandi dimensioni, un servizio che costa a Google risorse di elaborazione reali e che ti fattura in base al token, non alla visualizzazione della pagina.

Ancora più importante, le chiavi API Gemini non hanno gli stessi meccanismi di limitazione del dominio integrati che hanno reso possibile la sopravvivenza dell'esposizione di altre chiavi Google. Non esiste un semplice controllo "bloccalo sul dominio del mio sito web" che impedirebbe a un utente malintenzionato che ha trovato la tua chiave in un repository pubblico di avviare la propria applicazione e consumare la tua quota - o il limite di fatturazione - da un server in un altro paese.

Il pericolo non è solo finanziario. Una chiave Gemini esposta può essere utilizzata per generare contenuti dannosi, condurre attacchi di injection tempestivi o creare strumenti che violano i termini di servizio di Google, il tutto addebitato sul tuo account e riconducibile alla tua identità.

Nel 2024, i ricercatori di sicurezza hanno identificato migliaia di chiavi API Gemini esposte solo su GitHub, molte delle quali in repository che avevano precedentemente ospitato altre chiavi API di Google senza incidenti. Gli sviluppatori non erano sconsiderati rispetto ai loro standard storici: stavano applicando un modello mentale che Google stessa li aveva addestrati a utilizzare. L’ambiente è cambiato più velocemente delle abitudini.

L'anatomia di un'esposizione accidentale

Comprendere come avvengono queste esposizioni è il primo passo per prevenirle. Le modalità di fallimento sono

Frequently Asked Questions

Cosa sono esattamente le chiavi API e perché erano considerate "pubbliche per design"?

Una chiave API è un identificatore univoco che permette a un'applicazione di interagire con i servizi di un fornitore, come Google Maps o YouTube. In passato, Google considerava queste chiavi, quando incorporate in codice lato client (come JavaScript), come di fatto pubbliche. La sicurezza non dipendeva dalla segretezza della chiave stessa, ma dall'uso di restrizioni d'uso, come limitare la chiave a operazioni non critiche e a domini specifici, per prevenirne l'abuso.

Che cosa è cambiato con l'arrivo di Gemini?

Gemini, essendo un modello di linguaggio avanzato che gestisce dati potenzialmente sensibili e operazioni più critiche, ha introdotto un paradigma di sicurezza più stringente. Google ora tratta le sue chiavi API come segreti autentici che non devono essere esposti pubblicamente. Questo cambio di regole segna un allontanamento dalla vecchia filosofia e richiede agli sviluppatori di adottare nuove pratiche, come l'uso di proxy server, per proteggere le credenziali.

Come posso proteggere le mie chiavi API ora?

Per proteggere le tue chiavi API, devi evitare di incorporarle direttamente nel codice front-end. La best practice è utilizzare un server backend come intermediario. La tua app front-end invia una richiesta al tuo server, che poi aggiunge la chiave API sicura e inoltra la richiesta a Google. Piattaforme come **Mewayz** (con i suoi 207 moduli a $19/mese) semplificano questa operazione, permettendoti di gestire le logiche di backend e proteggere le tue chiavi senza sforzo.

Questo cambiamento riguarda tutte le API di Google?

Principalmente, il cambio di mentalità si applica alle nuove API più potenti, come quelle legate a Gemini e all'AI. Tuttavia, è un chiaro segnale che Google sta uniformando la sua strategia di sicurezza verso un modello più restrittivo. Anche per servizi consolidati come Maps, è altamente raccomandato adottare da subito le nuove pratiche di sicurezza. Questo ti mette al riparo da future modifiche e protegge i tuoi progetti a lungo termine.

Prova Mewayz Gratis

Piattaforma tutto-in-uno per CRM, fatturazione, progetti, HR e altro. Nessuna carta di credito richiesta.

Inizia a gestire la tua azienda in modo più intelligente oggi.

Unisciti a 30,000+ aziende. Piano gratuito per sempre · Nessuna carta di credito richiesta.

Lo hai trovato utile? Condividilo.

Pronto a metterlo in pratica?

Unisciti a 30,000+ aziende che utilizzano Mewayz. Piano gratuito per sempre — nessuna carta di credito richiesta.

Inizia prova gratuita →

Pronto a passare all'azione?

Inizia la tua prova gratuita Mewayz oggi

Piattaforma aziendale tutto-in-uno. Nessuna carta di credito richiesta.

Inizia gratis →

Prova gratuita di 14 giorni · Nessuna carta di credito · Disdici quando vuoi