
Ferramenta automatizada de avaliação de WAF que detecta fornecedores de firewall, testa 19 categorias de ataque com payloads de evasão avançados e fornece análise de bypass codificada por cores via CLI, Cloudflare Worker ou Docker.
Este projeto ajuda você a verificar o quão bem seu Firewall de Aplicações Web (WAF) protege seu produto contra ataques web comuns. Pode ser executado como um Cloudflare Worker (com uma interface web interativa integrada) ou como uma ferramenta CLI Node.js autônoma.
SQL Injection, XSS, Path Traversal, Command Injection, SSRF, NoSQL Injection, Local File Inclusion, LDAP Injection, HTTP Request Smuggling, Open Redirect, Sensitive Files, CRLF Injection, UTF8/Unicode Bypass, XXE, SSTI, HTTP Parameter Pollution, Web Cache Poisoning, IP Bypass, User-Agent.
X-HTTP-Method-Override, etc.).O projeto é estruturado como um monorepo de NPM Workspaces:
packages/core/: A biblioteca principal de testes de segurança, definição de payloads, assinaturas de fingerprinting de WAF e codificadores de ofuscação.packages/worker/: Pacote do Cloudflare Worker que serve a interface web estática HTML/JS e os endpoints da API JSON.packages/cli/: Ferramenta de linha de comando Node.js para executar auditorias diretamente do seu terminal.A partir do diretório raiz, instale as dependências e compile todos os workspaces:
npm install
npm run build
Para executar o servidor de desenvolvimento do Worker localmente (requer Wrangler):
npm run dev:worker
A interface web será acessível em http://localhost:8787 (ou em outra porta se a 8787 estiver ocupada).
Para implantar o Worker no Cloudflare:
npx wrangler deploy --workspace=packages/worker
Para executar auditorias de testes de segurança diretamente do seu terminal:
# Exibe ajuda geral da CLI e uso
node packages/cli/dist/index.js --help
# Exibe ajuda do comando check (lista todos os métodos, categorias e fornecedores de WAF)
node packages/cli/dist/index.js check --help
Detecta o fornecedor de WAF por trás de uma URL alvo:
node packages/cli/dist/index.js detect <url>
Executa uma auditoria contra uma URL alvo:
# Verificação padrão (método GET, todas as categorias de payload)
node packages/cli/dist/index.js check https://example.com
# Verificação personalizada com métodos, categorias específicas e evasão de WAF habilitada
node packages/cli/dist/index.js check https://example.com -m GET,POST -c "SQL Injection,XSS" --auto-detect-waf --encoding-variations
Executa auditorias em lote para uma lista de URLs definidas em um arquivo:
node packages/cli/dist/index.js batch targets.txt --concurrency 3
Você pode executar a CLI usando Docker, seja baixando a imagem pré-compilada do GitHub Container Registry ou compilando-a localmente.
A imagem Docker pré-compilada está disponível no GitHub Container Registry em ghcr.io/sech0us3/waf-checker-cli.
docker pull ghcr.io/sech0us3/waf-checker-cli:latest
docker run --rm ghcr.io/sech0us3/waf-checker-cli:latest --help
docker run --rm -it ghcr.io/sech0us3/waf-checker-cli:latest check https://example.com
docker run --rm -it -v "$(pwd):/data" ghcr.io/sech0us3/waf-checker-cli:latest batch /data/targets.txt --concurrency 3
docker build -t waf-checker-cli .
docker run --rm waf-checker-cli --help
docker run --rm -it waf-checker-cli check https://example.com
docker run --rm -it -v "$(pwd):/data" waf-checker-cli batch /data/targets.txt --concurrency 3
Para executar a suíte de testes de todo o workspace (utilizando Vitest):
npm test
Leia meu blog em yoursec.substack.com