Segurança e bug bounty

A InstaSwap movimenta fundos dos utilizadores através de contratos de escrow programáticos auditados pela Hashlock (relatório a publicar) e protegidos por signatários aprovadores independentes. Mesmo assim, assumimos que podemos errar. Se encontrar uma forma de roubar, congelar ou desviar fundos, ou de tomar controlo de uma conta, queremos ser os primeiros a saber e pagaremos por isso.

1. Como comunicar

Envie os detalhes por e-mail para o endereço abaixo com o assunto "Security report". Inclua o componente afetado, a chain e o endereço do contrato quando relevante, os passos de reprodução e uma prova de conceito (um teste numa chain bifurcada, um rastreio de pedidos ou um script curto). Se precisar de um canal cifrado, peça-o no primeiro e-mail e nós o preparamos antes de enviar os detalhes.

Comunicar para: support@instaswap.com

2. O que pode esperar de nós

Confirmamos a receção de cada relatório em 2 dias úteis e damos uma primeira avaliação de gravidade em 7 dias. Problemas críticos são mitigados de imediato (os depósitos podem ser pausados e a custódia convertida em reembolsos enquanto se prepara uma correção) e a correção é novamente testada pelos nossos auditores antes de o problema ser fechado. Recebe uma atualização de estado em cada passo e um resumo final quando o problema estiver resolvido.

3. Âmbito

No âmbito:

  • Os contratos factory de escrow e as respetivas implementações de escrow listados na secção 6, em todas as chains onde estão implementados.
  • A camada de aprovação: qualquer forma de fazer uma chamada protegida do escrow ter sucesso sem o número exigido de assinaturas de aprovadores independentes, ou de levar os aprovadores a assinar uma chamada prejudicial.
  • A API pública e o backend (subdomínios api e walletlessapi de instaswap.com) quando o impacto afeta fundos: pagamentos ao destinatário errado, contorno de taxas, pagamento duplo, reembolsos para o endereço errado ou manipulação de uma cotação que cause perda na execução.
  • instaswap.com, o portal de parceiros e o explorer: contorno da autenticação, tomada de controlo de contas, exposição de dados de outros utilizadores.

Fora do âmbito (sem recompensa):

  • Negação de serviço, limitação de tráfego, spam e tudo o que exija tráfego excessivo.
  • Phishing, engenharia social, ataques físicos e problemas em venues, bridges, redes ou carteiras de terceiros pelas quais a InstaSwap encaminha ou com as quais se integra.
  • Decisões de design documentadas na secção 7, incluindo os papéis da chave do proprietário e da chave do operador.
  • Gerações de contratos retiradas, redes de teste, recomendações de boas práticas sem impacto demonstrado, self-XSS, cabeçalhos de segurança em falta e resultados de scanners automáticos sem prova de conceito funcional.

4. Gravidade e recompensas

A gravidade é decidida pela InstaSwap a partir do impacto demonstrado e da probabilidade de exploração. Os valores são em USD e pagos em USDC ou USDT numa chain suportada à sua escolha.

GravidadeImpacto típicoRecompensa
CríticaRoubo ou congelamento permanente de fundos de utilizadores ou da tesouraria; contorno do requisito de aprovadores numa chamada que movimenta fundos.10% dos fundos em risco, mínimo 5.000, máximo 25.000
AltaRoubo de taxas cobradas, congelamento temporário de fundos, reembolsos ou pagamentos entregues ao endereço errado.2.500 a 7.500
MédiaContorno de taxas, contabilidade incorreta, griefing que custa dinheiro à InstaSwap ou aos utilizadores sem roubo.1.000 a 2.000
BaixaProblemas com impacto limitado ou indireto que ainda assim merecem correção.100 a 500

5. Condições de pagamento

  • O primeiro relatório válido de um problema é recompensado. Duplicados e problemas já conhecidos por nós não são.
  • As recompensas são pagas em 14 dias após a confirmação da correção. Para recompensas acima de 2.000 USD pedimos verificação de identidade antes do pagamento, e não podemos pagar a pessoas ou entidades sob sanções.
  • Vários relatórios com a mesma causa raiz contam como um único problema.
  • A InstaSwap pode pausar ou alterar este programa a qualquer momento. Qualquer pausa é anunciada nesta página e os relatórios recebidos antes da pausa são honrados nos termos em vigor quando foram enviados.

6. Contratos auditados no âmbito

A geração atual de escrow foi auditada pela Hashlock (relatório a publicar). O código-fonte está verificado em cada explorador de blocos e publicado no repositório da auditoria. Cada factory abaixo implementa um escrow mínimo por ordem a partir da implementação indicada.

Repositório da auditoria: github.com/Instaswap-Labs/instaswap-escrow-audit

ChainTipoFactoryImplementação do escrow
EthereumFactory de escrow de bridge0x4F8f1d...2686970xfD2a46...209b3C
EthereumFactory de escrow de swap (venues com router)0x11d37E...2aAC860x357086...3dFCEc
EthereumFactory de escrow de swap (venues com pool manager)0x27Cab6...B8A0E20xb7B51D...7C8A86
Arbitrum OneFactory de escrow de split0xB6d617...26c7e80xb0DCC7...e9460f
Arbitrum OneFactory de escrow de swap (venues com router)0xD80Ded...6f309F0x2cA69E...5F98A4
Arbitrum OneFactory de escrow de swap (venues com pool manager)0xe1D6d0...9e719c0xC4B9dD...b1ce5F
BaseFactory de escrow de swap (venues com router)0x8883af...2F53C80x1df6eD...E23e8e
BaseFactory de escrow de swap (venues com pool manager)0xD6C082...750f580x397eFb...672634
OP MainnetFactory de escrow de swap (venues com router)0xFCf062...7054F10xe5F322...027d04
OP MainnetFactory de escrow de swap (venues com pool manager)0xf51be7...E351D60xf668EC...ceA756
PolygonFactory de escrow de swap (venues com router)0xFCf062...7054F10xe5F322...027d04
PolygonFactory de escrow de swap (venues com pool manager)0xf51be7...E351D60xf668EC...ceA756
BNB Smart ChainFactory de escrow de swap (venues com router)0x27Cab6...B8A0E20xb7B51D...7C8A86
BNB Smart ChainFactory de escrow de swap (venues com router)0x4F8f1d...2686970xfD2a46...209b3C
BNB Smart ChainFactory de escrow de swap (venues com pool manager)0xC7045a...eC60dd0x04c178...E9ADA2
Avalanche C-ChainFactory de escrow de swap (venues com router)0x8883af...2F53C80x1df6eD...E23e8e
Avalanche C-ChainFactory de escrow de swap (venues com pool manager)0xD6C082...750f580x397eFb...672634
BlastFactory de escrow de swap (venues com router)0xFCf062...7054F10xe5F322...027d04
BlastFactory de escrow de swap (venues com pool manager)0xf51be7...E351D60xf668EC...ceA756
ZoraFactory de escrow de swap (venues com router)0xFCf062...7054F10xe5F322...027d04
ZoraFactory de escrow de swap (venues com pool manager)0xf51be7...E351D60xf668EC...ceA756
World ChainFactory de escrow de swap (venues com router)0xFCf062...7054F10xe5F322...027d04
World ChainFactory de escrow de swap (venues com pool manager)0xf51be7...E351D60xf668EC...ceA756
UnichainFactory de escrow de swap (venues com router)0xFCf062...7054F10xe5F322...027d04
UnichainFactory de escrow de swap (venues com pool manager)0xf51be7...E351D60xf668EC...ceA756
Robinhood ChainFactory de escrow de swap (venues com router)0xf51be7...E351D60xf668EC...ceA756
Robinhood ChainFactory de escrow de swap (venues com pool manager)0x8883af...2F53C80x1df6eD...E23e8e
ArcFactory de escrow de swap (venues com pool manager)0x3C0313...2e465e0xAF3276...041c09

7. Decisões de design conhecidas

O seguinte é intencional e documentado, e não é recompensado por si só. São bem-vindos relatórios que mostrem como um destes pontos pode ser abusado para além da sua intenção.

  • Cada factory tem uma chave de proprietário guardada numa carteira de hardware. Alterações que relaxam a segurança (conjunto de aprovadores, tesouraria, operador) só produzem efeito após um atraso público de 48 horas; a única ação imediata do proprietário é pausar.
  • As chamadas de rotina ao escrow são enviadas por uma chave de operador, mas cada chamada que movimenta fundos tem de levar assinaturas de 3 dos 4 signatários aprovadores independentes, que voltam a verificar a ordem com os nossos registos antes de assinar.
  • Cada escrow fixa o endereço de reembolso do utilizador na criação. Após o prazo de reembolso, qualquer pessoa pode acionar o reembolso para esse endereço, pelo que os fundos nunca podem ficar presos atrás da InstaSwap.
  • Os swaps são executados em venues de liquidez e redes de terceiros. A sua disponibilidade, preços e slippage estão fora deste programa.

8. Regras e safe harbour

  • Teste apenas com as suas próprias ordens e fundos. Não aceda, modifique ou apague dados de outros utilizadores e não degrade o serviço.
  • Demonstre problemas on-chain numa chain bifurcada ou com montantes mínimos. Nunca explore um problema em mainnet contra fundos reais de utilizadores.
  • Dê-nos pelo menos 90 dias para corrigir o problema e não publique detalhes antes de confirmarmos a correção. Se desejar, damos-lhe crédito público quando estiver resolvido.
  • A investigação que segue estas regras está autorizada. Não tomaremos medidas legais contra investigadores de boa-fé nem os denunciaremos às autoridades pela sua investigação.

Relatórios de segurança e perguntas sobre este programa: support@instaswap.com