Bug bounty
Também conhecido como Programa de bug bounty · Programa de recompensa por vulnerabilidades
Um programa de bug bounty paga pesquisadores de segurança por relatar vulnerabilidades de forma responsável em vez de explorá-las, com recompensas proporcionais à gravidade do problema. Ele mantém o código de um protocolo sob revisão muito depois de as auditorias terminarem.
Todo contrato inteligente em produção é um convite permanente. Se ele guarda dinheiro e tem uma falha, alguém acabará indo procurar. Um bug bounty muda o incentivo ao dar a quem encontra a falha um caminho legítimo e remunerado para relatá-la, de modo que a divulgação se torne um negócio mais vantajoso do que um ataque.
Como funciona um bug bounty
Um programa publica um escopo (quais contratos, sites e sistemas estão cobertos), um conjunto de regras e uma tabela de recompensas. Um pesquisador que encontra um problema envia um relatório privado com detalhes suficientes para reproduzi-lo. A equipe confirma o problema, corrige e paga uma recompensa de acordo com a gravidade. As regras típicas proíbem testes com fundos reais de usuários, exigem manter o problema em sigilo até a correção e excluem problemas já conhecidos e ataques que dependem de chaves roubadas.
Como as recompensas são definidas
As recompensas costumam seguir faixas de gravidade. Um problema crítico, que poderia levar à perda direta de fundos, paga mais, muitas vezes com um teto ligado ao valor em risco; problemas altos, médios e baixos pagam progressivamente menos. O raciocínio é econômico. Se a recompensa é pequena perto do que um atacante poderia levar, alguns descobridores ficarão tentados, por isso os programas sérios em DeFi oferecem recompensas que podem ser altas. Pagar rápido e de forma justa importa tanto quanto o valor da recompensa, porque os pesquisadores lembram quais equipes honram seus programas.
Um exemplo simples
Uma pesquisadora percebe que a função de retirada de um vault arredonda a favor do usuário em um caso raro. Repetido muitas vezes em uma transação, o erro poderia esvaziar o vault aos poucos. Ela descreve os passos de forma privada. A equipe reproduz o bug, pausa a função afetada, publica uma correção e paga uma recompensa de gravidade alta. Nenhum fundo é perdido, e o problema é divulgado publicamente quando a correção já está no ar.
Bug bounty vs. auditoria
Uma auditoria de contrato inteligente é uma revisão agendada e com escopo definido, feita por uma equipe contratada em um momento específico. Um bug bounty é aberto: qualquer pessoa pode olhar, enquanto o programa durar, e o pagamento depende de resultados. As auditorias são mais fortes antes do lançamento; os bounties continuam pagando pela atenção depois, quando o código está no ar e o que está em jogo é real. O monitoramento em tempo de execução acrescenta uma terceira camada ao observar as transações enquanto acontecem.
Riscos e limites
Um bounty só funciona se um pesquisador encontrar o bug antes de um atacante, e se a recompensa valer o tempo dele. O escopo importa: um problema fora dos contratos listados pode não se qualificar, o que pode desviar a atenção para outro lugar. Programas que pagam devagar ou contestam achados válidos perdem a confiança da comunidade de pesquisa. Um bounty também não corrige nada sozinho; a equipe ainda precisa responder rápido, e alguns bugs levam tempo para ser corrigidos com segurança depois de relatados. A existência de um programa diz pouco sobre sua qualidade. O escopo, as regras e o histórico de pagamentos dizem mais do que o valor da recompensa máxima.
Como a Tori Finance usa isso
A Tori Finance mantém seu próprio programa interno de bug bounty, que recompensa pesquisadores que relatam vulnerabilidades em seu código de forma responsável. O programa é separado das auditorias de contratos inteligentes e do monitoramento em tempo de execução, e mantém o código sob revisão enquanto ele está no ar.
Perguntas frequentes
O que é um programa de bug bounty?
Um programa que paga pesquisadores de segurança por relatar de forma privada vulnerabilidades em um sistema, para que possam ser corrigidas antes que alguém as explore.
Como são definidas as recompensas de um bug bounty?
Em geral, pela gravidade. Problemas que poderiam causar perda direta de fundos pagam mais, muitas vezes de forma proporcional ao valor em risco, enquanto problemas menores pagam menos. Cada programa publica sua própria tabela de recompensas e suas regras.
Qual é a diferença entre uma auditoria e um bug bounty?
Uma auditoria é uma revisão agendada, feita por uma equipe contratada em um momento específico. Um bug bounty fica aberto enquanto o código está no ar e paga qualquer pessoa que encontre um problema que se qualifique. Os dois se complementam.
Termos relacionados
Auditoria de contrato inteligente
Uma auditoria de contrato inteligente é uma revisão independente de segurança do código de um protocolo, que busca vulnerabilidades antes de ele entrar no ar ou logo depois. Ela reduz o risco dentro do escopo e da data informados, mas não é uma promessa de que o código está livre de bugs.
Monitoramento em tempo de execução
Monitoramento em tempo de execução é a observação contínua da atividade onchain de um protocolo para sinalizar, e às vezes bloquear, transações suspeitas enquanto acontecem. Ele complementa as auditorias, que revisam o código em um momento específico, observando o que o código está de fato fazendo.
Fontes
- ethereum.org: Ethereum bug bounty programethereum.org
- ethereum.org: Smart contract securityethereum.org
Escrito pela equipe da Tori Finance. Não é recomendação de investimento. Os rendimentos variam; o capital está sujeito a risco.