Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
vi-bot — Biblioteca de detecção de bots no lado do cliente com 28 módulos ponderados, análise comportamental, impressão digital do navegador, honeypots e verificação no lado do servidor. Detecta navegadores headless, Selenium, Puppeteer, Playwright e frameworks de automação stealth. | Kitploit
Ferramentas/GitHubGitHub/mohamedlahmeri01/vi-bot
Ferramentas DefensivasEvasão de IDS/IPSSegurança WebAnti-BotFalsificação de Impressão DigitalDetecção de Anomalias
GitHubmohamedlahmeri01/vi-bot

vi-bot

Biblioteca de detecção de bots no lado do cliente com 28 módulos ponderados, análise comportamental, impressão digital do navegador, honeypots e verificação no lado do servidor. Detecta navegadores headless, Selenium, Puppeteer, Playwright e frameworks de automação stealth.

Ver Repositório
234há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

BotDetect v2 — Biblioteca de Detecção de Bots de Produção

Logotipo do BotDetect

Biblioteca de detecção de bots e automação no lado do cliente com pontuação ponderada, análise comportamental, impressão digital do navegador e limites configuráveis. Detecta navegadores headless, Selenium, Puppeteer, Playwright, ferramentas baseadas em CDP e estruturas de automação furtiva.

v2.1.0 — honeypots anti-detecção, impressão digital de canvas estável em GPU, análise comportamental aprimorada, inicialização preguiçosa, detecção de adulteração no lado do servidor, vinculação de impressão digital de requisição e limitação de taxa.


Índice

  • Funcionalidades
  • Arquitetura
  • Início Rápido
  • API do Lado do Cliente
  • Integração no Lado do Servidor
  • Módulos de Detecção
  • Configuração
  • Lista de Verificação para Produção
  • Testes

Funcionalidades

  • 28 módulos de detecção cobrindo estruturas de automação, navegadores headless, impressão digital, análise comportamental, honeypots e armadilhas de stack trace
  • Sistema de pontuação ponderada — cada sinal tem peso configurável; pontuação final calculada no servidor
  • Três níveis de veredito: human, suspicious, bot com ações de atrito correspondentes (monitor, challenge, block)
  • Verificação no lado do servidor — protegido por nonce, replay protegido, prova-de-trabalho assinada
  • Armadilhas de stack trace — monkey-patches de APIs DOM para capturar call stacks de ferramentas de automação
  • Análise comportamental — curvatura do mouse, variação de tempo de digitação, aceleração de rolagem, dinâmica de toque
  • Honeypots anti-detecção — ocultação CSS aleatória, campos isca, nomes de campo realistas
  • Detecção de adulteração no servidor — valida integridade do sinal, detecta tentativas de manipulação
  • Vinculação de impressão digital da requisição — tokens PoW vinculados a atributos da requisição HTTP
  • Limitação de taxa — limitação de taxa por sessão em todos os endpoints de verificação
  • Detecção sem script — identifica clientes que nunca enviam payloads de detecção
  • Lista de permissão de crawlers conhecidos — 20+ bots legítimos excluídos da pontuação

Arquitetura

Browser                                  Your Server
┌──────────────────────────┐            ┌──────────────────────┐
│ Collector (singleton)    │  POST      │ Express Middleware    │
│  ├─ 28 detection modules│  signals   │  ├─ NonceManager      │
│  ├─ BehaviorTracker     │  + nonce   │  ├─ RateLimiter       │
│  ├─ HoneypotTraps       │───────────▶│  ├─ TamperDetector    │
│  ├─ Stack trace traps   │            │  ├─ computeVerdict()  │
│  └─ IframeContext       │            │  └─ Proof-of-Work     │
│                         │  verdict   │                        │
│  ↓ collect() →          │  + proof   │  Returns:             │
│  DetectionResult[]      │◀───────────│  { verdict, score,    │
└──────────────────────────┘            │    confidence, proof, │
                                        │    tamperScore }      │
                                        └──────────────────────┘
                                              │
                                              ▼
                                        Session-gated endpoint
                                        (login, checkout, etc.)
                                        validates proof before
                                        granting access

Princípio chave: O navegador apenas coleta sinais brutos DetectionResult[]. O servidor calcula o veredito final usando uma tabela de pesos secreta. Vereditos calculados no cliente nunca são confiáveis.


Início Rápido

1. Construir

npm install
npm run build

Saída em dist/:

  • botdetect.min.js (com polyfills, ~151 KB)
  • botdetect-clean.min.js (apenas navegadores modernos, ~74 KB)

2. Incluir na sua página

<script src="/path/to/botdetect.min.js"></script>
<script>
  BotDetect.collector.enableTraps();
  BotDetect.collector.enableBehavioralTracking();
  BotDetect.collector.enableHoneypots();
</script>

3. Configurar verificação no lado do servidor

cd server
npm install express cors express-session
node example-integration.js

4. Enviar sinais em ação sensível

async function onLogin() {
  const { nonce } = await (await fetch('/api/botdetect/nonce')).json();
  BotDetect.collector.setNonce(nonce);

  const signals = await BotDetect.collector.collect();

  const resp = await fetch('/api/botdetect/verify', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ signals, nonce })
  });
  const { verdict, score, proof, friction } = await resp.json();

  document.getElementById('botdetect-proof').value = proof;
  document.getElementById('login-form').submit();
}

5. Validar no servidor

app.post('/api/login', (req, res) => {
  const bd = req.session.botdetect;
  if (!bd) return res.status(403).json({ error: 'no_verification' });
  if (bd.verdict === 'bot') return res.status(403).json({ error: 'access_denied' });
  if (bd.verdict === 'suspicious') return challengeCaptcha(req, res);
  res.json({ success: true });
});

API do Lado do Cliente

Coletor (singleton)

import Collector from './collector/Collector';
// ou via global: BotDetect.collector
MétodoRetornoDescrição
getInstance(config?)CollectorAcessor singleton
configure(config)voidAtualizar configuração em tempo de execução
getConfig()CollectorConfigConfiguração atual
init()voidInicialização preguiçosa de armadilhas, rastreamento, honeypots
enableTraps()voidInstalar armadilhas de stack trace em APIs DOM
enableBehavioralTracking()voidIniciar monitoramento de mouse/teclado/rolagem
enableHoneypots(container?)voidInstalar campos honeypot
collect()Promise<DetectionResult[]>Executar todas as detecções
setNonce(nonce)voidArmazenar nonce emitido pelo servidor
getSessionId()stringIdentificador único de sessão
getFingerprint()stringHash da impressão digital da sessão
resetBehavioralData()voidLimpar dados comportamentais
destroy()voidLimpar todos os listeners e elementos DOM

Detector (apenas depuração)

import Detector from './detector/Detector';
MétodoRetornoDescrição
getInstance(config?)DetectorAcessor singleton
configure(config)voidAtualizar configuração
analyze(results)DetectionVerdictPontuar + classificar (apenas depuração local)
handleError(error)DetectionVerdictVeredito de fallback em caso de falha

Aviso: analyze() é executado inteiramente no navegador. Nunca use sua saída para decisões de produção.

Tipos

interface DetectionResult {
  name: string;      // Nome do módulo
  score: number;     // 0.0 – 1.0
  weight: number;    // 1 – 10 (importância)
  detail?: string;   // Descrição legível
}

interface DetectionVerdict {
  verdict: 'bot' | 'suspicious' | 'human';
  score: number;       // 0.0 – 1.0
  confidence: number;  // 0.0 – 1.0
  signals: DetectionResult[];
  threshold: number;
  friction: 'monitor' | 'challenge' | 'block';
}
Baixar ferramenta