A ponte Axelar da Secret Network perdeu aproximadamente US$ 4,67 milhões em 10 de junho em um exploit, só detectado em 17 de junho. Em um postmortem publicado na sexta-feira pela empresa de pesquisa blockchain Common Prefix, o atacante explorou uma falha em um contrato de token customizado CW20-ICS20 que não validava de qual canal as transferências de entrada se originavam, permitindo a criação de tokens “wrapped” da Secret sem lastro. A vulnerabilidade existia desde a implantação inicial do contrato no início de 2023, e a defasagem de detecção de sete dias ocorreu porque a criptografia padrão de saldo da Secret Network ocultou o colateral ausente on-chain.
O exploit mirou um contrato modificado CW20-ICS20 na Secret Network que lida com ativos enviados via ponte a partir da Axelar. O contrato cunhou versões “wrapped” da Secret de ativos “wrapped” da Axelar, conhecidos como saTokens, sem verificar de qual canal uma transferência de entrada se originou. O atacante criou uma cadeia Cosmos com um único validador, abriu um canal IBC para o contrato da ponte e fez a auto-relay de pacotes forjados carregando denominações de token compatíveis com a allow-list do contrato. O contrato não conseguia distinguir essas denominações das que chegavam pelo canal legítimo da Axelar e cunhou saTokens contra elas. Ao resgatar os saldos cunhados de volta pelo canal legítimo da Axelar, os ativos reais mantidos em escrow foram liberados. O rombo afetou sete saTokens: saUSDT, saUSDC, saDAI, saWETH, saWBTC, saWBNB e sawstETH, segundo a Common Prefix.
A Common Prefix rastreou a vulnerabilidade até a implantação inicial do contrato no início de 2023. Uma migração de 5 de março que atualizou o bytecode para novos recursos levou adiante as mesmas checagens ausentes, e o ataque de 10 de junho atingiu esse código migrado. Em seu post no fórum, a Secret Network afirmou que o contrato da ponte foi adaptado de um modelo de escrow para um modelo de mint para a integração com a Axelar, e as duas funções que teriam validado a origem de uma transferência foram removidas nesse retrabalho. A Secret Network acrescentou que nenhuma auditoria externa foi solicitada pela Axelar como parte da integração. A falta apareceu em 17 de junho quando uma transferência cross-chain normal na Axelar falhou com um erro mostrando que a conta de escrow não tinha mais saldo suficiente para cobri-la. Investigadores rastrearam a lacuna até sete saques feitos em 10 de junho.
O comitê de emergência da Axelar desativou as conexões da Secret e da Secret-SNIP após a descoberta, e o roteador cross-chain Squid removeu a Secret do seu front-end. A Axelar afirmou que seu protocolo central nunca foi afetado e que nenhuma outra cadeia, canal ou conta de escrow foi tocada. O time da Secret foi notificado para interromper e migrar o contrato afetado. Em um post de acompanhamento, a Axelar afirmou: “Nem a Axelar nem o IBC foram comprometidos. O contrato inteligente de token explorado não foi desenvolvido, implantado ou mantido pela Axelar”. A equipe disse que a falha não estava em lógica específica da Axelar nem no próprio IBC.
A Secret Network afirmou em seu post no fórum que cerca de US$ 770 mil dos fundos roubados permaneciam na carteira do atacante na Axelar no momento do post. A Secret Network disse que identificou esses ativos, sinalizou como recuperáveis e pediu à equipe da Axelar para congelá-los ou trabalhar com sua comunidade para isso, “um pedido que decidiram não perseguir”. A Axelar disse separadamente que está coordenando com exchanges e autoridades policiais e não forneceu um prazo para restaurar a conexão. Dados do Axelarscan vistos pela The Block mostraram que a carteira Axelar do atacante ainda mantinha 6,2 WBTC, 239.324 USDC, 64,04 WBNB e 248,85 AXL, no valor de aproximadamente US$ 672 mil pelos preços no momento da publicação.
O rastreamento da Common Prefix mostra que o atacante retirou os ativos roubados para a Axelar, roteou-os via Osmosis usando encaminhamento automático de pacotes e depois fez a ponte para Ethereum, trocando majoritariamente por ether no CoW Protocol. O ether foi dividido em aproximadamente 30 transferências para carteiras novas antes de cair em endereços de depósito na KuCoin, ChangeNow e HitBTC. Ambos os tokens tiveram alta de preço nas últimas 24 horas apesar do anúncio. O AXL da Axelar estava up cerca de 1,3%, enquanto o SCRT da Secret estava up 5,6% no dia anterior até a hora da publicação.
O que causou o exploit da ponte da Secret Network de US$ 4,67 milhões em 10 de junho?
O exploit ocorreu porque um contrato customizado de token CW20-ICS20 na Secret Network falhou em validar de qual canal as transferências de entrada se originavam. O atacante criou uma cadeia Cosmos com um único validador, abriu um canal IBC para o contrato da ponte e fez a auto-relay de pacotes forjados que o contrato aceitou como legítimos, cunhando saTokens sem lastro que depois foram resgatados por ativos reais mantidos em escrow.
Por quanto tempo a vulnerabilidade existiu antes do ataque de 10 de junho?
A Common Prefix rastreou a vulnerabilidade até a implantação inicial do contrato no início de 2023. Uma migração de 5 de março que atualizou o bytecode para novos recursos levou adiante as mesmas checagens ausentes, e o ataque de 10 de junho explorou esse código migrado.
Quanto do dinheiro roubado permaneceu recuperável no momento da publicação?
Dados do Axelarscan vistos pela The Block mostraram que a carteira Axelar do atacante mantinha 6,2 WBTC, 239.324 USDC, 64,04 WBNB e 248,85 AXL, no valor de aproximadamente US$ 672 mil pelos preços no momento da publicação. A Secret Network afirmou que solicitou à Axelar que congelasse esses ativos; a Axelar recusou a pedido.
Notícias relacionadas
A Starknet lança transferências privadas para ativos protegidos
DriftProtocol lança verificador de token de recuperação DFX após exploit de 1º de abril
Ponte do Aztec Private Rollup é explorada para roubo de US$ 2,15 milhões em ativos
Alerta da SlowMist: o protocolo Little Boy Plus na BSC é hackeado, USDT 377.642 foi drenado