Um erro de um satoshi acabou de causar um rombo de 3 milhões de dólares no fundo de bitcoin da Osmosis
Um atacante descobriu uma falha no código da ponte da Nomic, cunhou bitcoins que não existiam e transferiu-os para a Osmosis. Ninguém se apercebeu disso durante 74 dias.
A Osmosis anunciou, a 9 de setembro, que o seu ativo de bitcoin em pool, o Alloyed BTC, tinha vindo a funcionar com cerca de um terço das suas reservas em falta desde o final de junho. A exploração deveu-se a um bug no código de reencaminhamento de transações da Nomic, que permitiu a um invasor efetuar um «double-spend» de nBTC — o token da Nomic indexado ao bitcoin — e introduzir comprovativos de depósito falsos no sistema da Osmosis, como se fossem respaldados por BTC reais.
«Recentemente, tomámos conhecimento de uma falha de segurança na cadeia da Nomic», escreveu a bolsa no X. «A falha permitiu ao atacante efetuar um duplo gasto de nBTC, permitindo-lhe enviar comprovativos falsos para a Osmosis. A Osmosis e a IBC não foram comprometidas, uma vez que a falha se encontrava num mecanismo de encaminhamento personalizado da Nomic.»
Esta última parte é importante. A Nomic é uma sidechain de bitcoin baseada no Cosmos, e o nBTC deveria estar no pool «Alloyed BTC» da Osmosis numa proporção exata de um para um com o bitcoin real, juntamente com outras versões «wrapped» como o WBTC e o cbBTC. A falha não se encontrava nos contratos da própria Osmosis nem no protocolo de comunicação entre blockchains que liga as cadeias do Cosmos — residia especificamente na forma como a Nomic processava os depósitos de Bitcoin recebidos.
Quão barato foi
Verdadeiramente barato. De acordo com o investigador independente conhecido como Rarma, que publicou um rastreio da transação e uma análise do código no X antes mesmo da divulgação oficial da Osmosis, a falha permitiu que a Nomic registasse o mesmo depósito de bitcoin duas vezes. Uma cópia foi processada normalmente. A segunda transformou-se em nBTC gratuito, que podia ser cunhado sem qualquer Bitcoin subjacente. Rarma encontrou-a numa única das dezoito rotinas de processamento de depósitos quase idênticas na base de código, e aparentemente custou ao atacante apenas um satoshi para a ativar.
A exploração em si remonta a 25 de junho — e não a setembro, quando a Osmosis foi divulgada publicamente. Ao longo de cerca de 25 transferências entre cadeias, o atacante transferiu cerca de 40 nBTC para a Osmosis. Trata-se de uma hemorragia lenta que esteve à vista de todos durante dois meses e meio, e não de um roubo relâmpago.
Quanto custou realmente
Os números variam um pouco, dependendo de quem está a fazer as contas e do preço do bitcoin utilizado no momento. A Osmosis estimou o montante não coberto em 39,84 nBTC, cerca de 36% do total de garantias da Alloyed BTC — um défice estimado em cerca de 3,15 milhões de dólares. A Osmosis congelou 22,65 BTC que ainda se encontravam no endereço do atacante através de uma atualização de emergência do validador, no valor de algo entre 1,8 milhões e 1,9 milhões de dólares, dependendo do instantâneo. Isso deixa uma lacuna de cerca de 17 BTC, ou algo na ordem de alguns milhões, que os fundos congelados não cobrem. Nenhuma das análises que vi concilia totalmente estes valores, e a Osmosis ainda não publicou uma contabilização detalhada, pelo que o total exato em dólares deve ser considerado como indicativo e não definitivo.

A Osmosis suspendeu a emissão, os resgates e novos depósitos relacionados com a Nomic enquanto resolve esta situação. A negociação de ativos lastreados em bitcoin nos pools existentes continua ativa, com um aviso sobre o risco elevado. Está agora a ser solicitado ao órgão de governação que aprove a apreensão dos 22,65 BTC congelados, juntamente com um reforço proveniente do pool da comunidade, para restabelecer o lastro total do Alloyed BTC.
O que deve preocupar mais as pessoas do que o valor em dólares
As pontes são constantemente alvo de ataques — a Ronin perdeu 600 milhões de dólares, a Nomad perdeu 190 milhões de dólares, a ponte Horizon da Harmony perdeu 100 milhões de dólares, e esta é apenas a lista dos maiores casos dos últimos anos. Três milhões de dólares mal se notam ao lado destes valores. O que é mais preocupante aqui é o intervalo de 74 dias. Uma falha permaneceu no código de produção, foi explorada em pequenos lotes e nem a equipa da Nomic nem o sistema de monitorização da Osmosis a detetaram até que um investigador externo a procurou.
Segundo consta, Rarma encontrou a lógica defeituosa ainda por corrigir no ramo de desenvolvimento da Nomic a 8 de setembro, um dia antes do comunicado público da Osmosis. Ainda não foi confirmado publicamente se isso já foi corrigido. A própria conta da Nomic ainda não tinha publicado uma divulgação correspondente até ao momento da redação deste artigo, o que é, por si só, revelador — no caso de uma exploração que envolve a vossa ponte, na vossa cadeia, o silêncio pode ser interpretado como desorganização ou como uma relutância em assumir a responsabilidade pelo falhanço antes de a análise pós-incidente estar pronta.
Não creio que isto, por si só, abale a confiança na infraestrutura de pontes do Cosmos. Mas o «mecanismo de encaminhamento personalizado» tem um papel de destaque nessa declaração da Osmosis, e vale a pena lembrar que o código personalizado de cada projeto de ponte é exatamente onde estes bugs tendem a surgir — não nas partes padronizadas e fortemente auditadas da pilha, mas no código de ligação personalizado que ninguém submete a testes de esforço tão rigorosos.
Bónus de depósito de 5% até 100 gemas

0% de taxas sobre depósitos e levantamentos de pele.


Bónus de Depósito de 11% + FreeSpin
BÓNUS DE DEPÓSITO EXTRA DE 10% + 2 RODADAS GRÁTIS
Caso grátis e bónus de boas-vindas de 100%
5 caixas gratuitas, diárias gratuitas e bónus

3 caixas grátis e um bónus de 5% adicionado a todos os depósitos em dinheiro.

+5% para depósito


Comentários