Autenticar solicitações com a autenticação do Web Bot Auth (experimental)

O Google está testando o uso do rascunho da internet Web Bot Auth do IETF, um novo protocolo criptográfico que ajuda os sites a validar a autenticidade dos bots. Estamos testando o protocolo com alguns agentes de IA hospedados na infraestrutura do Google. Este guia explica o que é o Web Bot Auth, o status atual e como implementar a verificação na fase experimental.

O que é o Web Bot Auth?

O Web Bot Auth é um protocolo criptográfico experimental usado para autenticar solicitações enviadas por bots. Em vez de depender apenas de cabeçalhos e endereços IP autodeclarados, o Web Bot Auth permite que os agentes assinem criptograficamente as solicitações.

O uso do Web Bot Auth ajuda os proprietários de sites a identificar o tráfego automatizado nos sites e impede que outros agentes tentem falsificar agentes confiáveis. O Web Bot Auth pode trazer os seguintes benefícios:

  • Certeza criptográfica: vá além dos cabeçalhos facilmente falsificados para uma identidade verificada e desacople a identidade do agente dos endereços IP.
  • Melhor observabilidade: receba insights mais claros sobre como os agentes interagem com seu conteúdo.
  • Preparação para o futuro: ajude a estabelecer uma web em que provedores de agentes e sites possam criar confiança mútua e tomar decisões de acesso fundamentadas.

Status atual do Web Bot Auth: experimental

A implementação do Web Bot Auth pelo Google é experimental pelos seguintes motivos:

  • O Web Bot Auth é atualmente uma especificação de rascunho desenvolvida pelo Grupo de trabalho da WBA do IETF e pode mudar com o tempo. O Google continua envolvido no Grupo de Trabalho à medida que ele evolui.
  • Atualmente, a verificação de bots com base em user-agent e IP é o padrão de fato, com décadas de sistemas, políticas e práticas recomendadas criadas em torno dela. Mudar isso exige tempo e uma abordagem cuidadosa. Estamos em fase inicial, ainda avaliando as características técnicas e as possíveis implicações do protocolo para o ecossistema.

O que isso significa?

O status experimental significa que:

  • Nem todos os user agents do Google usam o Web Bot Auth.
  • O Google ainda não está assinando todas as solicitações de agentes que usam o protocolo.
  • Recomendamos que, além da autenticação do Web Bot Auth, você continue usando endereços IP, DNS reverso e strings de user agent à medida que lançamos gradualmente o tráfego assinado.

Para quem tiver interesse em participar da fase experimental, vamos fornecer orientações sobre como reconhecer e adicionar os agentes de IA do Google à lista de permissões.

Como permitir que os agentes de IA do Google usem o Web Bot Auth

Se você é um desenvolvedor ou administrador de sistemas e quer adicionar nossos agentes experimentais de IA à lista de permissões, implemente a verificação usando o protocolo Web Bot Auth:

Usar um produto ou serviço compatível com o Web Both Auth

Os principais serviços de detecção de bots, CDNs e WAFs são compatíveis com o Web Both Auth. Alguns serviços de infraestrutura fornecem maneiras de pesquisar o user agent Google-Agent e adicioná-lo à lista de permissões. Consulte seu provedor para saber as etapas exatas. Um subconjunto de solicitações feitas pelo Google-Agent é assinado com o Web Both Auth. Nesses casos, elas são autenticadas como https://agent.bot.goog. Se o provedor for compatível com o protocolo, provavelmente ele fará essa verificação automaticamente.

Verificar solicitações por conta própria

Se quiser autenticar as solicitações por conta própria, consulte as assinaturas de mensagens HTTP para especificação automatizada de arquitetura de tráfego e exemplos de implementações no GitHub. Em geral, as principais etapas do protocolo são:

  1. Busque o conjunto de chaves públicas do nosso agente em https://agent.bot.goog/.well-known/http-message-signatures-directory e armazene em cache de acordo com o cabeçalho Cache-Control.
  2. As solicitações participantes enviadas ao seu servidor terão o cabeçalho da solicitação HTTP Signature-Agent definido como g="https://agent.bot.goog". Observe o rótulo g=.
  3. Verifique o cabeçalho Signature de acordo com o Signature-Input, seguindo o padrão de assinaturas de mensagens HTTP (RFC 9421). Use os cabeçalhos Signature e Signature-Input rotulados como g.
  4. Volte para a verificação baseada em IP, já que nem todas as solicitações são assinadas.
Etapas de verificação do Web Bot Auth

Para solicitações sensíveis à latência, retorne a resposta com antecedência e valide a assinatura na janela de validade. Nesse caso, a sanção vai ocorrer depois do fato, e você pode aplicá-la aos pedidos futuros do autor da chamada.

Próximas etapas