WebScan: Ferramenta CLI Open-Source em Python Puro para Bug Bounty - Arquitetura e Plugins
Conheça o WebScan, um scanner de segurança assíncrono em Python puro com arquitetura modular, projetado para otimizar a busca por vulnerabilidades em programas de bug bounty. Descubra sua arquitetura, funcionalidades e planos de desenvolvimento.
MundiX News·14 de junho de 2026·7 min de leitura·👁 10 views
WebScan: Ferramenta CLI Open-Source em Python Puro para Bug Bounty - Arquitetura e Plugins
No universo do bug bounty, a busca por ferramentas eficientes e flexíveis é constante. Muitos pesquisadores se deparam com soluções desatualizadas, proprietárias ou com arquiteturas complexas que dificultam a adição de novas funcionalidades. Ferramentas clássicas como o Nikto, por exemplo, não recebem atualizações significativas há anos, e alternativas modernas e assíncronas em Python são escassas. Diante desse cenário, surgiu o WebScan – um scanner de segurança CLI assíncrono desenvolvido inteiramente em Python, com uma arquitetura modular que facilita a extensão e a contribuição.
Em apenas uma semana desde seu lançamento, o projeto WebScan já atraiu contribuidores externos e expandiu seu conjunto de funcionalidades para incluir 15 plugins distintos. O scanner é capaz de analisar alvos em busca de diversas categorias de vulnerabilidades simultaneamente. Entre suas capacidades, destacam-se a detecção de mais de 50 arquivos de configuração abertos (incluindo .env, .git/config, chaves SSH e dumps SQL), vazamentos de API keys em código HTML e JavaScript (AWS, Anthropic, OpenAI, Stripe, GitHub), misconfigurações de CORS (com validação de Origin, wildcard e exposição de credenciais), XSS em parâmetros de query com classificação de contexto de injeção, três tipos de SQL Injection (error-based, boolean-blind e time-blind), Path Traversal, Open Redirect, SSRF, análise de cabeçalhos de segurança (CSP, HSTS, X-Frame-Options), verificação de SSL/TLS (protocolos fracos, certificados expirados), detecção de métodos HTTP perigosos (PUT, DELETE, TRACE), análise de flags de cookies (Secure, HttpOnly, SameSite), fingerprinting de tecnologias (CMS, frameworks, servidores), enumeração de subdomínios via DNS e crt.sh, e detecção de segredos em código-fonte.
A arquitetura do WebScan é baseada em um princípio fundamental: cada plugin é uma classe Python independente. Criar um novo plugin é uma tarefa simples, geralmente exigindo apenas 20 a 30 linhas de código. Uma vez desenvolvido, o plugin é registrado na variável ALL_PLUGINS e fica imediatamente disponível para uso através do flag --plugins. A única dependência externa em tempo de execução é a biblioteca aiohttp; todo o restante utiliza a biblioteca padrão do Python. A estrutura do projeto é logicamente organizada, com cli.py servindo como ponto de entrada, engine.py orquestrando as operações assíncronas, crawler.py implementando um spider BFS para navegação e coleta de formulários, auth.py para gerenciamento de autenticação, net.py para rotação de proxies e User-Agents, anonymize.py para limpeza de relatórios, models.py para definição de data classes, reporter.py para geração de relatórios em cinco formatos distintos, e a pasta plugins, onde cada arquivo representa um plugin individual.
O WebScan oferece três modos de uso para atender a diferentes necessidades. Para administradores de sistemas e proprietários de sites, o "Safe Mode" limita automaticamente a velocidade de varredura a dois requisições por segundo, respeita o arquivo robots.txt e utiliza um User-Agent padrão, garantindo que não haja sobrecarga acidental nos servidores. Para pesquisadores de bug bounty, o modo de "furtividade" emprega técnicas como jitter para disfarçar o padrão de tráfego, rotação de User-Agent para contornar bloqueios e proxies (Tor, Burp Suite ou qualquer proxy HTTP/SOCKS) para ocultar o endereço IP real. Para integração em pipelines de CI/CD, o scanner suporta códigos de saída, onde um código 1 em caso de descobertas CRITICAL ou HIGH pode interromper o processo de deploy. O formato SARIF é compatível com o GitHub Code Scanning e pode ser carregado diretamente, com um workflow de GitHub Actions pronto para uso.
Os relatórios gerados pelo WebScan podem ser exportados em cinco formatos: JSON, ideal para integração com CI/CD e scripts; Markdown, para leitura humana e pull requests no GitHub; HTML, como um relatório autônomo para stakeholders; SARIF, para GitHub Code Scanning e VS Code; e CSV, para importação em ferramentas como Excel, Jira e Notion. Comparado ao Nikto, o WebScan se destaca por ser assíncrono e significativamente mais rápido (5 a 10 vezes em alvos grandes), oferecer mais formatos de relatório, possuir integração completa com CI/CD e SARIF, e permitir a criação de plugins com poucas linhas de código, além de contar com desenvolvimento ativo.
Os planos futuros para o WebScan incluem a integração com a API do NVD para identificar versões vulneráveis com base em CVEs, geolocalização DBIP para exibir país, ASN e provedor nos relatórios, análise com LLM (Claude) para reduzir falsos positivos e a publicação do pacote no PyPI. O projeto é open-source, licenciado sob MIT, e destinado exclusivamente para testes autorizados.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
WebScan: Ferramenta CLI Open-Source em Python Puro para Bug Bounty - Arquitetura e Plugins
No universo do bug bounty, a busca por ferramentas eficientes e flexíveis é constante. Muitos pesquisadores se deparam com soluções desatualizadas, proprietárias ou com arquiteturas complexas que dificultam a adição de novas funcionalidades. Ferramentas clássicas como o Nikto, por exemplo, não recebem atualizações significativas há anos, e alternativas modernas e assíncronas em Python são escassas. Diante desse cenário, surgiu o WebScan – um scanner de segurança CLI assíncrono desenvolvido inteiramente em Python, com uma arquitetura modular que facilita a extensão e a contribuição.
Em apenas uma semana desde seu lançamento, o projeto WebScan já atraiu contribuidores externos e expandiu seu conjunto de funcionalidades para incluir 15 plugins distintos. O scanner é capaz de analisar alvos em busca de diversas categorias de vulnerabilidades simultaneamente. Entre suas capacidades, destacam-se a detecção de mais de 50 arquivos de configuração abertos (incluindo .env, .git/config, chaves SSH e dumps SQL), vazamentos de API keys em código HTML e JavaScript (AWS, Anthropic, OpenAI, Stripe, GitHub), misconfigurações de CORS (com validação de Origin, wildcard e exposição de credenciais), XSS em parâmetros de query com classificação de contexto de injeção, três tipos de SQL Injection (error-based, boolean-blind e time-blind), Path Traversal, Open Redirect, SSRF, análise de cabeçalhos de segurança (CSP, HSTS, X-Frame-Options), verificação de SSL/TLS (protocolos fracos, certificados expirados), detecção de métodos HTTP perigosos (PUT, DELETE, TRACE), análise de flags de cookies (Secure, HttpOnly, SameSite), fingerprinting de tecnologias (CMS, frameworks, servidores), enumeração de subdomínios via DNS e crt.sh, e detecção de segredos em código-fonte.
A arquitetura do WebScan é baseada em um princípio fundamental: cada plugin é uma classe Python independente. Criar um novo plugin é uma tarefa simples, geralmente exigindo apenas 20 a 30 linhas de código. Uma vez desenvolvido, o plugin é registrado na variável ALL_PLUGINS e fica imediatamente disponível para uso através do flag --plugins. A única dependência externa em tempo de execução é a biblioteca aiohttp; todo o restante utiliza a biblioteca padrão do Python. A estrutura do projeto é logicamente organizada, com cli.py servindo como ponto de entrada, engine.py orquestrando as operações assíncronas, crawler.py implementando um spider BFS para navegação e coleta de formulários, auth.py para gerenciamento de autenticação, net.py para rotação de proxies e User-Agents, anonymize.py para limpeza de relatórios, models.py para definição de data classes, reporter.py para geração de relatórios em cinco formatos distintos, e a pasta plugins, onde cada arquivo representa um plugin individual.
O WebScan oferece três modos de uso para atender a diferentes necessidades. Para administradores de sistemas e proprietários de sites, o "Safe Mode" limita automaticamente a velocidade de varredura a dois requisições por segundo, respeita o arquivo robots.txt e utiliza um User-Agent padrão, garantindo que não haja sobrecarga acidental nos servidores. Para pesquisadores de bug bounty, o modo de "furtividade" emprega técnicas como jitter para disfarçar o padrão de tráfego, rotação de User-Agent para contornar bloqueios e proxies (Tor, Burp Suite ou qualquer proxy HTTP/SOCKS) para ocultar o endereço IP real. Para integração em pipelines de CI/CD, o scanner suporta códigos de saída, onde um código 1 em caso de descobertas CRITICAL ou HIGH pode interromper o processo de deploy. O formato SARIF é compatível com o GitHub Code Scanning e pode ser carregado diretamente, com um workflow de GitHub Actions pronto para uso.
Os relatórios gerados pelo WebScan podem ser exportados em cinco formatos: JSON, ideal para integração com CI/CD e scripts; Markdown, para leitura humana e pull requests no GitHub; HTML, como um relatório autônomo para stakeholders; SARIF, para GitHub Code Scanning e VS Code; e CSV, para importação em ferramentas como Excel, Jira e Notion. Comparado ao Nikto, o WebScan se destaca por ser assíncrono e significativamente mais rápido (5 a 10 vezes em alvos grandes), oferecer mais formatos de relatório, possuir integração completa com CI/CD e SARIF, e permitir a criação de plugins com poucas linhas de código, além de contar com desenvolvimento ativo.
Os planos futuros para o WebScan incluem a integração com a API do NVD para identificar versões vulneráveis com base em CVEs, geolocalização DBIP para exibir país, ASN e provedor nos relatórios, análise com LLM (Claude) para reduzir falsos positivos e a publicação do pacote no PyPI. O projeto é open-source, licenciado sob MIT, e destinado exclusivamente para testes autorizados.
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.