Detecção de agentes de IA
Detecte agentes de IA, bots e navegadores automatizados acessando seu site com cside fingerprinting.
Agentes de IA e navegadores autônomos criam sessões reais em navegadores reais. Checagens tradicionais de User-Agent não bastam. cside fingerprinting expõe esses visitantes pelo campo bot retornado pela Events API.
O que o cside detecta
A Events API retorna um campo bot para cada chamada de identificação. Ele combina sinais de automação, checagens de ambiente e fingerprints comportamentais para identificar:
- Agentes de navegador com IA - agentes autônomos controlando um navegador real
- Navegadores headless - Puppeteer, Playwright, Selenium e outros frameworks de automação
- Runtimes instrumentados - navegadores controlados por WebDriver, CDP ou protocolos similares
- Bots e scrapers clássicos - crawlers, scrapers e tráfego automatizado que mascara o User-Agent
A detecção roda server-side depois que o script client-side envia um fingerprint, então não pode ser evitada apenas alterando headers do navegador.
Ler o sinal de bot
Cada resposta da Events API contém um campo bot. Para decisões básicas, derive botOrNot de bot.result:
{
"bot": {
"result": "not_detected",
"score": 0,
"signal": []
},
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ..."
}
| Campo | Significado |
|---|---|
bot.result | Status de detecção. Use "detected" ou "not_detected". |
bot.score | Pontuação numérica de bot para esta resposta. |
bot.signal | Array de sinais que contribuíram para a decisão de bot. |
O cside detecta cerca de 95% dos bots básicos com esse sinal. Para detecção e enforcement mais precisos, use smart detections e combine vários sinais de fingerprint antes de bloquear.
const botOrNot = identification.bot.result !== "not_detected";
Combine bot com outros sinais para maior confiança:
tampering: true- atributos do navegador foram modificadosdeveloper_tools: true- developer tools estão abertosvirtual_machine: true- sessão rodando em VM ou sandboxhigh_activity_device: true- muitas identificações no mesmo dispositivo
Nenhum sinal isolado é definitivo. Trate bot como indicador principal e use outros sinais como reforço antes de agir.
Exemplo de integração
No seu JavaScript do lado do cliente, solicite o token de sessão de fingerprint. O campo de resposta continua se chamando token:
const fingerprintResponse = await sendClientTelemetry({
accountId: "1234567890",
});
if (!fingerprintResponse?.ok) {
throw new Error("A requisição de telemetria de fingerprint falhou.");
}
const { token: sessionToken } = await fingerprintResponse.json();
No seu backend, troque o token de sessão com https://api.cside.com/token/v1/client e então avalie o campo bot:
const response = await fetch("https://api.cside.com/token/v1/client", {
method: "POST",
headers: { "Content-Type": "text/plain" },
body: sessionToken,
});
const identification = await response.json();
const botOrNot = identification.bot.result !== "not_detected";
if (botOrNot) {
return respondWithChallenge();
}
Próximos passos
- Leia a referência da Events API
- Revise Recuperar datapoints
- Fale com vendas para ativar fingerprinting
Thanks for your feedback!