Sicurezza delle API degli Exchange e mitigazione del rischio: proteggere l'infrastruttura del tuo trading bot
Il tuo trading bot opera attraverso una singola interfaccia: l'API dell'exchange. Ogni Order, ogni controllo del saldo, ogni interrogazione di posizione passa attraverso le credenziali API che hai creato. Se queste credenziali sono configurate male, compromesse o fraintese, le conseguenze vanno dai trade non autorizzati al prosciugamento completo dell'account.
Questa guida va oltre la basilare igiene di sicurezza (trattata nella nostra guida fondamentale alla sicurezza) e si addentra nel framework di sicurezza operativa che distingue gli operatori di bot professionali dai dilettanti. Trattiamo l'architettura dei Permission, i controlli di accesso a livello di rete, la gestione del ciclo di vita delle credenziali, la gestione dei guasti degli exchange e un playbook completo di risposta agli incidenti.
Key Takeaways
- Le API Key hanno quattro livelli di Permission — lettura, Spot trade, Futures trade e Withdrawal. Il Withdrawal non deve MAI essere abilitato per le connessioni dei bot.
- L'IP Whitelist rende inutili le API Key rubate. Configuralo su ogni exchange — Binance, Bybit e OKX lo supportano tutti.
- Ruota le API Key ogni 90 giorni con una procedura a downtime zero: crea nuova chiave → aggiorna il bot → verifica → elimina la vecchia chiave.
- L'isolamento dei subaccount limita il raggio d'impatto: un bot compromesso può colpire solo il capitale del subaccount, non l'intero portafoglio.
- Quando un exchange va in down durante un trade, gli Order aperti rimangono nell'order book e i bot devono riconciliare lo stato dopo la riconnessione.
- Le violazioni dei Rate Limit (Binance: 1.200/min, Bybit: 120/5sec) comportano ban IP temporanei — i bot devono limitare le richieste in modo proattivo.
Livelli di Permission delle API Key: il principio del privilegio minimo
Ogni exchange importante implementa un sistema granulare di Permission per le API Key. Il principio è semplice: concedi esattamente i Permission di cui il bot ha bisogno e nulla di più. Ecco cosa controlla ogni livello:
Architettura dei Permission
| Livello di Permission | Cosa consente | Il bot ne ha bisogno? | Rischio se compromesso |
|---|---|---|---|
| Read-Only | Visualizzare saldi, cronologia Order, dati di mercato | ✅ Sempre | Basso — l'attaccante vede i dati dell'account |
| Spot Trade | Piazzare e annullare Order Spot a mercato/limite | ✅ Per bot Spot | Medio — l'attaccante può eseguire trade |
| Futures Trade | Aprire/chiudere posizioni con leva, impostare il margine | ✅ Per bot Futures | Alto — possibili perdite con leva |
| Withdrawal | Trasferire fondi a wallet esterni | ❌ MAI | Critico — perdita totale dei fondi |
| Internal Transfer | Spostare fondi tra subaccount | ⚠️ Raramente | Medio — riallocazione dei fondi |
Perché il Permission di Withdrawal è il kill switch
Con il Withdrawal disabilitato, lo scenario peggiore da una API Key compromessa è questo: un attaccante piazza trade dannosi. Il tuo capitale subisce un colpo, ma rimane sull'exchange. Puoi recuperare.
Con il Withdrawal abilitato, il caso peggiore è la perdita totale. Un attaccante prosciuga il tuo account verso il proprio wallet in pochi secondi. Le transazioni crypto sono irreversibili. Nessun chargeback, nessun recupero.
La matematica è netta. Supponiamo che tu abbia $50.000 su Binance:
- Withdrawal disabilitato, chiave compromessa: l'attaccante piazza trade erratici. Perdita realistica: $2.000–$10.000 in slippage e fill scadenti prima che tu te ne accorga e revochi la chiave. Capitale rimanente: $40.000–$48.000.
- Withdrawal abilitato, chiave compromessa: l'attaccante invia $50.000 al proprio wallet. Capitale rimanente: $0.
Nessuna piattaforma di bot legittima — inclusa Freya Finance — richiede mai il Permission di Withdrawal. Se una piattaforma lo chiede, quella piattaforma è incompetente oppure malevola. Allontanati immediatamente.
Configurazione dei Permission specifica per exchange
Binance: vai su Account → API Management → Create API. Sotto "API restrictions", abilita solo "Enable Spot & Margin Trading". Lascia "Enable Withdrawals" ed "Enable Internal Transfer" deselezionati. Per i bot Futures, seleziona anche "Enable Futures".
Bybit: vai su Profile → API Management → Create New Key. Sotto i permessi, abilita "Read-Write" solo per Spot (o Derivatives se necessario). Il toggle "Withdraw" deve restare OFF.
OKX: vai su Profile → API Keys → Create API Key. Sotto "Permissions", seleziona solo "Trade". OKX richiede una passphrase aggiuntiva per l'autenticazione API — conservala nel tuo password manager insieme alla chiave e al Secret Key.
IP Whitelist: controllo dell'accesso a livello di rete
L'IP Whitelist è la singola difesa più efficace contro le API Key rubate. Anche se un attaccante ottiene la tua API Key e il Secret Key, non può usarli — l'exchange rifiuta qualsiasi richiesta che non provenga da un indirizzo IP nella whitelist.
Come funziona l'IP Whitelist
Il tuo server bot (IP: 34.85.123.45) → API dell'exchange → ✅ In whitelist → Order eseguito
Server dell'attaccante (IP: 192.168.0.99) → API dell'exchange → ❌ Non in whitelist → Richiesta rifiutata
L'exchange mantiene una allow-list di indirizzi IP per ciascuna API Key. L'IP di origine di ogni richiesta API in entrata viene verificato rispetto a questa lista prima che qualsiasi azione venga elaborata. Le richieste da IP non in whitelist vengono rifiutate con un errore di autenticazione, indipendentemente dalla validità dell'API Key e della firma.
Perché non è negoziabile
Senza IP Whitelist, chiunque ottenga le tue credenziali API può usarle da qualsiasi parte del mondo. Con l'IP Whitelist, l'attaccante dovrebbe anche compromettere l'infrastruttura server della tua piattaforma di bot — un bersaglio drasticamente più difficile.
Configurazione specifica per piattaforma
Binance:
- In API Management, seleziona la tua chiave e clicca su "Edit restrictions"
- Sotto "IP access restrictions", seleziona "Restrict access to trusted IPs only"
- Inserisci ciascun indirizzo IP su una riga separata (Binance supporta fino a 30 IP per chiave)
- Salva e completa la verifica 2FA
- Nota: Binance impone un ritardo di propagazione di 5 minuti dopo le modifiche all'IP Whitelist
Bybit:
- In API Management, modifica la tua API Key
- Sotto "IP Access", clicca su "Modify"
- Inserisci gli IP server della tua piattaforma (Bybit supporta fino a 20 IP)
- Le chiavi senza restrizioni IP scadono automaticamente dopo 90 giorni su Bybit
- Completa la verifica 2FA per salvare
OKX:
- Modifica la tua API Key nel pannello di gestione API
- Aggiungi gli indirizzi IP nel campo "IP Address" (OKX supporta fino a 20 IP)
- OKX raccomanda vivamente la whitelist — le chiavi senza restrizioni hanno Rate Limit più bassi
- Salva e conferma con 2FA
Freya Finance mostra i propri indirizzi IP server durante il flusso di connessione dell'API Key. Copiali direttamente nell'IP Whitelist del tuo exchange. Se gli IP della piattaforma cambiano (raro, tipicamente durante le migrazioni dell'infrastruttura), riceverai una notifica con i nuovi indirizzi.
Errori comuni con l'IP Whitelist
| Errore | Conseguenza | Soluzione |
|---|---|---|
| Usare l'IP di casa invece dell'IP del server bot | La chiave funziona dal tuo laptop ma non dal bot | Usa gli IP server pubblicati dalla piattaforma |
Mettere in whitelist 0.0.0.0 o intervalli ampi | Nessuna protezione reale — accetta qualsiasi origine | Usa solo IP specifici |
| Dimenticare di aggiornare dopo una migrazione della piattaforma | Il bot smette di fare trading silenziosamente | Monitora gli errori di connessione, tieni gli IP aggiornati |
| Aggiungere IP VPN che ruotano | Guasti intermittenti | Usa IP statici o gli IP della piattaforma |
Rotazione delle API Key: il ciclo di vita di 90 giorni
Le API Key dovrebbero essere trattate come le password: hanno una data di scadenza. Più a lungo esiste una chiave, maggiore è la probabilità che sia stata esposta tramite file di log, ticket di supporto, screenshot o dump di memoria. Gli operatori professionali ruotano le chiavi secondo un calendario fisso.
Cadenza di rotazione consigliata
| Scenario | Frequenza di rotazione |
|---|---|
| Operatività normale | Ogni 90 giorni |
| Dopo qualsiasi sospetta compromissione | Immediatamente |
| Dopo un incidente di sicurezza della piattaforma | Immediatamente |
| Dopo aver revocato l'accesso a una piattaforma | Immediatamente |
| Dopo l'uscita di un membro del team | Immediatamente |
Procedura di rotazione a downtime zero
La rotazione delle chiavi non dovrebbe mai causare interruzioni del trading. Segui questa sequenza:
Passo 1: crea la nuova API Key sull'exchange Genera una nuova chiave con Permission e impostazioni di IP Whitelist identiche a quella vecchia. Etichettala con la data corrente (ad es., "Freya Bot — Maggio 2026").
Passo 2: aggiorna la tua piattaforma di bot con la nuova chiave Inserisci la nuova API Key e il Secret Key nelle impostazioni della tua piattaforma di bot. La maggior parte delle piattaforme consente di aggiornare le credenziali senza fermare i bot.
Passo 3: verifica la connettività Conferma che la nuova chiave funzioni: controlla che la piattaforma mostri una connessione riuscita, che i saldi siano visualizzati correttamente e che un trade di prova (se fattibile) venga eseguito.
Passo 4: elimina la vecchia chiave sull'exchange Solo dopo aver verificato che la nuova chiave funzioni, elimina la vecchia chiave dalla pagina di gestione API del tuo exchange.
Passo 5: documenta la rotazione Registra la data di rotazione, l'etichetta della nuova chiave e la conferma del passaggio riuscito.
Durante la breve finestra in cui esistono sia la vecchia che la nuova chiave (Passi 2–4), entrambe sono valide. Questa sovrapposizione è necessaria per la rotazione a downtime zero ed è sicura perché la vecchia chiave viene eliminata entro pochi minuti. Mantieni questa finestra il più breve possibile.
Isolamento dei subaccount: limitare il raggio d'impatto
I subaccount degli exchange sono account di trading separati sotto il tuo account principale. Ogni subaccount ha il proprio saldo, le proprie API Key e la propria cronologia di trading. Sono l'equivalente exchange della segmentazione di rete nella cybersicurezza.
Perché i subaccount sono importanti
Considera questo scenario: gestisci tre bot — un bot BTC DCA, un bot ETH grid e un bot SOL momentum — tutti collegati al tuo account principale con $30.000 di capitale totale.
Senza subaccount: una sola API Key compromessa espone $30.000. Un bot malfunzionante può prosciugare l'intero saldo tramite trade rapidi ed erratici.
Con i subaccount: ogni bot opera nel proprio subaccount con $10.000. Una chiave compromessa espone solo $10.000. Un bot malfunzionante può colpire solo il capitale allocato. Gli altri $20.000 sono intoccabili.
Configurazione dei subaccount per exchange
| Funzionalità | Binance | Bybit | OKX |
|---|---|---|---|
| Subaccount massimi | 200 (dipende dal VIP) | 20 (standard) | 5 (standard), di più con VIP |
| API Key separate | ✅ Per subaccount | ✅ Per subaccount | ✅ Per subaccount |
| Saldi separati | ✅ Isolati | ✅ Isolati | ✅ Isolati |
| Internal Transfer | ✅ Istantaneo, gratuito | ✅ Istantaneo, gratuito | ✅ Istantaneo, gratuito |
| Cronologia di trading separata | ✅ Isolamento totale | ✅ Isolamento totale | ✅ Isolamento totale |
| KYC richiesto | Usa il KYC dell'account principale | Usa il KYC dell'account principale | Usa il KYC dell'account principale |
Architettura dei subaccount consigliata
Per un portafoglio di $30.000 su tre bot:
Account principale (Master)
├── Subaccount A: bot BTC DCA — $10.000
│ └── API Key A (Spot trade + lettura, IP in whitelist)
├── Subaccount B: bot ETH Grid — $10.000
│ └── API Key B (Spot trade + lettura, IP in whitelist)
├── Subaccount C: bot SOL Momentum — $10.000
│ └── API Key C (Spot trade + lettura, IP in whitelist)
└── Riserva: $0 (tenuta nel principale, trasferita all'occorrenza)
Ogni subaccount ha la propria API Key, la propria IP Whitelist e può accedere solo ai propri fondi. La chiave dell'account principale — senza Permission di trading — gestisce i trasferimenti di fondi tra subaccount all'occorrenza.
Quando un exchange va in down durante un trade
I down degli exchange accadono. Binance, Bybit e OKX hanno tutti subito interruzioni — a volte pianificate (manutenzione), a volte impreviste (attacchi DDoS, guasti dell'infrastruttura, volatilità di mercato estrema che causa picchi di carico). Il tuo bot deve gestirle con eleganza.
Order aperti durante un down
Gli Order limite aperti che hai piazzato rimangono nell'order book dell'exchange anche quando l'API è irraggiungibile. Il matching engine è separato dal gateway API. I tuoi Order possono continuare a essere riempiti durante un down dell'API.
Questo significa: se avevi un Order di acquisto limite a $99.500 per BTC e l'API va in down, quell'Order è ancora attivo. Se BTC scende a $99.500, verrà riempito anche se il tuo bot non può comunicare con l'exchange.
Riconnessione del bot e riconciliazione dello stato
Quando l'API torna online, un bot ben progettato deve riconciliare il proprio stato interno con lo stato effettivo dell'exchange. Questo processo prevede:
- Interrogare tutti gli Order aperti — Verificare quali Order sono ancora attivi, quali sono stati riempiti, quali parzialmente riempiti e quali annullati
- Confrontare con i registri interni — Confrontare lo stato dell'exchange con ciò che il bot si aspettava
- Risolvere le discrepanze — Aggiornare le posizioni interne in base ai fill effettivi
- Riprendere l'operatività normale — Continuare l'esecuzione della strategia dallo stato riconciliato
Freya gestisce automaticamente questa riconciliazione per te. Se la connessione del tuo bot a un exchange cade e poi si riconnette, Freya ricontrolla le tue posizioni rispetto all'exchange e corregge qualsiasi deriva verificatasi durante l'interruzione, così la tua strategia riprende da uno stato accurato.
Fill parziali
I fill parziali si verificano quando solo una porzione del tuo Order viene eseguita prima del down (o a causa di liquidità insufficiente). Esempio:
- Piazzi un Order di acquisto limite per 0,5 BTC a $100.000 (Order da $50.000)
- 0,3 BTC vengono riempiti prima che l'API si disconnetta ($30.000)
- Quando il bot si riconnette, scopre 0,3 BTC in posizione e 0,2 BTC ancora aperti
Un bot robusto gestisce questo:
- Riconoscendo il fill parziale e aggiornando la dimensione della posizione
- Decidendo se mantenere attivo l'Order rimanente di 0,2 BTC o annullarlo
- Adeguando i livelli di take-profit e stop-loss in base alla dimensione effettiva della posizione (0,3 BTC, non gli 0,5 BTC previsti)
Cosa dovresti fare durante un down dell'exchange
| Situazione | Azione |
|---|---|
| Manutenzione pianificata annunciata | Metti in pausa i bot prima della finestra di manutenzione; riprendi dopo |
| Down imprevisto, nessuna posizione aperta | Aspetta — il bot si riconnetterà automaticamente |
| Down imprevisto, posizioni aperte | Monitora la pagina di stato dell'exchange; non fare trading manuale in preda al panico |
| Down durante alta volatilità | Valuta un intervento manuale tramite il sito web dell'exchange (se accessibile) |
| Down prolungato (>1 ora) | Rivedi le posizioni tramite app/sito web dell'exchange quando torna disponibile |
Rate Limiting: rispettare i limiti degli exchange
Gli exchange impongono Rate Limit per proteggere la propria infrastruttura dal sovraccarico. Ogni chiamata API — ogni piazzamento di Order, ogni controllo del saldo, ogni richiesta di dati di mercato — conta sul tuo budget di Rate Limit.
Rate Limit degli exchange
| Exchange | Limite di richieste | Finestra | Penalità per violazione |
|---|---|---|---|
| Binance | 1.200 richieste | Al minuto | Ban IP temporaneo (2–10 min) |
| Binance (specifico per Order) | 10 Order/sec, 200.000/giorno | Per account | Rifiuto dell'Order, potenziale ban |
| Bybit | 120 richieste | Ogni 5 secondi | Ban IP temporaneo |
| OKX | 60 richieste/sec (varia per endpoint) | Al secondo | Codice di stato 429, throttling |
Come i bot gestiscono i Rate Limit
I bot professionali implementano diverse tecniche di gestione dei Rate Limit:
Accodamento delle richieste: invece di lanciare le chiamate API immediatamente, le richieste entrano in una coda che le rilascia a una velocità controllata. Per Binance, ciò significa non più di 20 richieste al secondo per rimanere ben sotto il limite di 1.200/min.
Budgeting basato sul peso: alcuni exchange (in particolare Binance) assegnano "pesi" diversi a endpoint diversi. Un semplice controllo del saldo potrebbe costare 1 peso, mentre un'interrogazione complessa della cronologia Order ne costa 20. I bot tracciano il peso cumulativo per evitare di raggiungere il tetto.
Backoff esponenziale: se un bot riceve un errore di Rate Limit (HTTP 429), aspetta progressivamente più a lungo prima di riprovare: 1 secondo, poi 2, poi 4, poi 8. Questo impedisce che una raffica di tentativi peggiori la situazione.
WebSocket invece di REST: per i dati di mercato, le connessioni WebSocket sono molto più efficienti del polling degli endpoint REST. Una singola connessione WebSocket fornisce aggiornamenti di prezzo in tempo reale senza consumare budget di Rate Limit. I bot ben costruiti usano WebSocket per i dati e REST solo per la gestione degli Order.
Eseguire più bot sulla stessa API Key condivide il budget di Rate Limit tra tutti i bot. Se esegui 5 bot su una chiave facendo 50 richieste/sec ciascuno, raggiungerai immediatamente il limite di Binance. Usa API Key separate (e idealmente subaccount) per ogni bot per ottenere Rate Limit indipendenti.
Rischio di controparte dell'exchange: la lezione FTX
A novembre 2022, FTX — il terzo exchange crypto più grande del mondo — è collassato in meno di una settimana. $8 miliardi di fondi dei clienti sono svaniti. Gli utenti che avevano l'intero capitale di trading su FTX hanno perso tutto, indipendentemente da quanto fossero sicure le loro API Key o da quanto bene performassero i loro bot.
La lezione: la sicurezza della tua API Key è irrilevante se l'exchange stesso fallisce.
Tipi di rischio di controparte
| Tipo di rischio | Descrizione | Esempio storico |
|---|---|---|
| Insolvenza | L'exchange non ha asset sufficienti a coprire i depositi | FTX (2022) |
| Sequestro normativo | Il governo chiude o congela l'exchange | Bitzlato (2023) |
| Hack/violazione | Hot wallet dell'exchange compromesso | Mt. Gox (2014), Bitfinex (2016) |
| Blocco dei Withdrawal | L'exchange ferma i Withdrawal durante una crisi | Molti exchange durante i crolli di mercato |
| Guasto tecnico | Down prolungato che causa perdite di trading | Vari, durante volatilità estrema |
Diversificazione multi-exchange
La mitigazione è semplice: non tenere mai tutto il tuo capitale di trading su un singolo exchange. Distribuiscilo su 2–3 exchange importanti e gestiti in modo indipendente.
Esempio di allocazione per $60.000 di capitale totale:
| Exchange | Allocazione | Bot in esecuzione |
|---|---|---|
| Binance | $25.000 (42%) | BTC DCA, ETH Grid |
| Bybit | $20.000 (33%) | SOL DCA, AVAX Momentum |
| OKX | $15.000 (25%) | BTC Grid, DCA multi-coppia |
Se un singolo exchange fallisce, perdi al massimo il 42% del tuo capitale — doloroso ma sopravvivibile. Se avessi avuto $60.000 solo su FTX, avresti perso il 100%.
Cosa monitorare per il rischio di controparte
- Report di Proof of Reserves — Vengono pubblicati regolarmente? Sono verificati da società affidabili?
- Tempi di elaborazione dei Withdrawal — Ritardi improvvisi nei Withdrawal sono un segnale d'allarme precoce
- Social media e notizie — Dirigenti dell'exchange che agiscono in modo erratico, cambiamenti aziendali insoliti
- Sviluppi normativi — Cause legali, azioni normative o revoche di licenza in mercati chiave
- La tua capacità di Withdrawal — Testa periodicamente i Withdrawal per verificare di poter accedere ai tuoi fondi
Tieni sugli exchange solo il tuo capitale di trading attivo. Le partecipazioni a lungo termine e le riserve dovrebbero stare in wallet self-custody (hardware wallet come Ledger o Trezor). Una linea guida ragionevole: non più del 30–40% del tuo portafoglio crypto totale sugli exchange in qualsiasi momento.
Checklist di risposta agli incidenti
Quando si verifica un incidente di sicurezza — o anche solo quando ne sospetti uno — la velocità di risposta determina l'esito. Segui questa checklist in sequenza:
Passo 1: disabilita immediatamente l'API Key sospetta
Accedi direttamente all'exchange (digita l'URL manualmente, non cliccare alcun link). Elimina o disabilita la chiave compromessa. Ci vogliono 30 secondi e taglia istantaneamente ogni accesso non autorizzato.
Passo 2: controlla e annulla tutti gli Order aperti
Rivedi ogni Order aperto sull'exchange. Annulla qualsiasi cosa che non hai piazzato o che non riconosci. Controlla tutte le coppie di trading, non solo quelle che usa il tuo bot — un attaccante potrebbe fare trading su coppie che non sceglieresti mai.
Passo 3: verifica la cronologia dei Withdrawal
Controlla le ultime 24–48 ore della cronologia dei Withdrawal. Verifica che ogni Withdrawal sia stato autorizzato da te. Se vedi Withdrawal non autorizzati, contatta immediatamente il supporto dell'exchange e documenta gli hash delle transazioni.
Passo 4: cambia la password del tuo exchange
Reimposta la tua password con una nuova stringa generata casualmente (usa il tuo password manager). Se l'attaccante aveva un accesso più ampio all'account, la vecchia password è compromessa.
Passo 5: genera nuove API Key con IP Whitelist
Crea nuove API Key con i Permission minimi necessari e un IP Whitelist rigoroso. Non riutilizzare alcuna impostazione della chiave compromessa.
Passo 6: aggiorna la configurazione del bot
Inserisci le nuove credenziali API nella tua piattaforma di bot. Verifica la connettività e il corretto funzionamento prima di riprendere il trading.
Passo 7: controlla i log di accesso
Rivedi:
- I log di accesso API dell'exchange per indirizzi IP sconosciuti
- La cronologia di login dell'exchange per sessioni non autorizzate
- L'account email per accessi non autorizzati o regole di inoltro
- L'account della piattaforma di bot per modifiche di configurazione non autorizzate
Passo 8: segnala l'incidente
Contatta il team di sicurezza ufficiale dell'exchange con le tue scoperte. Se sono stati rubati dei fondi, presenta una denuncia alle forze dell'ordine locali e all'autorità per i reati finanziari del tuo paese.
Checklist di audit di sicurezza: 10 punti che ogni operatore di bot deve verificare
Esegui questa checklist mensilmente. Ogni punto richiede meno di un minuto per essere verificato:
| # | Elemento dell'audit | Come verificare | ✅ / ❌ |
|---|---|---|---|
| 1 | Permission di Withdrawal disabilitati su tutte le API Key | Pagina di gestione API dell'exchange | |
| 2 | IP Whitelist abilitato su tutte le API Key | Pagina di gestione API dell'exchange | |
| 3 | 2FA abilitato sull'account dell'exchange (app di autenticazione, non SMS) | Impostazioni di sicurezza dell'exchange | |
| 4 | 2FA abilitato sull'account della piattaforma di bot | Impostazioni di sicurezza della piattaforma | |
| 5 | API Key ruotate negli ultimi 90 giorni | Controlla le date di creazione delle chiavi | |
| 6 | Codice anti-Phishing impostato sull'exchange | Impostazioni di sicurezza dell'exchange | |
| 7 | Nessuna API Key superflua presente (chiavi vecchie/inutilizzate eliminate) | Pagina di gestione API dell'exchange | |
| 8 | Saldi dei subaccount entro i limiti di allocazione previsti | Panoramica saldi dell'exchange | |
| 9 | Proof of Reserves dell'exchange verificato di recente | Pagina di trasparenza dell'exchange | |
| 10 | Piano di risposta d'emergenza rivisto (sai dove revocare le chiavi) | Simulazione mentale |
Imposta un promemoria sul calendario per il primo di ogni mese per eseguire questa checklist. Richiede 10 minuti e intercetta la deriva di configurazione, le vecchie chiavi dimenticate e le impostazioni di sicurezza scadute prima che diventino vulnerabilità.
Mettere tutto insieme: difesa in profondità
Nessuna singola misura di sicurezza è sufficiente. Gli operatori di bot professionali stratificano più difese in modo che il fallimento di un singolo livello non si traduca in una violazione:
| Livello di difesa | Da cosa protegge | Implementazione |
|---|---|---|
| Limitazione dei Permission (nessun Withdrawal) | Perdita totale dei fondi da compromissione della chiave | Impostazioni API dell'exchange |
| IP Whitelist | Uso remoto di chiavi rubate | Impostazioni API dell'exchange |
| Rotazione delle chiavi (90 giorni) | Esposizione a lungo termine della chiave | Procedura pianificata |
| Isolamento dei subaccount | Contaminazione tra bot, raggio d'impatto | Configurazione subaccount dell'exchange |
| 2FA (app di autenticazione) | Compromissione dell'account tramite furto di password | Impostazioni exchange + piattaforma |
| Codice anti-Phishing | Attacchi di Phishing via email | Impostazioni di sicurezza dell'exchange |
| Diversificazione multi-exchange | Insolvenza/fallimento dell'exchange | Architettura del portafoglio |
| Audit di sicurezza mensile | Deriva di configurazione, chiavi dimenticate | Revisione pianificata |
Ogni livello è indipendente. Se un attaccante aggira l'IP Whitelist (compromettendo il server bot), affronta comunque la limitazione dei Permission (nessun Withdrawal), l'isolamento dei subaccount (esposizione di capitale limitata) e la tua procedura di risposta agli incidenti.
Domande frequenti
Cosa succede se dimentico di aggiungere l'IP Whitelist?
Senza IP Whitelist, la tua API Key funziona da qualsiasi indirizzo IP nel mondo. Se qualcuno ottiene la tua chiave (tramite una violazione dei dati, un'esposizione accidentale o Phishing), può usarla dalla propria infrastruttura. Su Bybit, le chiavi senza restrizioni IP scadono automaticamente dopo 90 giorni — una rete di sicurezza. Su Binance e OKX, rimangono attive a tempo indeterminato. Aggiungi l'IP Whitelist ora; ci vogliono 2 minuti.
Posso usare la stessa API Key per più bot?
Tecnicamente sì, ma è una cattiva pratica. Più bot che condividono una chiave condividono i Rate Limit, rendendo facile innescare violazioni dei Rate Limit. Significa anche che non puoi revocare l'accesso a un bot senza influenzare tutti gli altri. Usa una API Key per bot (idealmente con subaccount separati).
Come faccio a sapere se la mia API Key è stata compromessa?
I segnali d'allarme includono: trade che non hai autorizzato che appaiono nella tua cronologia, variazioni di saldo inaspettate, errori di Rate Limit quando i tuoi bot sono inattivi (a indicare che qualcun altro sta usando la tua chiave), o avvisi di login da IP sconosciuti. Se ne noti uno qualsiasi, elimina immediatamente la chiave e segui la checklist di risposta agli incidenti.
E se l'exchange cambia i suoi requisiti di IP Whitelist?
Gli exchange aggiornano occasionalmente i loro sistemi di IP Whitelist. In genere riceverai una notifica via email. Se il tuo bot smette improvvisamente di eseguire trade, controlla se l'exchange ha modificato i suoi requisiti di autenticazione API. È raro — i grandi exchange puntano alla retrocompatibilità — ma vale la pena monitorarlo.
Dovrei usare i subaccount anche se eseguo un solo bot?
Sì. Un subaccount crea un confine netto tra il capitale di trading del tuo bot e i tuoi fondi di riserva. Anche con un solo bot, un subaccount garantisce che un bot malfunzionante (o un bug nella tua strategia) possa colpire solo il capitale esplicitamente allocato. Non costa nulla configurarlo e aggiunge una protezione significativa.
Come incidono le violazioni dei Rate Limit sul mio trading?
Una violazione dei Rate Limit comporta il rifiuto temporaneo delle richieste API. Durante il periodo di ban (tipicamente 2–10 minuti), il tuo bot non può piazzare Order, controllare saldi o gestire posizioni. In un mercato volatile, essere bloccati anche solo per 5 minuti può significare perdere un trigger di stop-loss o un ingresso profittevole. Una corretta gestione dei Rate Limit non è opzionale — è essenziale per un'operatività affidabile del bot.
La diversificazione multi-exchange vale la complessità?
Assolutamente. Gestire bot su 2–3 exchange richiede uno sforzo amministrativo leggermente maggiore, ma la riduzione del rischio è enorme. Il collasso di FTX ha spazzato via i trader che avevano concentrato il capitale su un'unica piattaforma. La diversificazione protegge da un evento che nessuna sicurezza delle API Key o IP Whitelist può prevenire: il fallimento dell'exchange stesso.
