Três camadas de defesa, quatro superfícies, nenhum bot vence
A verificação é o núcleo do Caputchin. As portas trabalham juntas; as superfícies são como você as pluga no seu stack. O caminho padrão é o widget mais uma chamada de verify do seu backend. As outras superfícies existem para quando o padrão não serve.
Como uma verificação flui.
O visitante abre sua página. O widget roda as portas. Um token assinado atravessa para o seu backend. Seu backend nos pede para confirmá-lo.
- VisitanteAbre sua página
- Widget do CaputchinCarrega na sua página
- Anti-trapaça de jogoRoda num iframe isolado
- Seu backendRecebe o token embrulhado
- /siteverifyO Caputchin confirma o token
Cada camada encarece um ataque diferente.
Nenhuma camada sozinha pretende vencer todo ataque. O ponto é a composição: quando uma requisição chega ao jogo, ela já pagou o pedágio de cada porta à sua frente. Mapa honesto abaixo.
| Padrão de ataque | Proof of work | Instrumentação do navegador | Anti-trapaça de jogo |
|---|---|---|---|
Scripts de curl e fetchScripts HTTP crus batendo direto no seu endpoint. | Responde a este ataque | ||
Navegadores headlessPuppeteer, Playwright ou Selenium rodando em segundo plano. | Responde a este ataque | ||
Fazendas de bots com navegadores reaisInstâncias reais do Chrome em servidores alugados, às vezes com humanos conduzindo. | Responde a este ataque | Responde a este ataque | |
Solver como serviçoFazendas de resolução pagas que pegam um desafio e devolvem a resposta, muitas vezes com mão de obra humana barata. | Responde a este ataque | Responde a este ataque | |
Modelos de IA de fronteiraModelos de visão e de agente que leem grades de imagens, resolvem quebra-cabeças de OCR e passam CAPTCHAs antigos em milissegundos. | Responde a este ataque |
- Scripts de curl e fetchScripts HTTP crus batendo direto no seu endpoint.Camadas que o respondem
- Instrumentação do navegador
- Navegadores headlessPuppeteer, Playwright ou Selenium rodando em segundo plano.Camadas que o respondem
- Instrumentação do navegador
- Fazendas de bots com navegadores reaisInstâncias reais do Chrome em servidores alugados, às vezes com humanos conduzindo.Camadas que o respondem
- Proof of work
- Anti-trapaça de jogo
- Solver como serviçoFazendas de resolução pagas que pegam um desafio e devolvem a resposta, muitas vezes com mão de obra humana barata.Camadas que o respondem
- Proof of work
- Anti-trapaça de jogo
- Modelos de IA de fronteiraModelos de visão e de agente que leem grades de imagens, resolvem quebra-cabeças de OCR e passam CAPTCHAs antigos em milissegundos.Camadas que o respondem
- Anti-trapaça de jogo
Mais que um jogo. Um motor de verificação.
Um joguinho variado que os humanos jogam em segundos e curtem. Por baixo, ele roda o mesmo manual anti-trapaça que os jogos multijogador competitivos usam para pegar trapaceiros: nossos servidores preparam cada rodada antes de você jogar (autoridade do servidor) e a re-simulam depois (repetição determinística), então o jogo não pode ser falsificado, só jogado. É a camada que nenhum outro CAPTCHA tem, e a razão pela qual o Caputchin existe.
Configuração autoritativa no servidor
- Um ticket assinado de uso único (janela de 30 minutos) cunha a rodada. Gaste uma vez e ele nunca mais pode ser repetido.
- O jogo e sua semente aleatória são escolhidos nos nossos servidores, nunca no navegador, então nada do lado do cliente pode escolher um alvo mais fácil.
- Um jogo diferente do pool a cada vez. Um solver nunca sabe qual vai enfrentar, então não pode pré-treinar.
O mesmo modelo de um servidor de jogo competitivo: o cliente envia só entradas, nunca o veredito.
Repetição determinística
- Suas entradas exatas são repetidas nos nossos servidores sob a mesma semente, dentro de um isolado lacrado sem rede e com orçamento de tempo rígido.
- O passa ou não passa é recalculado por essa repetição, nunca tirado do navegador.
- O código de cada jogo é checado por hash antes de rodar, então o artefato não pode ser trocado por baixo de você.
Construída sobre o mesmo determinismo de que o multijogador em lockstep depende: a rodada é re-simulada a partir da semente para confirmar que foi mesmo jogada.
Isolado na sua página
Um iframe isolado sem rede e sem alcance aos seus cookies, ao seu armazenamento ou ao seu DOM.
Variedade de jogos
Sites diferentes recebem jogos diferentes, e o catálogo não para de crescer.
Repetição lacrada
A repetição roda sem rede e com orçamento de CPU rígido. Nada entra nem sai.
Código à prova de adulteração
Cada artefato de jogo é verificado por hash antes de um único quadro rodar.
Sem perfilamento
A gente não vigia seu mouse nem seu timing. Em vez disso, roda a rodada de novo.
Mais duas portas, empilhadas ao lado
O anti-trapaça de jogo nunca trabalha sozinho. Uma porta de proof of work e a instrumentação do navegador rodam junto, cada uma encarecendo um padrão de ataque diferente. Compostas em série, cada camada que o atacante alcança já pagou um pedágio.
Superfícies de integração
Quatro formas de pôr a verificação na frente de um visitante. Escolha a que combina com o formato do seu código, do seu stack ou da sua equipe.
Lance a verificação em uma única chave de site. Grátis.
Cadastre-se, emita uma chave de site, solte o widget em um formulário. Faça upgrade depois quando precisar de um recurso de um nível mais alto.
Começar grátis