Vai al contenuto
Ottobre 2026: gli incidenti di Railway e OpenCode, cosa fare

Sicurezza delle chiavi API IA

Ferma una chiave IA esposta prima che spenda.

Tieni le chiavi dei provider fuori dalle tue applicazioni. Dai invece a ogni app, agente e strumento una chiave del gateway INFRO, con un interruttore di spegnimento, una allowlist IP, limiti sui modelli e un limite di spesa, ciascuno controllato prima di chiamare il provider.

Un esempio di log delle richieste per una chiave del gateway INFRO finita esposta. La chiave è limitata alla rete dei suoi server, 203.0.113.0/24, e a un limite di spesa giornaliero di $50.00. Le richieste da altre reti vengono rifiutate con 403 ip_not_allowed e un modello fuori dalla lista di autorizzazione della chiave con 403 model_not_allowed; nessuna delle due raggiunge un provider. Le richieste dai server vengono eseguite sugli account OpenAI e Anthropic dell'organizzazione, ciascuna con un costo stimato del provider.
  • 4 controlli

    Su ogni richiesta, prima che il tuo provider venga chiamato.

  • 32 reti

    Per chiave nella sua lista di IP consentiti, IPv4 o IPv6, su ogni piano.

  • Nessun deploy

    Per disattivare una chiave esposta. Ogni richiesta con essa viene rifiutata.

  • AES-256-GCM

    Su ogni chiave del provider che colleghi. Non viene mai più mostrata.

Dove vivono le chiavi dei provider

La stessa chiave del provider di solito si trova in cinque posti, e qualsiasi copia può spendere dall'intero account. Con INFRO la chiave del provider è sigillata in un solo posto e ogni app, agente e strumento ha la propria chiave del gateway. Scegli dove avviene l'esposizione.

Scegli dove finisce esposta la chiave
Una chiave del provider, copiata ovunque5 su 5 posti esposti
La tua chiave del provider sk-proj-••••7Hc2Copiata in 5 posti
  1. Variabili d'ambiente di produzionesk-proj-••••7Hc2Esposta qui
  2. Segreti di CI e di deploysk-proj-••••7Hc2Stessa chiave
  3. Portatili degli sviluppatori e file .envsk-proj-••••7Hc2Stessa chiave
  4. Shell degli agenti di codingsk-proj-••••7Hc2Stessa chiave
  5. Strumenti AI di terze partisk-proj-••••7Hc2Stessa chiave
Esposta
L'intero account del provider, fino ai limiti impostati presso il provider, finché la chiave non viene eliminata lì.
Per rimediare
Elimina la chiave presso il provider, poi rifai il deploy in tutti i 5 posti.
Con INFRO, una chiave del gateway per posto1 su 5 chiavi esposte
La tua chiave del provider sk-proj-••••7Hc2Sigillata in INFRO
  1. checkout-apisk_infro_••••a91f$50 al giorno203.0.113.0/24Esposta, contenuta
  2. ci-deploysk_infro_••••3c7e$10 al giorno203.0.113.64/27Non coinvolta
  3. maya-laptopsk_infro_••••5d20$5 al giornoScade tra 30 giorniNon coinvolta
  4. claude-codesk_infro_••••8b14$20 al giornoSolo AnthropicNon coinvolta
  5. support-toolsk_infro_••••e602$15 al mese1 modelloNon coinvolta
Esposta
checkout-api: una chiave, rifiutata fuori dalla rete dei tuoi server e con tetto di $50 al giorno al suo interno.
Per rimediare
Disattivala nella console, senza deploy, poi ruotala in quell'unico posto. Le altre 4 continuano a funzionare.

Quattro controlli

Ogni controllo rifiuta con un proprio codice documentato, così i tuoi log dicono esattamente perché, e ognuno si modifica dalla console o dall'API senza un deploy. Tutti e quattro sono su ogni piano.

  1. 01

    Interruttore di spegnimento

    Questa chiave è attiva?

    Spegni una chiave dalla console o dall'API e ogni richiesta con essa viene rifiutata. Il suo segreto, i limiti e la cronologia sono conservati; riaccenderla ripristina la stessa chiave.

    403 key_disabledDocumentazione

  2. 02

    Reti consentite

    Sta chiamando dai tuoi server?

    Fino a 32 indirizzi IPv4 o IPv6 o intervalli CIDR per chiave, confrontati con l'indirizzo del client riportato dall'edge di Cloudflare, mai con X-Forwarded-For. Senza un indirizzo attendibile, la richiesta viene rifiutata.

    403 ip_not_allowedDocumentazione

  3. 03

    Modelli e provider

    Questo modello è consentito?

    Approva i modelli che un'organizzazione, un progetto o una chiave possono chiamare e i provider che una chiave può raggiungere. Ogni chiave appartiene a un ambiente e non raggiunge mai una connessione al di fuori di esso.

    403 model_not_allowedDocumentazione

  4. 04

    Limite di spesa

    Il suo limite può coprire questa richiesta?

    Un limite giornaliero, settimanale, mensile o a vita per chiave, accanto ai budget per organizzazione, progetto e membro. Una richiesta che il limite non può coprire viene rifiutata prima di chiamare il provider.

    402 key_budgetDocumentazione

  • Rotazione con sovrapposizioneRuota in un solo passaggio: la nuova chiave prende ogni impostazione della vecchia e la vecchia continua a funzionare fino a sette giorni mentre distribuisci, oppure si ferma subito. Il limite di spesa è condiviso, quindi ruotare non regala mai nuovo margine.
  • ScadenzaDai a una chiave un momento dopo il quale smette di funzionare, per un collaboratore esterno, una demo o una migrazione.
  • Mostrata una sola volta, archiviata come hashUna chiave del gateway è composta da 32 byte casuali, mostrata una sola volta e archiviata solo come digest SHA-256. Una divulgazione del database non divulga una chiave utilizzabile.
  • I tentativi a caso sono rallentatiUn indirizzo che fallisce l'autenticazione 30 volte in un minuto viene rifiutato con un 429 fino allo scadere del minuto, prima di cercare qualsiasi chiave.

Tetti di spesa

Una chiave esposta, un agente bloccato in un ciclo, un cliente che automatizza il tuo piano gratuito: ognuno si ferma a un tetto della propria misura invece di arrivare all'intero budget. Ogni tetto applicabile viene controllato prima di chiamare il provider, contando il caso peggiore delle richieste già in corso.

I tetti si sommano

Una richiesta deve rientrare in ogni tetto che le si applica. Decide il più stretto, così un tetto piccolo nel posto giusto ferma un problema molto prima di quello dell'organizzazione.

  1. Organizzazione
  2. Progetto
  3. Membro
  4. Chiave del gateway
  5. Cliente finale
Budget di esempio per un'organizzazione: un tetto rigido dell'organizzazione, un budget di progetto, il limite giornaliero di una chiave del gateway, il limite complessivo di una chiave e un tetto per cliente finale. Nella crisi scelta, “Una chiave del gateway viene esposta”, il tetto corrispondente raggiunge il limite e la richiesta successiva viene rifiutata con 402 key_budget prima che venga chiamato qualsiasi provider. La chiave si ferma a $50 per la giornata. Ogni altra chiave continua a servire.

La chiave si ferma a $50 per la giornata. Ogni altra chiave continua a servire.

Tetti di spesa per ambito: periodi, comportamento, codice di rifiuto e piano
TettoPeriodoCome si comportaRifiutato conPiano
OrganizzazioneObiettivo mensile e tetto rigidoL'obiettivo avvisa; il tetto rigido avvisa o blocca. Lo imposta solo il proprietario.402 organization_budgetOgni piano
ProgettoMensileAvvisa o blocca, con avvisi alle soglie che imposti tu.402 project_budgetOgni piano
MembroMensileAvvisa o blocca, per l'attività di una sola persona.402 member_budgetOgni piano
Chiave del gatewayGiornaliero, settimanale, mensile o a vitaBlocca sempre. Un limite a vita non si azzera mai.402 key_budgetOgni piano
Cliente finaleGiornaliero, settimanale o mensileUna regola per ogni cliente, per organizzazione o progetto, con eccezioni impostate dal tuo backend.402 end_user_budgetTeam e superiori

Testato sotto caricoIn un test in sandbox, un tetto bloccante di $1 ha retto in 12 esecuzioni su 12 con fino a 500 richieste concorrenti (il test e il suo metodo). I tetti contano la stima di INFRO del costo del provider, non la fattura del provider, e un modello senza prezzo noto viene rifiutato sotto un tetto bloccante a meno che tu non lo consenta, quindi mantieni anche un limite di spesa presso il provider. Documentazione dei controlli di spesa

Una chiave esposta

Per una chiave del gateway INFRO. Se è stata esposta una chiave del provider, eliminala prima presso il provider: è l'unica cosa che la ferma.

  1. 1Contienilo senza un deploySpegni la chiave del gateway, oppure mantieni attiva la tua applicazione restringendo la chiave alle reti dei tuoi server e abbassandone il limite di spesa. Nulla di tutto questo richiede un deploy e ogni controllo viene eseguito prima di qualsiasi chiamata al provider.
  2. 2SostituiscilaRuota senza sovrapposizione quando la chiave è stata esposta. La sostituta mantiene etichetta, progetto, limiti, allowlist, ambiente e accesso alla cronologia, e viene mostrata una sola volta.
  3. 3Leggi cosa ha fattoOgni record di richiesta indica la chiave del gateway che l'ha fatta, con modello, stato e costo stimato del provider; filtra il log delle richieste e l'utilizzo per quella chiave. La console mostra quante richieste ha rifiutato oggi la allowlist di ogni chiave.
  4. 4Controlla l'uso al di fuori di INFRONel piano Business, la riconciliazione dei costi con l'accesso all'utilizzo attivato segnala l'uso su una chiave provider collegata che non è mai passato da INFRO. Senza quell'accesso dice "non verificato", mai "nessun aggiramento": leggi la pagina di utilizzo del provider stesso.
  5. 5Conserva il registroModifiche alle chiavi, rotazioni e modifiche alle policy sono nel log di audit con chi le ha fatte e quando, in righe che il database rifiuta di aggiornare o eliminare.
curl -X PATCH https://api.infro.io/manage/v1/gateway_keys/$KEY_ID \
  -H "Authorization: Bearer $INFRO_MANAGEMENT_TOKEN" \
  -H 'If-Match: "7"' \
  -H "Content-Type: application/json" \
  -d '{"disabled": true}'

# Every request with the key: 403 key_disabled
# Its secret, limits and history are kept.

Le stesse tre modifiche sono nella pagina della chiave nella console. Con la management API, una modifica richiede la versione che hai letto per ultima (If-Match), così due persone che contengono lo stesso incidente non possono sovrascriversi a vicenda.

Segreti nei prompt

Le persone incollano file .env nelle chat e gli agenti li leggono dalle shell. Sul piano Business, i guardrail controllano prompt, chiamate agli strumenti e risposte alla ricerca di formati di segreti, poi bloccano la richiesta, sostituiscono la corrispondenza con [SECRET] o la segnalano, prima di chiamare il provider.

  • OpenAI
  • Anthropic
  • Chiave API di Google
  • ID della chiave di accesso AWS
  • Token GitHub
  • Token Slack
  • Chiave live di Stripe
  • Chiave INFRO
  • JWT
  • Chiave privata PEM

Il rilevamento si basa su pattern: riconosce questi formati e nient'altro, quindi non intercetta le secret access key di AWS, le password e i formati che non conosce. Ogni corrispondenza viene contata nella registrazione della richiesta. Documentazione dei guardrail

Esempio: uno sviluppatore incolla un file di ambiente in una chat completion. Prima che la richiesta raggiunga il provider, il rilevatore di segreti del guardrail sostituisce la chiave OpenAI con [SECRET] e la risposta porta l'header X-INFRO-Guardrails: redacted.

Agenti, strumenti e persone

Gli agenti di coding hanno le proprie chiavi

Claude Code, Codex e gli SDK degli agenti chiamano /v1/messages e /v1/responses di INFRO con una chiave del gateway invece della tua chiave Anthropic o OpenAI. Dai a ogni sviluppatore o agente la sua, con un limite di spesa, una scadenza e una allowlist di rete; revocarla non tocca nessun altro.

Claude Code & Codex

Le credenziali degli strumenti restano fuori dagli agentiBusiness

Registra ogni server MCP una sola volta con il suo token. INFRO lo aggiunge a ogni chiamata, così nessun agente, prompt o file di configurazione lo contiene, e ogni chiave del gateway riceve solo gli strumenti che le sono stati concessi.

Modello di sicurezza del gateway MCP

L'accesso alla console è l'altra porta

Autenticazione a due fattori con un'app di autenticazione, passkey e chiavi hardware, un elenco di sessioni che puoi terminare e un'impostazione dell'organizzazione che richiede i due fattori a ogni membro. Single sign-on SAML o OIDC e SCIM dal piano Business.

Due fattori e sessioni

Le chiavi che conserviamo

Una piattaforma che conserva chiavi dei provider è esattamente ciò che gli attacchi di ottobre hanno preso di mira, quindi le stesse domande valgono per noi. Questi controlli sono le dichiarazioni del Trust Center, parola per parola.

Le credenziali dei provider sono sigillate e vincolate a un solo tenant
Le chiavi provider che colleghi sono cifrate con AES-256-GCM sotto una chiave conservata come segreto del Worker, mai nel database. Gli identificatori dell'organizzazione e della connessione sono vincolati come dati autenticati aggiuntivi, quindi una credenziale sigillata copiata nella riga di un altro tenant, o in un'altra riga dello stesso tenant, fallisce in modo chiuso invece di decifrarsi. Le credenziali collegate per la riconciliazione dei costi sono sigillate separatamente, con un vincolo proprio.
Non esiste alcuna rivelazione, da nessuna parte
Una volta salvata una credenziale del provider, nessuna interfaccia la restituisce: né la console, né l'API, né la console interna degli operatori. Ciò che ciascuna parte può vedere sono gli ultimi quattro caratteri e i timestamp. Se perdi la chiave, la ruoti presso il provider; non possiamo mostrartela.
Le chiavi API di INFRO sono sottoposte a hash a riposo
Una chiave del gateway è composta da 32 byte da una fonte casuale crittografica. Ciò che archiviamo è il suo digest SHA-256, un prefisso visualizzato e gli ultimi quattro caratteri, quindi una divulgazione del database non divulga una credenziale utilizzabile. La revoca scrive una tombstone invece di eliminare la riga, così non può essere oscurata da una voce di cache obsoleta ancora in propagazione tra le sedi.
La chiave di cifratura può essere ruotata senza il tuo intervento
Ruotare la chiave che sigilla le credenziali dei clienti risigilla sul posto ogni credenziale archiviata. Non chiede ai clienti di reinserire nulla e l'algoritmo archiviato porta una stringa di versione, così uno schema futuro può coesistere con quello attuale invece di richiedere un giorno di passaggio forzato.

Cosa INFRO non può fare

Una chiave del provider sottratta a INFRO, o a chiunque altro, può essere usata direttamente presso il provider, al di fuori di ogni limite di INFRO. Collega chiavi limitate al proprio progetto o workspace, con un limite di spesa impostato presso il provider: è il controllo che regge anche se noi falliamo. Ciò che non è ancora in atto è elencato nel Trust Center.

Ottobre 2026

In entrambi i casi il consiglio è stato lo stesso: sostituisci la chiave, elimina la vecchia presso il provider e leggi cosa ha fatto. Meno sono i posti in cui vive una chiave del provider, meno rotazioni costa una violazione; le chiavi che distribuisci dovrebbero avere limiti che puoi modificare senza un deploy.

RailwayComunicato il 21 ottobre 2026

Cosa ha detto Railway

An unauthorized party may have accessed encrypted customer environment variables and, for some of them, obtained the decrypted contents, in a series of attacks aimed at compromising AI inference providers.

Cosa fare

Ruota ogni variabile che Railway deteneva, prima le chiavi dei provider AI: sostituisci, elimina la vecchia chiave presso il provider, distribuisci e verifica l'uso della vecchia chiave.

Railway breach: what happened and what to doRivisto il 22 ottobre 2026

OpenCodeComunicato il 17 ottobre 2026

Cosa ha detto OpenCode

A breach related to a large-scale distillation attack affected 1.4% of OpenCode Console users, those with external AI providers linked, and provider keys saved in a workspace may have been exposed.

Cosa fare

Crea una sostituta con ambito, revoca la vecchia chiave presso il provider e verifica l'uso presso il provider dal 16 ottobre in poi.

OpenCode Console breach: what happened and what to doRivisto il 21 ottobre 2026

Ogni riepilogo proviene dalla comunicazione dell'azienda stessa, come la cita la nostra analisi. Entrambi gli incidenti erano aperti al momento della stesura; le analisi vengono riviste ogni settimana e riportano ogni modifica nelle note di revisione.

Guide pratiche

FAQ

Cosa devo fare se la mia chiave API OpenAI o Anthropic è stata esposta?

Crea una chiave sostitutiva presso il provider, elimina lì la chiave esposta, distribuisci la sostituta, poi verifica presso il provider l'uso della vecchia chiave per tutto il tempo in cui poteva essere usata. Eliminare la chiave presso il provider è ciò che la ferma; nulla di ciò che fa un'applicazione o un gateway può richiamare una chiave rubata. Poi dai alla sostituta un limite di spesa presso il provider e tienila fuori da codice, app client e ambienti condivisi.

Come INFRO limita il danno di una chiave API esposta?

Le tue applicazioni detengono chiavi del gateway INFRO invece delle tue chiavi provider. Ogni chiave del gateway può essere spenta (403 key_disabled), limitata a fino a 32 reti (403 ip_not_allowed), ristretta a modelli e provider approvati e dotata di un limite di spesa giornaliero, settimanale, mensile o a vita (402 key_budget). Ogni controllo viene eseguito prima di chiamare il tuo provider, su ogni piano, e nessuno richiede un deploy. Una chiave del gateway esposta è un problema circoscritto che puoi spegnere; una chiave provider esposta raggiunge l'intero account del provider.

Posso limitare la spesa AI per cliente, per progetto o per periodo?

Sì. I budget si applicano per organizzazione (un obiettivo mensile che avvisa e un tetto rigido che avvisa o blocca), per progetto e per membro (mensili) e per chiave del gateway (giornalieri, settimanali, mensili, oppure un limite a vita che non si azzera mai). Dal piano Team, i tetti per i clienti finali limitano ciascuno dei tuoi clienti su base giornaliera, settimanale o mensile, con eccezioni per clienti specifici. Ogni tetto applicabile viene verificato prima di chiamare il tuo provider, contando il caso peggiore delle richieste già in corso, e una richiesta rifiutata è un 402 che nomina il tetto. I tetti contano la stima di INFRO del costo del provider, non la fattura del tuo provider, quindi tieni un limite di spesa anche presso il provider.

INFRO archivia le mie chiavi API dei provider e come sono protette?

Sì: colleghi le tue chiavi provider una volta e INFRO le usa per servire le tue richieste. Ciascuna è cifrata con AES-256-GCM sotto una chiave conservata come segreto del Worker fuori dal database, con organizzazione e connessione vincolate, quindi una copia del solo database non apre nulla. Nessuna schermata della console, endpoint o esportazione restituisce una credenziale salvata; la console mostra gli ultimi quattro caratteri. Le chiavi del gateway sono archiviate solo come digest SHA-256.

Una chiave provider rubata può aggirare INFRO?

Sì. INFRO governa solo il traffico che passa da esso. Una chiave provider presa da qualsiasi parte, anche da INFRO, può essere usata direttamente contro il provider, al di fuori di ogni limite INFRO. Collega chiavi con ambito limitato al proprio progetto o workspace con un limite di spesa impostato presso il provider: quel limite regge anche se noi falliamo. Nel piano Business, la riconciliazione con l'accesso all'utilizzo attivato segnala l'uso su una chiave collegata che non è passato da INFRO.

Cosa è successo nelle violazioni di OpenCode e Railway?

OpenCode ha dichiarato il 17 ottobre 2026 che una violazione legata a un attacco di distillazione su larga scala ha riguardato l'1,4% dei suoi utenti Console, quelli con provider AI esterni collegati, e che le chiavi provider salvate in un workspace potrebbero essere state esposte. Railway ha dichiarato il 21 ottobre 2026 che una parte non autorizzata potrebbe aver avuto accesso a variabili d'ambiente cifrate dei clienti e averne decifrate alcune, in attacchi volti a compromettere i provider di inferenza AI. In entrambi i casi il consiglio è lo stesso: sostituisci la chiave, elimina la vecchia presso il provider e verifica il suo utilizzo. INFRO ha un'analisi di ciascuno, scritta solo a partire dalle dichiarazioni delle aziende stesse.

INFRO può impedire che le chiavi API vengano incollate nei prompt?

Nel piano Business, i guardrail controllano prompt e risposte per i formati OpenAI, Anthropic, Chiave API di Google, ID della chiave di accesso AWS, Token GitHub, Token Slack, Chiave live di Stripe e Chiave INFRO, i JWT e le chiavi private PEM, e bloccano la richiesta, sostituiscono la corrispondenza con [SECRET] o la segnalano prima che il tuo provider la veda. Il rilevamento è a pattern: non riconosce i formati che non conosce, come le chiavi di accesso segrete AWS e le password.

Claude Code e Codex hanno bisogno della mia chiave Anthropic o OpenAI?

Non tramite INFRO. Chiamano /v1/messages e /v1/responses di INFRO con una chiave del gateway, quindi ogni sviluppatore o agente può avere una propria chiave con un limite di spesa, una scadenza e una allowlist di rete facoltativa, e revocarla non tocca l'accesso di nessun altro. Un agente può comunque leggere qualsiasi chiave lasciata nella stessa shell, quindi rimuovi le chiavi provider grezze dagli ambienti degli sviluppatori.

Cos'è l'LLMjacking?

LLMjacking è l'uso di credenziali API cloud o AI rubate per chiamare modelli linguistici ospitati a spese della vittima, per uso proprio dell'attaccante o per rivenderne l'accesso. La difesa è quella di qualsiasi credenziale che può spendere denaro: tenere le chiavi provider fuori da codice e app client, dare a ogni chiave un limite di spesa, tenere d'occhio l'utilizzo per chiave ed essere in grado di spegnere una chiave senza un deploy.

Quali piani INFRO includono questi controlli?

Ogni piano include spegnere una chiave, reti consentite, limiti su modelli e provider, limiti di spesa, rotazione e scadenza, accesso con autenticazione a due fattori e passkey e il log di audit. Gli avvisi di spesa vanno via email in ogni piano e a Slack e ai webhook firmati dal piano Startup. Guardrail, SSO e SCIM, riconciliazione dei costi con rilevamento degli aggiramenti e il gateway MCP sono inclusi nel piano Business.

Conformità, l'elenco completo dei controlli e ciò che non è ancora in atto sono nel Trust Center. Hai trovato una vulnerabilità? Scrivi a security@infro.io.

Inizia

Fai della prossima chiave esposta un problema circoscritto.

I tuoi provider, i tuoi contratti, le tue chiavi, sigillate in un solo posto. Ogni chiave che distribuisci, limitata e disattivabile. 0% di ricarico sulla spesa per i modelli.