Pressione ESC para fechar

Rede GIWA Falsa: 766 ETH Roubados em Golpe de Bridge L2 Falsa

Análise detalhada de um golpe sofisticado envolvendo uma mainnet falsa da GIWA, que em 27/09/2026 resultou na perda de 766 ETH por parte dos usuários e comprometeu a exchange descentralizada (DEX) DYORSWAP devido à integração de um RPC falso.

Enganação de Outro Nível: Como Falsificar uma Blockchain?

Eu estava dando aquela olhada no feed de monitoramento de segurança e... quase derrubei meu café. Setecentos e sessenta e seis Ethers. Simplesmente evaporaram. Se fosse o clássico phishing de biblioteca ou exploit de contrato com flash loan, eu diria "beleza, nada novo sob o sol, já vi de monte". Mas esse cenário foi construído com uma elegância e malícia impressionantes. Os golpistas subiram uma mainnet falsa da GIWA, conectaram a um DEX de terceiros e limparam os usuários em alguns milhões de dólares.

Vamos destrinchar esse incidente nos mínimos detalhes, porque sob uma ótica de engenharia e arquitetura, vale muito a pena analisar. Como especialista em InfoSec e CTO atuante, quase tirei o chapéu para a audácia da implementação — embora, claro, ninguém queira estar na pele do pessoal da DYORSWAP agora.

Espera aí, dá mesmo para "falsificar" uma blockchain de Camada 2 (L2)? Para quem está de fora, soa absurdo, mas no mundo EVM uma rede não tem nada de mágica; é basicamente um conjunto de convenções e endpoints RPC.

Os invasores pegaram uma stack open-source (provavelmente fazendo um fork de algo como o OP Stack) e rodaram o seu próprio nó. Mas só subir o servidor não basta; eles precisavam convencer carteiras e aplicações de que aquilo era o produto oficial da exchange sul-coreana Upbit, sendo que a verdadeira GIWA nem tinha lançado oficialmente em mainnet ainda.

Eles colocaram hardcoded na configuração do nó o Chain ID oficial — o número 9134, que a equipe da GIWA havia registrado com antecedência para o seu futuro blockchain. E é exatamente aqui que mora a grande vulnerabilidade de todo o ecossistema: carteiras como o MetaMask validam redes com base em strings de configuração e IDs, e não por raízes de confiança criptográficas ligadas aos criadores reais.

E foi bem aí que a DEX DYORSWAP caiu do cavalo. Eles adicionaram esse RPC falso na própria infraestrutura na tentativa de surfar o hype da rede nova antes de todo mundo.

Sabe, antigamente quando eu mesmo fazia auditorias de smart contracts por conta própria, a gente sempre pensava: beleza, o front-end pode ser clonado, o RPC pode ser trocado, mas o contrato inteligente da bridge é sagrado, afinal o código roda direto na blockchain do Ethereum! E é exatamente aí que armadilha mais sutil desse ataque foi armada.

Por Que os Usuários Não Desconfiaram de Nada?

Os usuários não desconfiaram de nada porque a bridge parecia exatamente com a interface nativa para transferir fundos do Ethereum para a rede L2 da GIWA. A galera assinava transações no MetaMask, mandando seus preciosos ETH direto para o contrato inteligente de depósito na mainnet.

Tecnicamente, esse contrato foi escrito pelos golpistas para imitar o funcionamento de um localizador de depósitos padrão. Assim que a transação era validada na rede principal, os fraudadores ganhavam controle total dos fundos. Em troca, o usuário recebia tokens falsos sem nenhum respaldo no saldo da L2 falsa. Os números na tela subiam, criando a ilusão de um bridge bem-sucedido, enquanto o Ether de verdade já voava para as carteiras dos organizadores, evaporando em mixers. No fim das contas, 1.335 endereços únicos rodaram, deixando cerca de 767,7 ETH presos narapadura. E o melhor (ou pior): conseguiram sacar limpo uns 766.3 ETH gastando o mínimo possível de gás.

A equipe da DYORSWAP tirou onda e bancou mais de 200 ETH do próprio bolso para reembolsar a galera. Respeito muito essa postura com a reputação da marca, embora aquela brecha arquitetônica na validação de conexões RPC externas vá exigir muito suor para ser fechada.

Agora vamos para a parte prática. Quer evitar virar patrocinador de estelionatário se você curte ser o primeiro a testar novas blockchains? Montei um script em Python para checar e verificar nós RPC antes de você sequer pensar em conectar sua carteira neles.

#!/usr/bin/env python3
import requests
def rpc_call(rpc_url, method, params=None):
    if params is None:
        params = []
    payload = {
        "jsonrpc": "2.0",
        "method": method,
        "params": params,
        "id": 1
    }
    response = requests.post(rpc_url, json=payload, timeout=10)
    response.raise_for_status()
    data = response.json()
    if "error" in data:
        raise RuntimeError(f"{method}: {data['error']}")
    return data.get("result")
def verify_evm_node(rpc_url, expected_chain_id):
    try:
        chain_id_hex = rpc_call(rpc_url, "eth_chainId")
        chain_id = int(chain_id_hex, 16)
        net_version = rpc_call(rpc_url, "net_version")
        client_version = rpc_call(rpc_url, "web3_clientVersion")
        block_number_hex = rpc_call(rpc_url, "eth_blockNumber")
        block_number = int(block_number_hex, 16)
        latest_block = rpc_call(
            rpc_url,
            "eth_getBlockByNumber",
            ["latest", False]
        )
        print("=" * 60)
        print(f"RPC URL         : {rpc_url}")
        print(f"Chain ID        : {chain_id}")
        print(f"Expected ChainID : {expected_chain_id}")
        print(f"Net Version     : {net_version}")
        print(f"Client Version   : {client_version}")
        print(f"Block Number     : {block_number}")
        if latest_block:
            print(f"Latest Block Hash: {latest_block.get('hash')}")
            print(f"Latest Block Num : {int(latest_block['number'], 16)}")
            print(f"Parent Hash      : {latest_block.get('parentHash')}")
            print(f"Timestamp        : {int(latest_block['timestamp'], 16)}")
        print("=" * 60)
        checks = []
        checks.append(chain_id == expected_chain_id)
        try:
            checks.append(int(net_version) == expected_chain_id)
        except Exception:
            checks.append(False)
        checks.append(block_number > 0)
        checks.append(
            latest_block is not None
            and latest_block.get("hash")
            and latest_block.get("parentHash")
            and latest_block.get("number")
        )
        if all(checks):
            print("VERIFICATION PASSED")
            return True
        print("VERIFICATION FAILED")
        return False
    except Exception as e:
        print(f"ERROR: {e}")
        return False
if __name__ == "__main__":
    verify_evm_node(
        "https://your-rpc-endpoint",
        9134
    )

Anote a regra de ouro: nunca confie em listas de redes vindas de perfis duvidosos no Twitter ou DEXs não verificadas, a menos que o projeto oficial publique os endpoints exatos através de seus canais oficiais e seguros (nada de redes sociais, confira a documentação oficial ou o site com certificado SSL válido). A Upbit já deixou claro com todas as letras que a mainnet deles nem foi lançada e que qualquer RPC circulando por aí agora é golpe puro.

Resumir este post do blog com:

FAQ

Os criminosos implantaram um nó Layer 2 compatível com EVM usando o Chain ID oficial 9134 ainda não lançado da GIWA, conectaram um contrato de depósito de bridge fraudulento e enganaram 1.335 carteiras para transferir ETH real em troca de saldos L2 fictícios.

A corretora descentralizada verificou a legitimidade da rede automaticamente apenas com base na correspondência do Chain ID 9134, deixando de realizar a validação criptográfica de raiz ou de cruzar informações com os comunicados oficiais da equipe da Upbit.

Desenvolvedores e usuários devem cruzar as respostas RPC usando métodos nativos como net_version, inspecionar a continuidade dos cabeçalhos dos blocos via eth_getBlockByNumber e confiar exclusivamente em canais de documentação oficial verificados criptograficamente.
Oleg Filatov

As the Chief Technology Officer at EXMON Exchange, I focus on building secure, scalable crypto infrastructure and developing systems that protect user assets and privacy.

With over 15 years in cybersecurity, blockchain, and DevOps, I specialize in smart contract analysis, threat modeling, and secure system architecture.

At EXMON Academy, I share practical insights from real-world...

...

Deixe seu parecer

O seu endereço de e-mail não será publicado. Campos obrigatórios estão marcados *