Hoskinson segnala il codice spazzino di Binance mentre cresce il dibattito su EIP-7702
Il fondatore di Cardano Charles Hoskinson ha avvertito di un «codice estremamente pericoloso» condividendo un’analisi che attribuisce alla funzionalità di delega EIP-7702 di Ethereum il ruolo di facilitatore degli attacchi che hanno svuotato rapidamente un wallet caldo di Binance.
Riassunto
Hoskinson ha condiviso un’analisi tecnica secondo cui lo spazzino è stato creato appositamente per l’infrastruttura wallet di Binance.
CyberSatoshi ha affermato che 50 autorizzazioni firmate hanno consentito all’attaccante di mirare al nonce in continuo cambiamento delle transazioni del wallet caldo.
L’analisi riconosce che per autorizzare la delega era necessario il controllo della chiave privata o un accesso illimitato alla firma.
La specifica di Ethereum avverte che il codice delegato riceve accesso illimitato al conto e richiede controlli di sicurezza accurati.
Nel suo post su X, Hoskinson ha scritto: «Attenzione, circola del codice estremamente pericoloso», accompagnando una sintesi pubblicata da CyberSatoshi.
Il post condiviso descrive il bytecode ricostruito di un presunto spazzino EIP-7702 per Binance, sostenendo che il contratto era personalizzato sulle operazioni dell’exchange. Il messaggio di Hoskinson non identifica alcun difetto specifico del protocollo né chiarisce quale parte dell’analisi egli approvi.
L’account di CyberSatoshi pone due domande di sicurezza affiancate: una riguarda come l’attaccante abbia ottenuto il permesso di agire per conto del wallet; l’altra riguarda ciò che la funzionalità di delega di Ethereum ha permesso all’attaccante di fare dopo aver ottenuto tale autorizzazione.
Potrebbe interessarti anche: La Cardano Foundation aderisce a un gruppo svizzero per supportare azioni tokenizzate
Lo spazzino di Binance avrebbe eluso le protezioni del wallet
Secondo l’analisi di CyberSatoshi, il contratto ricostruito ha lasciato esattamente 1 ETH nel wallet durante lo svuotamento del saldo nativo, impedendo così al sistema automatizzato di gestione dei wallet caldi di Binance di fallire per insufficiente gas e innescare allarmi.
L’analisi descrive un ciclo di elaborazione dei token che verifica i saldi tramite chiamate a basso livello e prosegue anche se singole operazioni falliscono. CyberSatoshi ha affermato che questo ha permesso allo spazzino di continuare a elaborare asset anche quando un token bloccato o non rispondente non poteva essere trasferito.
Una funzione di esecuzione personalizzata avrebbe consentito al wallet compromesso di chiamare un vault esterno contenente 823 milioni di dollari in USDC. Nella spiegazione dell’autore, il vault riconosceva Binance 14 come suo controller, permettendo così alle chiamate effettuate tramite quel wallet di accedere a fondi al di fuori del suo saldo immediato.
CyberSatoshi ha descritto il contratto come costruito appositamente per l’architettura di Binance. Le affermazioni sul suo impatto sugli allarmi interni e sui sistemi del tesoro rimangono la sua interpretazione del funzionamento dell’operazione.
EIP-7702 richiede un'autorizzazione firmata per delegare
La specifica EIP-7702 di Ethereum descrive un tipo di transazione che consente a un account di proprietà esterna di delegare l'esecuzione a codice distribuito presso un altro indirizzo.
Un account di proprietà esterna opera normalmente tramite firme generate dalla sua chiave privata. La delega gli permette di eseguire logica di contratto intelligente nel contesto del proprio account, supportando funzionalità come il raggruppamento di più operazioni in una singola transazione e consentendo a un altro account di pagare le commissioni di transazione.
Ogni autorizzazione identifica una catena, un indirizzo delegato e un nonce, insieme a una firma crittografica. Il protocollo recupera l'account autore dalla firma e ne verifica il nonce prima di applicare la delega.
CyberSatoshi ha riconosciuto questo requisito, affermando che l'attacco presunto richiedeva o la chiave privata in chiaro o un accesso illimitato alla firma nell'infrastruttura di sicurezza di Binance 14.
La specifica non chiarisce in che modo siano state ottenute le credenziali di firma di Binance. Il suo requisito di firma stabilisce però che la delega non può essere assegnata semplicemente a un account vittima arbitrario senza un'autorizzazione valida.
Le regole sui nonce di Ethereum spiegano il presunto raggruppamento
CyberSatoshi ha affermato che l'attaccante ha inviato 50 autorizzazioni pre-firmate con nonce consecutivi per cogliere Binance 14 mentre il suo contatore di transazioni era in fase di variazione.
Il protocollo elabora le autorizzazioni in ordine. Se un'autorizzazione non supera un controllo, l'elaborazione prosegue con la voce successiva. Un'autorizzazione valida imposta la delega e incrementa il nonce dell'account autore.
Autorizzazioni successive per lo stesso account possono quindi diventare valide man mano che tale nonce avanza. Quando esistono più voci valide, l'ultima delega valida determina l'indirizzo del codice utilizzato.
Ciò è più specifico di un raggruppamento in cui solo un'autorizzazione può avere effetto. Le regole consentono il successo di più voci consecutive, in base al nonce iniziale dell'account e alle firme fornite.
CyberSatoshi ha sostenuto che la delega ha compresso i trasferimenti di asset in un'unica operazione, riducendo il tempo disponibile per un intervento. L'affermazione aggiuntiva secondo cui le difese dell'exchange avrebbero comunque bloccato il furto dopo tre transazioni è una valutazione controfattuale dell'autore del post.
Il documento di progettazione di Ethereum illustra i rischi della delega
Gli autori dell'EIP avvertono esplicitamente che il codice autorizzato ha accesso illimitato all'account e deve essere attentamente verificato dal wallet.
La sezione sulla sicurezza elenca le protezioni necessarie ai contratti delegati, inclusa la prevenzione dei replay e firme che coprano valore della transazione, gas, destinazione e dati della chiamata. Una delega implementata in modo scadente può lasciare all'attaccante un controllo quasi completo sull'account firmatario.
La delega persiste oltre la transazione che la installa. La specifica precisa inoltre che un errore di esecuzione non annulla gli indicatori di delega già elaborati.
Per rimuovere la delega, il protocollo consente un'autorizzazione valida che punti all'indirizzo zero, azzerando così il codice di delega dell'account.
Scopri di più: Polymarket lancia mercati dell'oro e dell'argento da 15 minuti con Chainlink


