Como aconteceu o roubo à Binance — andamento provisório

A Binance repôs 200 milhões de USDT, que foram levados por hackers em apenas 72 segundos

Às 5h42 de 30 de outubro (horário de Pequim), a Binance transferiu 200 milhões de USDT da sua própria carteira Binance 124 para a carteira quente Binance 14. Mas essa carteira já estava sob o controlo do atacante, que levou os 200 milhões de USDT apenas 72 segundos depois.

O que aconteceu, reconstituído a partir dos registos on-chain:

04:20, o atacante configurou uma delegação para a Binance 14 usando EIP-7702 e assinou antecipadamente 50 autorizações, uma das quais foi ativada
04:24, a Binance 16 assinou por conta própria e transferiu 55,74 milhões de USDT para o atacante
05:42, a Binance repôs 200 milhões de USDT na Binance 14, que já estava comprometida
05:44, o atacante levou todos esses fundos, mas a Tether já tinha congelado o endereço
06:22, a Binance suspendeu os levantamentos; 17 minutos depois, a Binance 14 voltou a ser drenada: 128 ETH e mais de 50 tipos de tokens
06:55, a Binance começou a transferir as moedas restantes para carteiras frias, mas, às 06:57, a delegação do atacante ainda estava ativa e não tinha sido revogada
Depois do roubo, foram transferidos 2.199 ETH para a Binance 14, dos quais 2.198 ETH foram levados; entraram 206 milhões de USDT, dos quais 204 milhões foram levados.
A maior dúvida é que cada autorização precisa ser assinada com a chave privada da Binance 14, e a Binance 16 também assinou a transferência com a sua própria chave privada. Isto não parece um caso em que alguém foi enganado para assinar uma única vez; parece mais que todo o sistema de assinaturas foi comprometido.
Informações compiladas a partir de dados on-chain; prevalecem os comunicados oficiais da Binance.