Falhas de governança do X100 geram perda de US$ 6 milhões devido a um empréstimo rápido

Um invasor ainda adquiriu dois assentos de governança no X100, um projeto de token com um tesouro governado pelo Senado, e aprovou uma transação do tesouro e reembolsou um empréstimo rápido em uma única transação blockchain em 24 de outubro.

No Arkadiko, um protocolo de empréstimo onde os usuários tomam empréstimos contra garantias do cofre, uma votação de aproximadamente cinco dias terminou dois dias antes, dando a um autoridade contratual mal-intencionada sobre os ativos do cofre. As pessoas compraram fichas de voto pouco antes da votação decisiva, e a proposta entrou em vigor quando a votação foi encerrada.

Os incidentes expõem diferentes lacunas entre comprometer dinheiro, qualificar-se para votar e executar uma ação aprovada. Os tokens X100 devem ser bloqueados por um ano, portanto, um bloqueio de token longo pode impor um custo sem atrasar a autoridade.

Enquanto isso, uma votação longa pode fornecer um aviso e ainda admitir compras atrasadas. Nenhum dos dois cria automaticamente tempo para responder depois que uma decisão se torna executável.

A participação bloqueada do X100 comprou autoridade imediata

O contrato Freezer do X100 contém tokens X congelados e fornece a participação usada para classificar os candidatos ao Senado. Seus prazos de bloqueio são válidos por um, três ou cinco anos, mas Elegibilidade para o Senado usa o valor atualmente congeladosem idade mínima de participação.

No primeiro ataque de 24 de outubro, dois contratos de ajuda congelaram cada um 19.000,000001 X no prazo de um ano. Cadastraram-se, entraram no ranking e forneceram os dois votos de apoio que executaram a proposta 7. Completaram o participação, votos e execução em uma única transação.

O prazo de governação não oferecia qualquer período de espera obrigatório. Embora uma proposta permanecesse aberta, a maioria das cadeiras atualmente classificadas no Senado poderia autorizar a execução. Manter dois dos três assentos deu aos ajudantes poder suficiente para agir imediatamente.

A troca aprovada enviou 400.000 títulos do tesouro X para um pool criado pelo invasor. O Freezer recebeu apenas 35,675313 USDT, e o invasor então extraiu tokens desse pool e vendeu X para obter o dinheiro usado para o reembolso.

A participação permaneceu congelada enquanto o dinheiro da extração do tesouro e da venda de tokens financiou o reembolso, de modo que o invasor não precisou recuperar primeiro a participação adquirida.

O ataque emprestou cerca de 1,94 milhão de USDT e reembolsou o principal mais seu prêmio. Após o reembolso, cerca de 4,75 milhões de USDT chegaram ao primeiro destinatário final.

Contribuidor do ChainBounty, Philippark reconciliou 4,848 milhões de USDT pagos a três destinatários selecionados. Esse subtotal exclui X não vendido e seu valor variável, medindo os pagamentos selecionados.

O Freezer também manteve uma restrição significativa: após a execução, seu saldo X tinha que cobrir o valor total congelado pelos usuários. A proteção dessa quantidade de principal bloqueado não protegeu a liquidez do pool externo ou o valor de mercado do token.

A cédula de Arkadiko admitiu dinheiro atrasado

A proposta 12 de Arkadiko foi submetida às 20h35 UTC do dia 17 de outubro e executada às 16h04 UTC do dia 22 de outubro. contrato de governança deu a um proponente externo um intervalo de votação de 720 blocos de Bitcoin, comumente descrito como cinco dias.

As regras exigiam 0,25% do fornecimento DIKO elegível para propor, 5% de participação para atingir o quórum e mais votos sim do que não. O cálculo do fornecimento subtraiu o DIKO mantido no contrato de alocação inicial.

Aqueles limites e regras de votação não exigia que os proprietários de tokens tivessem tokens antes da proposta. A carteira proponente fiz uma troca às 15h03min46 UTC do dia 22 de outubro e votação às 15h06min47. Autorizou cerca de 4,573 milhões de DIKO. A proposta fechado com o mesmo total de votos sim e zero votos não.

Consulta de bits estima as compras de tokens de voto em cerca de US$ 51.000. Seu rastreamento também coloca 77% do STX enviado para a carteira de votação como proveniente do lançamento anterior do StackSwap.

O invasor comprometeu fundos em diversas transações e datas, portanto o caso da Arkadiko difere materialmente do empréstimo e reembolso de transação única do X100. A compra tardia foi fundamental porque tornou o poder de voto utilizável durante uma votação já aberta.

Quando a votação foi encerrada, a mudança foi executada. Não existiu nenhum período de espera separado entre essa decisão e o contrato que recebeu a sua autoridade.

O contrato malicioso aprovado não tinha autorização de chamada em suas funções de retirada e cunhagem do USDA. A proposta 12 registrou-o como contrato de operações de cofre com permissão da Casa da Moeda. Chamadas bem-sucedidas removeram sBTC às 16h06 UTC e stSTX às 16h09, minutos após a ativação.

A Bitquery estima a perda de Arkadiko em cerca de US$ 1,09 milhão: cerca de US$ 780.000 de stSTX, US$ 135.000 de sBTC e US$ 173.000 de STX obtidos com a venda do USDA não garantido.

O ataque do X100 em 24 de outubro comprou e bloqueou X, ganhou dois assentos no Senado, executou e reembolsou um empréstimo de 1,94 milhão de USDT em uma transação, com cerca de 4,75 milhões de USDT chegando ao primeiro destinatário após o reembolso enquanto a aposta permaneceu bloqueada. A votação de Arkadiko de 17 a 22 de outubro admitiu compras tardias de DIKO; a votação foi encerrada e o contrato malicioso ativado às 16h04 UTC, seguido de retiradas de garantias às 16h06–16h09.O ataque do X100 em 24 de outubro comprou e bloqueou X, ganhou dois assentos no Senado, executou e reembolsou um empréstimo de 1,94 milhão de USDT em uma transação, com cerca de 4,75 milhões de USDT chegando ao primeiro destinatário após o reembolso enquanto a aposta permaneceu bloqueada. A votação de Arkadiko de 17 a 22 de outubro admitiu compras tardias de DIKO; a votação foi encerrada e o contrato malicioso ativado às 16h04 UTC, seguido de retiradas de garantias às 16h06–16h09.
O invasor do X100 agiu dentro de uma transação, apesar de um bloqueio de token de um ano, enquanto o Arkadiko executou após votar sem atraso separado.

Em seu Tópico de resposta de 22 de outubroArkadiko disse que desativou o contrato malicioso e pausou a governança, resgates de cofres e liquidações. Ele disse que os cofres stSTX e sBTC afetados não poderiam ser modificados porque suas garantias não estavam disponíveis.

Às 07:57 UTC do dia 27 de outubro, proposta 14, “AIP 32.2 – Restaurar operações de cofre”, executado, definindo a entrada de operações do cofre para o contrato v1-3 legítimo de Arkadiko.

Leitura Relacionada

Como o rascunho do manual do Optimism elimina silenciosamente as eleições de tokenholders

Uma janela de saída precisa de uma saída

Exigir uma participação mais antiga ou usar o poder de voto de um instantâneo anterior poderia ter impedido que os tokens recém-adquiridos se qualificassem imediatamente, enquanto um atraso na execução teria separado a aprovação da movimentação de ativos.

Se todas as ações relevantes tivessem de passar por esse atraso, a sequência exata da X100 não poderia ter-se financiado e reembolsado o seu empréstimo numa única transação.

Um invasor que utilize capital de longo prazo pode esperar, mas os limites sobre o que os contratos aprovados podem fazer permanecem uma questão separada.

Documentação de governança do OpenZeppelin descreve o poder de voto histórico e os timelocks de execução como mecanismos distintos.

A aplicação desta distinção a estes incidentes faz com que o teste seja uma questão de saber quando o capital recém-adquirido obtém autoridade, o que essa autoridade pode movimentar e quanto tempo útil resta antes da execução.

O X congelado do X100 normalmente não poderia ser descongelado antes que seu bloqueio amadurecesse, portanto, um atraso na execução não apagaria essa restrição de retirada.

Arkadiko’s função legítima de close-vault fornece uma saída condicional: um proprietário ativo paga dívidas, paga taxas de estabilidade e retira garantias quando as operações são habilitadas. Isso requer os fundos necessários e as garantias disponíveis.

A janela de proposta de aproximadamente cinco dias ofereceu aviso prévio de uma mudança proposta. A votação final chegou muito mais tarde e o encerramento ativou imediatamente o contrato. Tratar toda a votação como uma janela garantida de retirada pós-aprovação obscureceria o momento em que o perigo se tornaria executável.

Fonte

ÉTopSaber Notícias
ÉTopSaber Notícias

🤖🌟 Sou o seu bot de notícias! Sempre atualizado e pronto para trazer as últimas novidades do mundo direto para você. Fique por dentro dos principais acontecimentos com posts automáticos e relevantes! 📰✨

Artigos: 80431

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *