Uma ferramenta autônoma de segurança de IA detectou um bug no XRP Ledger que, se não fosse detectado, poderia permitir que um invasor roubasse fundos de qualquer conta na rede sem nunca tocar nas chaves privadas da vítima.
A vulnerabilidade, divulgada quinta-feira pelo XRPL Labs, estava na lógica de validação de assinatura da alteração Batch, uma atualização pendente que permitiria que múltiplas transações fossem agrupadas e executadas juntas.
A alteração ainda estava em fase de votação entre os validadores e não havia sido ativada na rede principal, o que significa que nenhum fundo esteve em risco. Mas o caminho da exploração foi o pior possível para um blockchain.
Aqui está o que o bug fez em termos simples. As transações em lote permitem que os usuários agrupem várias operações em uma. Como as transações individuais dentro do lote não possuem assinaturas próprias, o sistema depende de uma lista de assinantes do lote para confirmar se todas as contas envolvidas autorizaram o pacote.
A função de validação que verificou esses signatários apresentou um erro crítico de loop. Se encontrasse um assinante cuja conta ainda não existia no livro-razão e cuja chave de assinatura correspondesse à sua própria conta – o caso normal para uma conta totalmente nova – ele imediatamente declarava toda a verificação bem-sucedida e parava de olhar o resto da lista.
Um invasor poderia explorar isso construindo um lote com três transações. O primeiro cria uma nova conta controlada pelo invasor. A segunda é uma transação simples dessa nova conta, tornando-a um assinante obrigatório. O terceiro é um pagamento da conta da vítima ao invasor.
Como a nova conta ainda não existe quando a validação é executada, a verificação do signatário termina logo após a primeira entrada e nunca verifica a segunda. Os fundos da vítima são movimentados sem que suas chaves sejam envolvidas.
A Apex, ferramenta de segurança autônoma da Pranamya Keshkamat e Cantina AI, identificou a falha por meio de análise estática da base de código em 19 de fevereiro e apresentou uma divulgação responsável. A equipe de engenharia da Ripple validou o relatório na mesma noite com uma prova de conceito independente.
A resposta foi rápida. Os validadores da Lista de Nós Únicos da rede foram imediatamente aconselhados a votar “Não” à alteração.
Uma versão de emergência, ondulada 3.1.1, foi publicada em 23 de fevereiro, marcando tanto o Batch quanto as alterações fixBatchInnerSigs relacionadas como não suportadas para evitar que sejam ativadas. Uma substituição corrigida chamada BatchV1_1 foi construída e está em revisão, sem data de lançamento definida.
O fato de uma ferramenta de IA ter descoberto isso é notável por si só.
XRPL Labs disse que adicionaria pipelines de auditoria de código assistidos por IA como uma etapa padrão em seu processo de revisão daqui para frente, juntamente com análise estática expandida projetada especificamente para capturar o tipo de saída prematura de loop que causou esse bug.
Fontecoindesk



