Visão geral
A Midas Chain é uma L2 de OP Stack que liquida na Ethereum, com MIDS como token de gas nativo. Antes de ela movimentar dinheiro real, estamos pagando pesquisadores de segurança para encontrar o que está errado nela.
- Duas trilhas: os contratos da própria rede e a forma como a rede é configurada e exposta à internet.
- Cada achado de severidade alta ou média é um envio separado, com uma prova de conceito que funcione. Achados de severidade baixa vão em um único relatório de QA por participante.
- As recompensas saem de um fundo fixo, dividido por severidade e por quantas pessoas encontraram o mesmo bug.
- Os envios são feitos apenas pelo portal criptografado e ficam privados até a publicação dos resultados.
Escopo
O código em revisão é publicado como um repositório próprio, fixado em um commit do monorepo da Midas, com os testes, uma visão geral da rede para auditores e os problemas conhecidos. O link do repositório aparece aqui quando o concurso começar.
Repositório do escopoPublicado quando o concurso começar
Commit fixado
Tamanho924 nSLOC
Contratos da rede
O emissor de MIDS, o único meio de emitir MIDS na rede (um limite vitalício de 20.000.000.000, queimas que nunca liberam espaço sob esse limite e uma fila de 48 horas que o guardião pode cancelar); o cofre que guarda o saldo de cada usuário para cada aplicação da rede; a ponte de saída rápida; e a representação ERC-20 do token MIDS.
Configuração da rede e endpoints públicos
O intent do op-deployer e os arquivos de gênese e rollup gerados (token de gas personalizado, papéis, destinatários das taxas), os parâmetros da pilha de nós e a porta de entrada pública do RPC com sua lista de métodos permitidos.
| Arquivo | Trilha | Tipo | nSLOC |
|---|
| Carregando o escopo. |
Problemas conhecidos
O KNOWN_ISSUES.md do repositório do escopo lista as premissas de confiança e os riscos aceitos. Repetir um deles não rende nada; mostrar que um é pior do que o descrito está no escopo. Os principais:
- Um único sequenciador. A resistência à censura vem da inclusão forçada pela Ethereum, não do sequenciador.
- Safes detêm todos os papéis de atualização e administração. A Safe de administração pode atualizar os predeploys do token de gas e, com eles, as regras do emissor. Achados que exigem que uma Safe aja de má-fé estão fora do escopo.
- Os motores de liquidação do cofre são confiáveis quanto ao que movimentam; o cofre garante quem pode se tornar um deles e com quanto aviso prévio.
- A ponte rápida confia no seu atestador. Qualquer outra pessoa liberar o depósito em garantia, ou bloquear um reembolso após o vencimento, está no escopo.
- As taxas de gas são recolhidas pelos cofres de taxas e enviadas à tesouraria, não queimadas.
- Negação de serviço por volume contra o RPC público está fora do escopo. Uma requisição que pare, reverta ou alcance um namespace proibido do nó está no escopo.
Fora do escopo
- Contratos e clientes do OP Stack sem modificações. Como a Midas os configura está no escopo; bugs neles vão para o programa de recompensas da própria Optimism.
- Aplicações: Pactol, Predikon, Lydos e as stablecoins Midas Dollar (MDLR) e Midas Gold (MGLD). Elas terão sua própria revisão antes do lançamento na rede principal.
- Código exclusivo da rede de testes, mocks e faucets, e arquivos do repositório do escopo marcados como contexto.
- Serviços de terceiros, os sites e este portal (reporte-os pelo security.txt).
- Qualquer coisa que exija um multisig de administração, uma chave de operador ou um servidor comprometidos, engenharia social, phishing ou acesso físico.
Severidade
A severidade combina impacto e probabilidade, avaliada sobre o escopo como implantado, com os problemas conhecidos como dados.
| Probabilidade | Impacto alto | Impacto médio | Impacto baixo |
| Alta | Alta | Alta | Média |
| Média | Alta | Média | Baixa |
| Baixa | Média | Baixa | Baixa |
Impacto altoRoubo ou congelamento permanente de fundos, cunhar MIDS acima do limite ou sem passar pelos donos, tomar um papel de dono ou administrador, parar ou reverter a rede, ou alcançar um namespace do nó que o público nunca deve alcançar.
Impacto médioCongelamento temporário de fundos, a saída de um usuário bloqueada por mais tempo que o aviso documentado, ações maliciosas que custam dinheiro aos usuários, ou uma regra do protocolo quebrada sem roubo direto.
Impacto baixoTratamento de estado, verificações ausentes sem caminho para perda, eventos, comentários e documentação que divergem do código.
Probabilidade é a facilidade e a frequência com que as condições ocorrem: quem pode disparar, quanto custa, o que precisa ser verdade antes.
Recompensas
O fundo é definido em dólares americanos e dividido em 90% para achados de severidade alta e média e 10% para relatórios de QA. Cada prêmio é calculado em dólares e pago em MIDS, com vesting, conforme a seção de pagamento abaixo.
- Achados válidos do mesmo bug formam um grupo. Cada autor de um grupo com n autores ganha pontos: alta 10, média 3, multiplicado por 0,9 elevado a (n - 1) e dividido por n.
- O melhor relatório de cada grupo é selecionado para o relatório final e ganha 30% a mais. Uma duplicata parcial ganha 25%, 50% ou 75% de uma cota completa.
- O fundo de severidade alta e média é pago em proporção aos pontos.
- O fundo de QA é dividido igualmente entre os relatórios com nota A; o melhor relatório de QA conta em dobro. As notas B e C não ganham nada.
- Se não houver nenhum achado válido de severidade alta ou média, esse fundo se junta ao fundo de QA.
Exemplo: um achado de severidade alta encontrado por três pessoas e um de severidade média encontrado por uma. Cada autor do achado alto ganha 10 x 0,81 / 3 = 2,7 pontos, o selecionado 3,51; o autor do achado médio ganha 3. Total de 11,91 pontos, então o autor do achado médio recebe 3 / 11,91 do fundo de severidade alta e média.
Pagamento em MIDS
- A quantidade de MIDS de um prêmio é o valor em dólares dividido pelo preço de referência: o preço em dólares americanos por MIDS, informado antes do início do concurso. Ele não muda depois do início.
- O MIDS existe a partir da rede principal da Midas Chain. Depois da gênese da rede principal, os prêmios são cunhados em um contrato de vesting na Midas Chain, uma concessão por vencedor.
- Cada concessão tem um cliff de 12 meses que começa na data dos resultados. Nada pode ser liberado antes do fim do cliff.
- Uma concessão só é criada para um vencedor que passou pelo KYC e definiu um endereço de recebimento no portal, e ela paga somente esse endereço.
- O endereço e o código-fonte do contrato de vesting serão publicados nesta página quando ele for implantado.
Preço de referênciaPreço de referência a ser anunciado antes do início do concurso
Cronograma
InscriçãoAberta agora
ConcursoDatas a anunciar
AvaliaçãoCerca de duas semanas após o fim do concurso
Prazo de recursoTrês dias após os resultados preliminares
Resultados e pagamentosOs resultados são publicados depois que todos os recursos forem respondidos. As concessões são criadas após a gênese da rede principal da Midas Chain para os vencedores que passaram pelo KYC, e são liberadas no mínimo 12 meses após a data dos resultados.
Avaliação e recursos
- Os juízes fazem a triagem de cada envio, agrupam duplicatas, definem a severidade final, dão nota aos relatórios de QA e escolhem o melhor relatório de cada grupo.
- Os juízes são revisores identificados que não participam. Se a carteira de um juiz estiver registrada como participante, ela perde os dois papéis até o conflito ser resolvido.
- Quando a avaliação termina, você vê o status, a severidade e a nota dos seus envios e tem três dias para recorrer de cada um uma vez, com motivos ligados ao código e a estas regras.
- Os resultados só são publicados depois que o prazo de recurso termina e todos os recursos são respondidos. A decisão dos juízes após o recurso é final.
Regras
- Envie apenas pelo portal em onmidas.xyz/audit/portal, enquanto o concurso estiver em andamento. Nada enviado por outro meio conta.
- Um achado de severidade alta ou média por envio, com uma prova de conceito que rode no repositório do escopo no commit fixado. Um relatório de QA por participante para todos os achados de severidade baixa.
- Escreva em inglês. Diga o que quebra, onde, para quem e como você corrigiria.
- Teste localmente ou em um fork. Nunca teste contra a rede de testes pública, o RPC dela, qualquer sistema em produção ou fundos de outras pessoas.
- Mantenha os achados em sigilo até a publicação dos resultados. Publicar ou compartilhar um achado antes desclassifica o achado e o autor.
- Uma identidade por pessoa. Contas duplicadas, conluio e plágio desclassificam todas as contas envolvidas.
- Achados gerados sem entendimento, como saídas de ferramentas não verificadas, são inválidos. Spam repetido pode levar à suspensão.
- Os juízes decidem severidade, validade e duplicatas de acordo com estas regras. A Midas pode alterar as regras antes do início do concurso; vale para você a versão que aceitou na inscrição.
Elegibilidade e KYC
- Qualquer pessoa pode participar, exceto funcionários e prestadores da Midas e suas famílias, os juízes e quem já revisou este código para a Midas.
- Os vencedores precisam passar pela verificação de identidade (KYC) antes de a concessão ser criada. Pessoas em jurisdições sancionadas, ou em listas de sanções, não podem ser pagas.
- Você é responsável pelos impostos sobre a sua recompensa. A Midas pode precisar das suas informações fiscais para pagar você.
- Antes da criação de uma concessão, é preciso definir no portal um endereço de recebimento que possa guardar MIDS na Midas Chain. A concessão paga somente esse endereço.
Porto seguro e divulgação
Se você pesquisar dentro destas regras, a Midas trata o seu trabalho como autorizado: não tomaremos medidas legais contra você nem pediremos a ninguém que tome, e diremos isso se um terceiro tomar. As regras que sustentam essa promessa:
- Use apenas suas próprias contas, redes de teste, implantações locais e forks. Não acesse, altere nem destrua dados ou fundos de outras pessoas.
- Não degrade nem interrompa nenhum serviço em funcionamento, incluindo a rede de testes e o RPC público dela.
- Reporte pelo portal e mantenha o achado em sigilo até a publicação dos resultados, ou até a Midas concordar por escrito com uma divulgação antecipada.
- Uma vulnerabilidade em um sistema em produção encontrada fora do concurso deve ser enviada para o endereço do security.txt, não para o portal.
O porto seguro cobre a sua pesquisa dentro destas regras. Não cobre a violação de nenhuma outra lei.
Classificação
A classificação aparece aqui quando os juízes publicarem os resultados.
| Posição | Apelido | Alta | Média | Nota de QA | Prêmio |
|---|
Perguntas frequentes
Preciso de uma carteira?Não. Você pode entrar com um código enviado por e-mail. Entrar com uma carteira é uma assinatura, nunca uma transação.
Posso enviar antes do início?Não. Inscreva-se agora; o portal abre para envios quando o concurso começar.
Posso editar um envio?Retire-o e envie novamente enquanto o concurso estiver em andamento. Vale o horário do novo envio.
Quem vê o meu relatório?Só você e os juízes. Relatórios e anexos ficam criptografados no armazenamento; os avisos à equipe trazem o número do envio, nunca o conteúdo.
Como provo o que enviei?Cada envio mostra o SHA-256 do seu relatório. Guarde-o.
Quando recebo meu prêmio?Depois da gênese da rede principal da Midas Chain, ele é cunhado em uma concessão de vesting para você, que só pode ser liberada após um cliff de 12 meses a partir da data dos resultados.
E as stablecoins e as aplicações?Estão fora do escopo aqui e terão sua própria revisão antes do lançamento na rede principal.