Análise profunda: Ataque de manipulação do NAV do empréstimo relâmpago do cofre Morpho após a desvinculação do USR

robot
Geração de resumo em curso

Escrevendo: Espinafre Espinafre

Em 22 de março de 2026, o protocolo Resolv sofreu uma fuga de chaves privadas, e um atacante criou do nada 80 milhões de USR sem garantia, fazendo o USR cair de $1 para $0,025.

As consequências desta catástrofe não ficaram apenas com os detentores de USR; um grupo mais inteligente executou um ataque de manipulação de NAV de cofres na Morpho.

Este artigo irá detalhar passo a passo a lógica por trás deste ataque.

  1. Primeiro, entender a arquitetura de duas camadas da Morpho

Antes de falar do ataque, é essencial compreender o design da arquitetura da Morpho, caso contrário, tudo ficará incompreensível.

A Morpho é dividida em duas camadas:

Camada inferior:

Morpho Blue (também chamado Morpho Core). É um protocolo de empréstimo extremamente simples e não atualizável. Sua filosofia de design é “sem permissão” — qualquer pessoa pode criar mercados de empréstimo, depositar, emprestar e liquidar.

Cada mercado é definido por cinco parâmetros únicos: ativo de empréstimo, ativo de garantia, limite de liquidação (LLTV), endereço do oráculo, modelo de taxa de juros.

Os mercados são completamente isolados; um problema em um não afeta os outros.

Camada superior:

MetaMorpho Vault (cofre). É um cofre padrão ERC-4626, equivalente a um “produto de fundo”.

Os usuários depositam USDC no cofre, e o administrador do cofre (Curator) é responsável por alocar esses fundos em diferentes mercados Morpho Blue para emprestar e ganhar juros.

Os usuários possuem cotas do cofre (shares), cujo valor aumenta com os juros acumulados.

Fórmula principal — Valor líquido por ação (NAV / Preço por ação): Valor líquido por ação = totalAssets / totalSupply

totalAssets é a soma das posições de fornecimento em todos os mercados (incluindo as emprestadas, pois são “contas a receber”). totalSupply é o total de cotas emitidas pelo cofre. Com a acumulação de juros, totalAssets aumenta, mas totalSupply permanece o mesmo, elevando o NAV — assim você ganha dinheiro.

  1. supply(onBehalf) — qualquer pessoa pode depositar em nome do cofre

Este é o primeiro ponto-chave do ataque.

Na Morpho Blue, a função supply() possui um parâmetro onBehalf. Essa funcionalidade foi criada para facilitar pagamentos por terceiros — por exemplo, contratos de estratégias automatizadas podem depositar em nome do usuário.

Porém, ela é totalmente sem permissão: qualquer pessoa pode especificar qualquer endereço como onBehalf, incluindo o endereço do cofre.

A documentação oficial da Morpho alerta claramente: “Warning: Anyone can supply on behalf of the vault so the call to updateWithdrawQueue that expects a market to be empty can be griefed by a front-run.”

Ao depositar 10.000 USDC em nome do cofre, a posição de fornecimento do cofre nesse mercado aumenta em 10.000, e totalAssets também aumenta em 10.000. Mas o total de cotas (totalSupply) do cofre não muda — pois ninguém depositou novos fundos usando a função deposit() do cofre.

Resultado: o NAV é inflacionado.

Normalmente, isso equivale a “doar” dinheiro ao cofre — você aumenta os lucros de todos os cotistas às suas custas, o que é uma prática idiota. Mas, sob certas condições, isso pode ser explorado.

  1. Supply Cap = 0 ≠ segurança

Após a desancoragem do USR, alguns administradores de cofres rapidamente definiram o Supply Cap do mercado USR/USDC para 0, significando que não podem mais depositar fundos nesse mercado. Parece que o problema foi resolvido?

O problema é que: o Supply Cap é uma limitação ao nível do cofre, não do Morpho Blue.

O administrador do cofre controla apenas a função interna _supplyMorpho().

Porém, supply(onBehalf=vault) interage diretamente com o contrato Morpho Blue, ignorando toda a lógica do nível do cofre: fila de fornecimento (supply queue), limite de fornecimento (supply cap), verificação de permissões do alocador, etc.

Para ilustrar: o administrador fecha a porta da frente (Cap=0), mas um atacante consegue colocar dinheiro diretamente pelo backdoor do Morpho Blue.

  1. Oráculo fixo — a roupa invisível da inadimplência

Este é o segundo ponto-chave.

O mercado USR/USDC usa um oráculo fixo de 1:1. Ou seja, independentemente de quanto o USR caia no mercado externo, no universo Morpho, 1 USR sempre equivale a 1 USDC.

Por que o administrador usaria um oráculo fixo? Porque o USR é uma “stablecoin”, com pouca volatilidade normal. Oráculos fixos evitam “liquidações falsas” causadas por falta de liquidez de curto prazo.

Porém, quando o USR realmente desancla, o oráculo fixo se torna uma catástrofe — os tomadores de empréstimo usam USR sem valor como garantia para pegar USDC, e o protocolo não percebe.

O mecanismo de tratamento de inadimplência do Morpho falha aqui — as versões V1.0 e V1.1 dependem de o protocolo detectar inadimplência para agir.

Com o oráculo fixo, nada é detectado.

  1. Processo completo do ataque — ciclo de cinco etapas

Agora, todas as condições estão presentes. A seguir, as operações atômicas realizadas em uma única transação:

[Detalhes das etapas do ataque]

  1. Por que é necessário um flashloan?

Este é um ponto frequentemente negligenciado. O lucro do ataque vem de “aumentar artificialmente o totalAssets e distribuir o valor por cotas”. Se o atacante não usar um flashloan, ele terá 0% de cotas — mesmo que ele aumente o totalAssets, o valor extra vai para os demais cotistas, e ele não lucra nada.

  1. Quem perdeu dinheiro?

O USDC extra de 12.300 USDC obtido pelo atacante não surgiu do nada. Essa quantia veio da liquidez real de outros mercados saudáveis do cofre.

Quando o cofre faz resgates, ele retira USDC de vários mercados na ordem da fila de retirada (withdraw queue). Como o USR/USDC foi drenado, não há fundos disponíveis ali. Assim, o resgate vem de outros mercados — como wETH/USDC, cbBTC/USDC, etc., que estão operando normalmente.

  1. O efeito cumulativo de três vulnerabilidades

Este ataque não é causado por uma única falha, mas pela combinação de três problemas de design:

[Detalhes das vulnerabilidades]

Conclusão

A filosofia de design minimalista da Morpho — sem permissão, não atualizável, governança mínima — geralmente é uma vantagem. Mas este incidente mostra que o custo do minimalismo é transferir maior responsabilidade para os participantes de camada superior.

Sem validação de oráculos, o administrador deve cuidar disso. Sem restrições ao supply(onBehalf), o nível do cofre precisa de proteções adicionais.

Para os depositantes, “escolher o Curator certo” é mais importante do que “escolher a Morpho”. O protocolo é uma ferramenta; sua segurança depende de quem a usa.

MORPHO-3,79%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixar