BernuviaBernuvia

Segurança e transparência

Seu dinheiro está em um contrato que você pode ler

Quando você compra na Bernuvia, a Bernuvia não guarda seu USDC: ele fica em um contrato público na Polygon até a compra ser encerrada. Aqui estão os endereços, o que o contrato garante, a auditoria que passou, e a que ainda não passou, e como nos avisar se você encontrar uma falha.

Os contratos

Tudo roda na rede principal da Polygon (chain id 137). Cada endereço leva ao explorador: lá você pode ler o código e cada transação.

Contrato de custódia · MarketplaceEscrow

Código verificado

Recebe o pagamento do comprador e o retém até ser liberado ao vendedor ou reembolsado. É o único lugar onde está o dinheiro de uma compra.

Código-fonte verificado no Polygonscan (correspondência exata). Solidity 0.8.24, otimizador com 200 execuções, construído sobre OpenZeppelin: AccessControl, ReentrancyGuard, Pausable, SafeERC20 e EIP-712.

Endereço 0x33C6eFD7523821c2AB51d874e440Ac8A0C97f409

Ver no Polygonscan

Cobrança da assinatura · SubscriptionCollector

Código verificado

Cobra a assinatura de vendedor em USDC com limites fixados na cadeia: o vendedor define um preço máximo e um período, e o operador só pode cobrar até esse máximo, uma vez por período e sempre para a tesouraria. Mudar a tesouraria leva 48 horas.

Código-fonte verificado no Polygonscan (correspondência exata, licença MIT). Vive no mesmo repositório que o contrato de custódia, com o mesmo compilador e a mesma base OpenZeppelin.

Endereço 0x3860f37D6066AF02811b24FE66D0bd00F693AD21

Ver no Polygonscan

USDC · Circle

Contrato de terceiros

A moeda de todas as compras: o USDC nativo da Circle na Polygon. Não é um contrato da Bernuvia.

Endereço 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359

Ver no Polygonscan

O que o contrato de custódia garante

Estas regras não são aplicadas por um servidor da Bernuvia: estão escritas no contrato, e qualquer pessoa pode conferi-las no código verificado.

O dinheiro nunca passa pela Bernuvia

O USDC vai da wallet do comprador direto para o contrato. A Bernuvia não o custodia em momento algum.

Só duas saídas

O dinheiro de uma compra só pode ser liberado ao vendedor ou reembolsado ao comprador. Não há uma terceira via.

Cada um saca o que é seu

Os pagamentos são creditados e cada parte saca quando quiser. Um endereço bloqueado não pode travar os recebimentos dos demais.

A disputa, antes da liberação

Uma disputa só pode ser aberta antes de vencer a liberação automática, então ninguém pode reabrir uma compra já encerrada.

Uma disputa não fica pendurada

Se uma disputa passa 30 dias sem resolução, qualquer pessoa pode encerrá-la e o contrato reembolsa o total ao comprador.

A comissão tem teto na cadeia

O máximo da comissão é governado no contrato, e cada cotação precisa ficar abaixo desse teto.

Prazos limitados

A janela de liberação automática é limitada no contrato a entre 1 hora e 365 dias; o comprador e o vendedor nunca podem ser o mesmo endereço.

Cotações assinadas e de uso único

Cada preço é assinado com EIP-712 e só serve uma vez. Na revisão não se encontrou nenhuma via para roubar o principal nem para reutilizar uma assinatura.

Auditoria

O contrato de custódia passou por uma auditoria interna adversarial antes de ir para a rede principal. Isto é exatamente o que foi feito e o que foi encontrado.

Método

  • Três revisões adversariais independentes, cada uma com sua lente: fundos e reentrância; controle de acesso e assinaturas; máquina de estados e griefing.
  • Análise estática com Slither 0.11.5.
  • Uma invariante de conservação de fundos verificada sobre 250 operações aleatórias.
  • 18 testes em Hardhat, com um de regressão para cada achado.

Achados

9 achados: 1 crítico, 1 alto, 3 médios, 2 baixos e 2 informativos. Todos os críticos, altos e médios foram corrigidos antes do deploy na rede principal; os 2 baixos foram mitigados operacionalmente.

O contrato de cobrança da assinatura passou por sua própria revisão interna: 15 testes e 7 achados, todos corrigidos ou aceitos com justificativa.

Segurança da plataforma

Fora da cadeia, o que protege sua conta e seus downloads.

  • Verificação em duas etapas, e um código adicional para as ações sensíveis: um saque exige sua assinatura e um código enviado ao seu e-mail.
  • Os tokens do MCP e da API têm permissões limitadas: nunca podem assinar um pagamento, sacar fundos nem alterar a conta.
  • A tesouraria é uma wallet multiassinatura.
  • As sessões expiram por inatividade.
  • Cabeçalhos de segurança em cada resposta: CSP com nonce por requisição, COOP e CORP.
  • Cada download leva sua soma de verificação SHA-256.

Reportar uma vulnerabilidade

Se você encontrar uma falha de segurança, queremos saber antes de qualquer pessoa. É assim que você nos conta:

Escreva pelo formulário de contato

Coloque «Segurança» no assunto e conte o que encontrou, como reproduzir e qual o impacto.

Se tiver conta, use o reporte de falhas do painel

O botão «Relatar um problema» do painel chega à mesma equipe e fica ligado à sua conta.

Dê-nos tempo para corrigir

Confirmamos o recebimento e avisamos quando estiver corrigido. Pedimos que não publique até lá.