A Radix Foundation informou em 17 de setembro que uma vulnerabilidade introduzida durante uma refatoração do código do Radix Engine em 2023 foi explorada em 31 de agosto. O ataque permitiu retirar cerca de US$ 1,26 milhão de vários cofres digitais. Como a falha afetava o Radix Engine — responsável por executar transações e verificar a titularidade dos ativos —, os validadores da Radix interromperam temporariamente o consenso, e as transações na blockchain ficaram suspensas por mais de 10 dias.
O incidente não se limitou aos ativos efetivamente roubados. Os investigadores concluíram que a vulnerabilidade poderia, em tese, ter sido usada contra qualquer cofre da rede, incluindo tokens mantidos em contas de utilizadores, aplicações e pools de liquidez. Para plataformas de negociação e fornecedores de liquidez, o ponto central foi a incapacidade da camada de execução de impor corretamente os limites de autorização destinados a proteger os ativos armazenados nos cofres.
26 transações movimentaram vários ativos
Uma reconstrução do livro-razão da comunidade identificou 26 transações de exploração realizadas pelo atacante entre as 16:02 e as 16:57 UTC de 31 de agosto. As operações movimentaram aproximadamente 458.915 USDC, 72.420 USDT, 61,08 ETH, 6,35 Wrapped Bitcoin, 536,16 SOL e 32,91 BNB. Considerando os preços de mercado de 31 de agosto, o conjunto valia cerca de US$ 1,26 milhão. As duas stablecoins representavam aproximadamente US$ 531.300.
O atacante também retirou 13.000 XRD de um dos cofres para pagar as taxas de transação. Em seguida, os ativos roubados foram transferidos por meio da Hyperlane para Ethereum, BNB Chain e Solana, onde foram trocados por ETH. A Radix Foundation afirmou que a ponte Hyperlane funcionou conforme projetado: os ativos foram obtidos primeiro por meio do Radix Engine e só depois movimentados através do serviço entre redes. Até ao momento, não há indicação de comprometimento de chaves privadas.
O valor transferido pode não refletir todo o impacto económico do episódio. Os investigadores indicaram que a falha não estava limitada aos ativos de várias redes retirados diretamente pelo atacante. Outros tokens e ativos mantidos em cofres de toda a rede também poderiam ter ficado expostos ao mesmo risco.
Refatoração de 2023 introduziu a falha
A Radix Foundation afirmou que o defeito foi introduzido pela equipa de desenvolvimento da RDX Works em junho de 2023, durante um trabalho de limpeza e reorganização do código do Radix Engine. A vulnerabilidade permaneceu na rede por mais de três anos antes de ser explorada em 31 de agosto de 2026.
O problema estava relacionado com a forma como o engine processava referências a cofres. Uma transação podia usar um endereço interno para apontar para o cofre de outro utilizador e passar essa referência a um contrato inteligente específico. O Radix Engine permitia então chamar uma função padrão de levantamento sem aplicar corretamente a verificação de titularidade do cofre, deixando de rejeitar um pedido não autorizado.
Pelo desenho previsto, apenas o proprietário de um cofre ou uma transação autorizada pode retirar os ativos nele depositados. O defeito poderia permitir que um atacante acedesse a fundos em contas de utilizadores, aplicações e pools de liquidez sem obter a assinatura do proprietário dos ativos.
O código também tinha passado por uma revisão de segurança independente. A Zellic auditou o protocolo Radix em 2024, incluindo o núcleo do engine onde o defeito estava localizado, mas não identificou a vulnerabilidade de autorização. Como a falha teve origem numa refatoração anterior, o caso mostrou como alterações de manutenção aparentemente rotineiras podem modificar pressupostos de segurança existentes sem serem detetadas por auditorias convencionais.
Validadores suspenderam o consenso
Depois de confirmarem que o problema estava na camada de execução das transações, e não numa única aplicação, os validadores da Radix coordenaram a resposta. Voluntariamente, retiraram uma quantidade suficiente de participação do processo para impedir a rede de alcançar consenso e processar novas transações.
A interrupção durou mais de 10 dias. A correção do protocolo acrescentou verificações para impedir que referências restritas a cofres fossem utilizadas com funções padrão de levantamento. Uma reconstrução do livro-razão da comunidade indica que as transações dos utilizadores foram retomadas em 11 de setembro.
O incidente também provocou perdas secundárias em pools de liquidez. Depois de o atacante retirar ativos de várias redes de um dos lados de alguns pares de negociação, as proporções de preço dos pools ficaram distorcidas. Outra conta aproveitou os preços anormais para retirar milhões de XRD dos pools afetados. O episódio mostrou que, mesmo depois de os ativos inicialmente roubados deixarem a rede, uma vulnerabilidade na camada de execução pode continuar a gerar perdas através de distorções de preço e alterações nas condições de liquidez.
Radix amplia testes e procedimentos de emergência
A Radix Foundation informou que as medidas de acompanhamento incluirão a ampliação dos testes de regressão, o reforço dos procedimentos de revisão de segurança e a formalização das ações de emergência adotadas pelos validadores para restabelecer a segurança da rede. O trabalho não se concentrará apenas no encerramento do caminho de código explorado, mas também na revisão de todas as alterações que afetem a lógica de autorização.
A Fundação afirmou ainda que o trabalho de segurança terá de considerar a evolução das ferramentas de análise de código assistidas por inteligência artificial, que, na sua avaliação, podem ajudar atacantes a localizar falhas antigas. A divulgação do incidente não estabeleceu se o atacante utilizou alguma ferramenta específica.
Para programadores e validadores, a prioridade imediata é garantir que a manutenção de rotina não altere o modelo de permissões sem testes e revisão suficientes. Para utilizadores e fornecedores de liquidez, as questões centrais continuam a ser a aplicação consistente das verificações de titularidade dos cofres e a capacidade de ativar rapidamente os procedimentos de emergência revistos num incidente semelhante. Esses pontos estão diretamente ligados à segurança dos ativos Radix e à estabilidade operacional da rede.