
Plataformas Verificadas
Quick Links

Onde Permanecer Protegido
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

O preço era legítimo. Carregava a assinatura certa, passou nas checagens do contrato e liquidou trades a um valor que o mercado nunca havia registrado. Nenhum pool foi drenado para forjá-lo. Nenhum flash loan foi tomado para distorcê-lo. Em 15 de julho de 2026, um preço devidamente autorizado tirou cerca de dezoito milhões de dólares de um vault de liquidez na Arbitrum, e quem perdeu esse dinheiro não foram as pessoas que estavam abrindo os trades.
Essa última parte é a história inteira.
Este é um walkthrough da Kodex montado como uma conversa. Lilith conduz a lente de segurança: vinte anos na área, e o hábito de perguntar quem tem as chaves e onde o dinheiro de fato está quando a poeira baixa. Lucia pergunta o que você já está se perguntando. Entre as duas, elas desmontam o exploit da Ostium e a pergunta por baixo dele: em uma perp DEX, quem está do outro lado do seu trade?
Lucia começa onde as manchetes começaram.
"Então a Ostium foi hackeada", ela diz.
Lilith não diz que sim.
"Alguma coisa foi levada", Lilith diz. "Se foi um hack depende do que você acha que quebrou."
Os fatos não estão em disputa. Em 15 de julho um atacante tirou perto de dezoito milhões de dólares em USDC do vault de liquidez da Ostium. Algumas reconstruções on-chain colocam o total movido mais perto de vinte e quatro milhões. O vault tinha cerca de sessenta e três milhões na hora, então o dreno levou perto de um terço dele em uma única sessão. A Ostium pausou todo o trading em poucas horas, e a firma de segurança Blockaid foi a primeira a sinalizar as transações como um ataque. A CoinDesk trouxe o mecanismo; a Decrypt o colocou dentro de uma sequência maior de ataques de oráculo atingindo o DeFi naquele mês.
A Ostium é uma exchange de perpétuos na Arbitrum. Ela deixa você negociar ativos do mundo real, commodities, forex, índices de ações, com alavancagem de até 200x, tudo liquidado em USDC. Se a palavra perpétuo está fazendo um trabalho que você não consegue ver direito, vale corrigir isso primeiro: um perpétuo é um contrato que acompanha um preço sem nunca vencer, o que significa que ele vive ou morre por uma única entrada. O preço que mandam ele acompanhar.
"Então forjaram o preço", Lucia diz. "É esse o hack."
"É essa a suposição que precisa ser checada", Lilith diz. "Eles não forjaram. É isso que torna esse caso digno do seu tempo."
Lucia franze a testa. "Um preço é um número. Se estava errado, alguém forjou."
"Existem dois jeitos de alimentar um sistema com um preço errado", Lilith diz. "O jeito que você está imaginando, e o jeito que de fato aconteceu aqui."
O jeito que você está imaginando é o ataque clássico de oráculo. Alguém pega uma quantia enorme em um flash loan, empurra tudo por um pool de liquidez raso e distorce, por alguns segundos, o preço que aquele pool reporta. O oráculo lê o pool distorcido, acredita, e um mercado de empréstimo ou um perpétuo liquida contra um número que é violenta e obviamente falso. O preço foi forjado na origem. Quebre o pool, quebre o feed.
Não foi isso que aconteceu na Ostium.
Não houve flash loan. Nenhum pool foi empurrado. Os relatórios de preço que drenaram o vault foram assinados por uma chave legítima e entregues por uma peça registrada da própria infraestrutura da Ostium, um componente chamado PriceUpKeep forwarder. O sistema perguntou uma coisa, "este relatório está autorizado?", e a resposta honesta era sim.
"Espera", Lucia diz. "Então como é que isso não é só... o preço?"
"Porque uma assinatura prova quem enviou um número", Lilith diz. "Ela não prova que o número é seguro de usar."
É esta a distinção que realmente importa aqui. O atacante não forjou uma assinatura e não passou escondido pela porta. Ele tinha, ou comprometeu, uma chave que a porta foi construída para confiar, e os relatórios que ele empurrou eram válidos em cada checagem que o contrato sabia fazer. A falha não foi uma fechadura arrombada. Foi uma fechadura que nunca fez a única pergunta que importava.
"Qual pergunta?", Lucia pergunta.
"Quando", Lilith diz. "O contrato nunca perguntou de quando era o preço."
Todo relatório de preço carrega um timestamp. Um sistema de liquidação bem construído trata esse timestamp como uma restrição rígida. Ele rejeita um preço velho demais, e recusa na hora um preço datado no futuro, porque um preço futuro não é informação. É uma afirmação sobre algo que ainda não aconteceu. Essa regra de rejeição tem um nome. É um staleness bound, uma checagem de frescor sobre o dado antes de qualquer dinheiro se mover contra ele.
O contrato da Ostium aceitou um timestamp futuro-datado.
É essa a dobradiça inteira. O atacante enviou relatórios autorizados carimbados com preços que o mercado ainda não tinha alcançado, e o contrato liquidou contra eles como se estivessem ao vivo. Aí ele rodou um loop apertado. Abrir uma posição no preço real de mercado. Injetar um preço futuro-datado mostrando uma grande variação favorável. Fechar a posição contra esse ganho inventado. Embolsar a diferença do vault. Depois de novo. Cada passada compunha a margem da anterior, subindo de alguns milhares de dólares para dezenas de milhares e para centenas de milhares por rodada, um ciclo repetido de abre e fecha que nunca tocou um livro de ordens real.
Um staleness bound não é um recurso opcional. É a diferença entre um preço e uma promessa sobre o futuro.
"Então os trades não eram reais", Lucia diz devagar.
"Os trades eram completamente reais", Lilith diz. "O lucro em cima deles é que era ficção. E ficção liquida em USDC numa boa se nada checa o relógio."
Os relatórios eram reais. As assinaturas eram reais. Os timestamps eram uma mentira sobre o tempo, e o tempo era a única coisa que o contrato esqueceu de verificar.
"Certo", Lucia diz. "Mas se o atacante registrou todo esse lucro falso, alguém pagou. Quem?"
"Agora você está fazendo a pergunta certa", Lilith diz. "E você não vai gostar da resposta."
Quando você abre uma posição alavancada em uma perp DEX, você está negociando contra alguma coisa. Em uma exchange tradicional isso pode ser outra pessoa, ou um market maker. Na Ostium, a coisa do outro lado do seu trade é o vault de liquidez, o pool de USDC depositado que a plataforma chama de OLP. Toda posição vencedora é paga com esse vault. Toda posição perdedora volta para ele. O vault é a contraparte fixa da plataforma inteira.
Então quem enche o vault? Pessoas que depositam nele para ganhar taxas.
"Para ganhar taxas", Lucia repete.
"Para ganhar taxas", Lilith diz. "Que é um jeito muito confortável de descrever virar a banca numa mesa que você não administra."
É esta a parte que sobrevive muito depois de a Ostium consertar o contrato. Se você deposita em um vault de liquidez de perp DEX, você não é um credor e não é um espectador. Você é a contraparte de cada posição aberta na plataforma. Quando uma posição ganha, o seu depósito paga. Normalmente tudo bem, porque com o tempo o lado perdedor mais ou menos compensa o vencedor e as taxas se acumulam para você. O modelo inteiro se apoia em uma suposição. A de que os preços sendo liquidados são reais.
O atacante da Ostium não tirou o dinheiro das posições abertas. Ele registrou ganhos falsos enormes contra o vault, e o vault pagou, exatamente como foi desenhado. Os depositantes que achavam que estavam ganhando rendimento foram os que absorveram a perda. A falha do oráculo não caiu no balanço da plataforma, nem em algum fundo de seguro no abstrato. Caiu neles.
Você era a banca. A banca perdeu.
É o mesmo formato de achar que um produto de "rendimento" simplesmente te paga. O retorno parece limpo até você olhar para o que está sustentando por baixo. A estrutura por trás de um rendimento de stablecoin faz a mesma troca: conforto na superfície, risco de contraparte uma camada abaixo.
Para colocar os dois ataques lado a lado, Lilith os alinha.
| Ataque clássico de oráculo com flash loan | Preço futuro-datado da Ostium | |
|---|---|---|
| O preço foi forjado? | Sim, distorcido na origem | Não, assinado e autorizado de forma válida |
| Precisou de flash loan? | Sim, para mover o pool | Não, nenhuma posição de mercado |
| De onde veio o preço ruim? | De um pool de liquidez manipulado | De uma chave de assinatura real, carimbada para o futuro |
| O que deixou passar? | O oráculo confiou em um pool raso | O contrato aceitou um timestamp futuro |
| Quem absorveu a perda? | O mercado de empréstimo ou o vault | O vault de liquidez OLP, ou seja, seus depositantes |
Dois ataques diferentes, uma vítima idêntica: quem estava sustentando a liquidação. Nos dois casos isso é o pool, e o pool é gente.
"Então o que eu de fato faço com isso", Lucia diz. "Eu não consigo auditar um smart contract."
"Você não precisa auditar", Lilith diz. "Você precisa fazer quatro perguntas, e dá para fazer as quatro antes de depositar um centavo."
Ela as coloca na mesa.
Em que preço o vault confia? Não "ele usa um oráculo", tudo usa um oráculo. Qual, e é um feed só ou vários que precisam concordar. Uma fonte de preço solitária é um ponto único de falha usando um crachá.
Esse preço pode estar velho ou datado para a frente? É exatamente o buraco pelo qual a Ostium caiu. Um sistema de liquidação que aceita um preço sem checar de quando ele é, é um sistema que pode ser avisado do futuro.
Quem é a contraparte do outro lado de cada trade? Se a resposta é um vault de liquidez, e você está nesse vault, a resposta é você. Leia como as perdas são divididas antes de ler o rendimento anunciado.
Para onde vai o seu dinheiro quando a própria infraestrutura falha? A Ostium roda na Arbitrum, e parte de proteger uma posição é saber o que acontece quando a camada por baixo do app trava ou falha. Deposite assumindo que a máquina um dia vai se comportar mal, porque um dia vai.
"Nada disso é sobre ser um trader melhor", Lucia diz.
"Não", Lilith diz. "É sobre saber quais riscos você concordou em carregar. A maior parte do dinheiro perdido no DeFi não é perdida no trade. É perdida em uma estrutura que ninguém leu."
Existe diferença entre uma posição indo contra você e uma posição liquidada contra um preço que não existe. A liquidação que você vê chegando é um bicho diferente da que você não vê. Uma é o mercado fazendo o seu trabalho. A outra é o encanamento fazendo algo que nunca deveria fazer.
"Me dá a versão honesta", Lucia diz. "Está seguro ou não?"
"Seguro é a palavra errada", Lilith diz. "A versão honesta é que uma perp DEX move um risco específico para uma pessoa específica, e muitas vezes essa pessoa não foi avisada de que é ela."
Depositar em um vault de liquidez pode pagar bem. Também pode te entregar uma perda que não tem nada a ver com nenhum trade que você fez, porque o vault responde por cada posição da plataforma e por cada preço em que a plataforma confia. O vault da Ostium foi drenado por um preço que estava assinado, autorizado e datado um passo em um futuro que o mercado não tinha alcançado. O contrato acreditou. Os depositantes pagaram.
Ler a sua contraparte antes de comprometer capital não é cautela. É a disciplina inteira, a coisa para a qual o Framework de Sobrevivência da Kodex fica apontando de volta: saiba o que você está sustentando antes de o mercado te mostrar.
A Ostium vai lançar um staleness bound. O próximo protocolo pode esquecer uma checagem diferente. A pergunta não muda.
Antes de depositar, descubra com o dinheiro de quem o vault paga quando o preço está errado. Se você não consegue dizer, assuma que é o seu.
É um pool de fundos depositados que age como a contraparte de cada trade em uma exchange de perpétuos. Na Ostium o vault se chama OLP. Os depositantes fornecem USDC para ganhar uma fatia das taxas de negociação, e em troca o capital deles paga as posições vencedoras e absorve as perdas da plataforma. O vault é a banca, e os depositantes são o caixa dela.
As duas descrições erram o mecanismo. Nada foi forjado e nenhum pool foi manipulado no sentido clássico. O atacante usou um relatório de preço legitimamente assinado, entregue por uma infraestrutura registrada, que carregava um timestamp futuro-datado que o contrato deixou de rejeitar. Foi um preço autorizado usado de um jeito não autorizado.
Em uma perp DEX como a Ostium, os provedores de liquidez. Porque o vault é a contraparte de cada posição, os lucros falsos registrados por um atacante saem dos depósitos do vault. As pessoas que forneceram essa liquidez para ganhar taxas absorvem a perda direto, enquanto as posições comuns da plataforma ficam intactas.
É uma regra de frescor que rejeita um preço se o timestamp dele estiver velho demais ou datado no futuro. Um contrato de liquidação com staleness bound se recusa a mover dinheiro contra um dado que não é atual. O contrato da Ostium aceitou um preço futuro-datado, o que deixou o atacante liquidar trades contra ganhos que o mercado ainda não tinha produzido.
Um ataque com flash loan forja o preço na origem tomando capital emprestado e distorcendo um pool de liquidez raso por um instante. O atacante da Ostium nunca tocou um pool e não precisou de flash loan. O preço que ele usou era genuíno e corretamente assinado. A falha foi a checagem ausente sobre de quando aquele preço era, não sobre se ele era real.