# Permita o Lockpick no seu firewall

Se o seu firewall ou a proteção contra bots bloquear o Lockpick, libere as requisições assinadas dele pelo cabeçalho Signature-Agent.

Firewalls, checagens de bots e muros de login podem interromper uma verificação. Quando um deles bloqueia a verificação antes de ela ver o seu site, o relatório fica marcado como Bloqueado e informa o que a impediu, como a checagem de bots da Cloudflare ou da Vercel. Ele não recebe nota, ainda verifica os seus registros públicos, e uma verificação automática pausa e avisa você. Quando a proteção contra bots entra no meio de uma verificação Deep, o relatório mantém tudo o que foi lido antes, diz que a proteção contra bots está funcionando e oferece um prompt para o seu agente de IA que adiciona a regra abaixo. Liberar o Lockpick permite que a próxima verificação termine.

## Como o Lockpick se apresenta

As verificações enviam os mesmos cabeçalhos de um navegador Chrome ou Edge comum, incluindo o user agent, para que a verificação veja o seu site do mesmo jeito que um visitante. De todo modo, um user agent não prova nada: qualquer um pode copiá-lo.

Em vez disso, o Lockpick assina cada requisição que envia ao seu site com o [Web Bot Auth](https://datatracker.ietf.org/doc/draft-meunier-web-bot-auth-architecture/), o padrão aberto para bots provarem quem são. Cada requisição carrega este cabeçalho, uma assinatura de curta duração para o seu domínio que só a chave do Lockpick consegue gerar, e o cabeçalho `Signature-Input` correspondente.

```
Signature-Agent: "https://bots.lockpick.app"
```

As chaves públicas são publicadas em `https://bots.lockpick.app/.well-known/http-message-signatures-directory`. A proteção contra bots que verifica essas assinaturas consegue distinguir uma verificação real do Lockpick de alguém que usa o nome dele, e os provedores que listam o Lockpick como bot verificado o deixam passar sem uma regra sua. Até que o seu faça isso, ou se uma regra sua bloqueia ou desafia todos os bots, adicione a regra abaixo.

## Libere

Adicione uma regra no seu firewall ou na sua proteção contra bots que ignore a checagem de bots e os limites de taxa quando o cabeçalho `Signature-Agent` contiver `bots.lockpick.app`. O Lockpick não verifica a partir de uma lista fixa de endereços IP, então libere pelo cabeçalho, não pelo endereço.

* **Vercel.** No Firewall do seu projeto, adicione uma regra personalizada cuja condição seja Request Header `signature-agent` contains `bots.lockpick.app` e cuja ação seja Bypass, acima de qualquer regra personalizada que desafie ou negue. O Attack Challenge Mode desafia todos os visitantes, exceto bots conhecidos, enquanto estiver ativo, e uma regra personalizada não o suspende, então confira de novo depois de desativá-lo.
* **Cloudflare.** Adicione uma regra personalizada com a expressão `any(http.request.headers["signature-agent"][*] contains "bots.lockpick.app")` e a ação Skip, pulando as demais regras personalizadas, o rate limiting, as regras gerenciadas e o Super Bot Fight Mode (planos pagos), e coloque-a primeiro. O Bot Fight Mode do plano gratuito não pode ser ignorado por nenhuma regra, então ele precisa ser desativado para o Lockpick conseguir passar.
* **Outros firewalls.** Procure uma regra que ignore a proteção contra bots por cabeçalho de requisição. O relatório nomeia Akamai, Imperva, Sucuri, AWS WAF, Azure Front Door, DataDome ou PerimeterX quando a página de bloqueio deles diz quem a serviu, e diz "um firewall" quando não consegue identificar qual respondeu.

> **Careful**
>
> O Lockpick assina cada requisição, mas um cabeçalho sozinho pode ser copiado.
> Use esta regra somente para ignorar checagens de bots e limites de taxa. Nunca
> a use para dar acesso a qualquer coisa atrás de um login.

## Checagens de bots da Cloudflare e da Vercel

Uma checagem de bots é a página que pede a um visitante que espere ou prove que é humano, às vezes com um status "200 OK" comum. O Lockpick reconhece as da Cloudflare e da Vercel pelos marcadores que elas enviam, para na hora e nunca tenta resolver ou contornar uma delas. Também não tenta de novo a partir de outro endereço.

Um firewall que bloqueia um caminho sensível está fazendo o seu trabalho, então isso sozinho nunca interrompe uma verificação. Quando o Lockpick procura arquivos que não deveriam ser públicos (como `/.env` ou `/wp-config.php.bak`) ou rotas comuns (como `/admin`) e o seu firewall responde com a página de bloqueio ou de desafio, o relatório registra esse caminho como protegido e a verificação continua. Só quando várias dessas verificações são recusadas em sequência o Lockpick lê a sua página inicial de novo. Se o firewall recusar a página que ele serviu um minuto antes, ele está bloqueando o próprio Lockpick, e a verificação para. A Deep verifica esses arquivos sensíveis por último, depois das verificações de rotas e de API, e em uma ordem diferente a cada verificação. Ela também só procura arquivos que a sua hospedagem poderia servir: na Vercel, na Netlify ou em um construtor de sites como Shopify ou Webflow, onde só o resultado do build é publicado, ela ignora `.env`, `.git`, dumps de banco de dados e arquivos do servidor, e verifica as suas próprias rotas.

## Por que é gentil com o seu site

* Cada verificação tem um limite fixo: no máximo 10 requisições para um Pulse e 200 para uma verificação Deep.
* As requisições são espaçadas, não enviadas todas de uma vez.
* Uma verificação para cedo se o seu site responder "requisições demais", começar a falhar ou negar o acesso.
* Ela segue as regras do seu robots.txt para cada página que descobre, usando as regras escritas para `Lockpick` ou, quando não há nenhuma, as regras para todos os rastreadores.
* A página que um visitante abre e os arquivos que ela carrega são a exceção. Como o navegador de um visitante, a verificação lê a sua página inicial, os scripts que ela carrega e `/.well-known/security.txt`, mesmo quando o robots.txt pede que os rastreadores se mantenham afastados.
* Se o robots.txt não puder ser lido, a verificação lê apenas esses arquivos e pula todas as outras páginas.
* Ela nunca faz login, não envia formulários e não altera nada.