Um zero onde deveria haver uma raiz
A Nomad verificava as mensagens recebidas comparando-as com uma raiz confiável. Uma atualização de rotina definiu essa raiz como zero. Pela forma como a lógica de verificação tratava o valor zero, toda mensagem — inclusive as inteiramente forjadas — era avaliada como já comprovada.
O resultado foi que sacar da ponte não exigia nenhum desenvolvimento de exploit. Um observador podia copiar uma transação bem-sucedida, substituir o endereço do destinatário pelo seu e enviá-la. É por isso que várias centenas de endereços distintos participaram em poucas horas. Foi, no sentido mais literal, uma fila.
Por que isso importa mais do que o valor
A maioria dos grandes exploits exige habilidade real e, portanto, é limitada pelo número de pessoas capazes de executá-los. Este não era. Assim que o padrão ficou visível on-chain, a população de participantes potenciais passou a ser todo mundo que estivesse olhando. Qualquer defeito que elimine a exigência de habilidade deve ser tratado como categoricamente mais urgente do que outro de valor nominal equivalente que não a elimine.
As atualizações são a superfície de risco
O defeito foi introduzido por uma atualização de rotina, não pelo desenho original. Contratos atualizáveis deslocam a pergunta de segurança de “isto foi auditado” para “o que aconteceu em cada implantação posterior, e o estado resultante foi verificado”. Valores de inicialização são exatamente o tipo de coisa que passa pela revisão como código padrão.
Linha do tempo
Somente de acréscimo. As correções são adicionadas como entrada datada própria; as entradas anteriores nunca são reescritas.
- A primeira transação de exploit é executada. Em poucas horas, centenas de endereços a replicam copiando o calldata e substituindo pelo próprio endereço. Nomad
- A Nomad confirma publicamente o incidente e pede a devolução dos fundos. Nomad
O que verificar
A Nomad publicou uma análise de causa raiz, com link abaixo, descrevendo o erro de inicialização e a atualização que o introduziu.
A Conisec não hospeda nem linka ferramentas de recuperação, de revogação ou de “verificação”. Depois de um incidente público, atacantes rotineiramente semeiam exatamente esses links usando o nome de publicações que cobrem o caso. Use o canal oficial do próprio projeto afetado, linkado acima, e nada além disso.
Fontes
- Nomad, Nomad Bridge Hack Root Cause Analysis (1 ago 2022)
Não é aconselhamento. Este é um resumo de fatos publicados, não orientação jurídica, tributária ou de segurança. Confira nas fontes primárias linkadas acima.
Última verificação por Conisec Staff.