
CLI moderna para explorar dados de vulnerabilidades com poderosas capacidades de pesquisa, filtragem e análise.

# 1. Obter vulnx
go install github.com/projectdiscovery/vulnx/v2/cmd/vulnx@latest
# 2. Explorar comandos
vulnx --help
vulnx search --help
# 3. Comece a explorar vulnerabilidades (nenhuma chave de API necessária)
vulnx filters # Ver todos os campos de pesquisa disponíveis
vulnx search apache # Pesquisa básica (sujeita a limites de taxa)
# 4. Configure sua chave de API (recomendado para evitar limites de taxa)
vulnx auth # Obtenha chave de API gratuita em https://cloud.projectdiscovery.io
# 5. Exploração aprimorada com limites maiores
vulnx search apache # Sem limites de taxa
vulnx id CVE-2021-44228 # Respostas mais rápidas
Pesquise vulnerabilidades com precisão:
vulnx search "severity:critical && is_remote:true"
vulnx search "apache || nginx" --limit 20
vulnx search "cvss_score:>8.0 && cve_created_at:2024"
Obtenha informações detalhadas sobre vulnerabilidades:
vulnx id CVE-2021-44228
vulnx id CVE-2024-1234 --json
Analise padrões de vulnerabilidades:
vulnx analyze --fields severity
vulnx analyze --fields affected_products.vendor
Formatos de saída:
vulnx search "apache" --json # JSON legível por máquina
vulnx search "apache" --output results.json # Salvar em arquivo
vulnx search "apache" --silent # Saída silenciosa
Controle de pesquisa:
vulnx search "apache" --limit 50 # Obter 50 resultados
vulnx search "apache" --sort-desc cvss_score # Ordenar por pontuação CVSS
vulnx search "apache" --fields cve_id,severity # Apenas campos específicos
Pesquisa avançada:
vulnx search --term-facets severity=5,tags=10 "apache"
vulnx search --range-facets numeric:cvss_score:high:8:10 "remote"
vulnx search --highlight "apache" # Ativar destaque na pesquisa
vulnx search --facet-size 20 "nginx" # Mais buckets de facetas
vulnx search --detailed "xss" # Saída detalhada como o comando 'id'
Explore o que pode pesquisar:
vulnx filters # Mostrar todos os campos de pesquisa disponíveis
vulnx filters --json # Lista de campos legível por máquina
vulnx filters --output fields.json # Salvar informações dos campos em arquivo
O comando filters mostra informações detalhadas sobre todos os campos pesquisáveis, incluindo:
Exemplo de saída:
Field: severity
Data Type: string
Description: Vulnerability severity level (e.g., critical, high, medium, low, info)
Can Sort: Yes
Facet Possible: Yes
Search Analyzer: keyword-lower
Examples: severity:critical, severity:high
Enum Values: critical, high, medium, low, info, unknown
Total: 69 filters available
Use este comando para descobrir novas possibilidades de pesquisa e entender a sintaxe dos campos antes de construir consultas complexas.
Encontre vulnerabilidades de alto risco:
vulnx search "severity:critical && is_remote:true && is_kev:true"
vulnx search "cvss_score:>8.0 && cve_created_at:>=2024" # CVSS alto a partir de 2024
vulnx search "is_kev:true && age_in_days:<90" # Exploits KEV recentes
Pesquise por tecnologia:
vulnx search "apache" # Vulnerabilidades do Apache
vulnx search "apache || nginx" # Múltiplas tecnologias
vulnx search "affected_products.vendor:microsoft" # Por fornecedor
Filtre por severidade e pontuações:
vulnx search "severity:high" # Severidade alta
vulnx search "cvss_score:>7.0" # Pontuação CVSS acima de 7
vulnx search "epss_score:>0.8" # Pontuação EPSS alta
Pesquisas baseadas em tempo:
vulnx search "cve_created_at:>=2024" # Publicado em 2024 ou depois
vulnx search "cve_created_at:>=2024-01-01 && cve_created_at:<2024-07-01" # Primeira metade de 2024
vulnx search "age_in_days:<30" # Vulnerabilidades recentes (últimos 30 dias)
Encontre vulnerabilidades exploráveis:
vulnx search "is_poc:true" # Tem prova de conceito
vulnx search "is_kev:true" # Vulnerabilidades conhecidas e exploradas
vulnx search "is_template:true" # Possui templates Nuclei
vulnx search --detailed "log4j" # Análise detalhada de vulnerabilidade específica
Filtragem por produto e fornecedor:
vulnx search --product apache,nginx # Filtrar por produtos (pesquisa nos campos vendor e product)
vulnx search --vendor microsoft,oracle # Filtrar apenas por fornecedores
vulnx search "NOT apache" # Excluir produtos usando sintaxe de consulta
vulnx search "NOT affected_products.vendor:microsoft" # Excluir fornecedores usando sintaxe de consulta
Severidade e pontuação:
vulnx search --severity critical,high # Filtrar por severidade
vulnx search "NOT severity:low" # Excluir severidades usando sintaxe de consulta
vulnx search --cvss-score ">8.0" # Filtrar por pontuação CVSS
vulnx search --epss-score ">0.8" # Filtrar por pontuação EPSS
vulnx search --vuln-status confirmed # Filtrar por status
vulnx search --vuln-age "<30" # Vulnerabilidades recentes
Características de exploração:
vulnx search --kev # Apenas vulnerabilidades KEV
vulnx search --template # Possui templates Nuclei
vulnx search --poc # Possui prova de conceito
vulnx search --hackerone # Reportado no HackerOne
vulnx search --remote-exploit # Explorável remotamente
Múltiplos métodos de entrada:
# Consulta de ID único
vulnx id CVE-2024-1234
# Múltiplos IDs (separados por vírgula)
vulnx id CVE-2024-1234,CVE-2024-5678,CVE-2023-9999
# Detecção automática do stdin (nenhum comando 'id' necessário!)
echo "CVE-2024-1234" | vulnx
echo -e "CVE-2024-1234\nCVE-2024-5678" | vulnx
# Entrada de arquivo
vulnx id --file ids.txt
Processamento em lote:
# Saída JSON para automação
vulnx id --json CVE-2024-1234 CVE-2024-5678
# Salvar em arquivo
vulnx id --output vulns.json --file ids.txt
# Integração em pipeline
cat report.txt | grep -o 'CVE-[0-9]\{4\}-[0-9]\+' | vulnx id --json
Pesquisas básicas:
vulnx search "apache" # Termo simples
vulnx search "remote code execution" # Pesquisa de frase
vulnx search "severity:critical" # Pesquisa por campo
Lógica booleana:
vulnx search "apache && nginx" # Ambos os termos
vulnx search "apache || nginx" # Qualquer termo
vulnx search "apache NOT tomcat" # Excluir termo
vulnx search "(apache || nginx) && severity:high" # Agrupado
Intervalos e curingas:
vulnx search "cvss_score:>8.0" # Maior que
vulnx search "cvss_score:<9.0" # Menor que
vulnx search "cve_created_at:>=2024-01-01" # Comparação de data
vulnx search "age_in_days:<30" # Vulnerabilidades recentes
vulnx search "apache*" # Curinga
Importante: Campos de data requerem operadores de comparação (>=, >, <, <=).
Comparações de data única:
vulnx search "cve_created_at:>=2024" # CVEs de 2024 em diante
vulnx search "cve_created_at:<2024" # CVEs anteriores a 2024
vulnx search "cve_created_at:>2024-06-01" # CVEs depois de 1º de junho de 2024
Intervalos de data:
# CVEs apenas de janeiro de 2024
vulnx search "cve_created_at:>=2024-01-01 && cve_created_at:<2024-02-01"
# CVEs com CVSS alto de 2024
vulnx search "cvss_score:>8.0 && cve_created_at:>=2024"
# Vulnerabilidades recentes (baseadas em idade)
vulnx search "age_in_days:<30" # Últimos 30 dias
vulnx search "age_in_days:>365" # Mais de 1 ano
Formatos suportados:
2024 (ano)2024-01 (ano-mês)2024-01-15 (data completa)vulnx funciona sem uma chave de API, mas a autenticação fornece benefícios significativos:
⚠️ Sem chave de API:
✅ Com chave de API:
Configurar autenticação:
vulnx auth # Configuração interativa
vulnx auth --api-key SUA_CHAVE_API # Não interativa (automação)
vulnx auth --test # Testar chave de API atual
export PDCP_API_KEY="sua-chave-aqui" # Variável de ambiente
Modos de autenticação:
vulnx auth - Configuração guiada com promptsvulnx auth --api-key CHAVE - Perfeito para automação/CI/CDvulnx auth --test - Validar configuração atualGerenciamento de versão:
vulnx version # Mostrar versão e verificar atualizações
vulnx version --disable-update-check # Mostrar versão sem verificar atualizações
vulnx update # Atualizar para a versão mais recente
vulnx --update # Comando alternativo de atualização
Opções globais:
vulnx --json search "apache" # Saída JSON
vulnx --silent search "apache" # Sem banner
vulnx --timeout 60s search "apache" # Timeout personalizado
vulnx --disable-update-check search "apache" # Desabilitar verificações automáticas de atualização
Problemas de limite de taxa:
Rate limit exceeded! API key required for higher limits.
→ Run: vulnx auth to configure API key and get higher limits
Configuração de automação/CI/CD:
# Contêineres Docker
vulnx auth --api-key "$SECRET_API_KEY"
# Pipelines CI/CD
vulnx auth --api-key "${PDCP_API_KEY}"
# Contêineres init do Kubernetes
vulnx auth --api-key "$(cat /secrets/api-key)"
# Testar autenticação em scripts
vulnx auth --test && echo "Auth OK" || echo "Auth failed"
Sugestões de limite de taxa:
Configure API key with 'vulnx auth' to avoid rate limits
→ Isso aparece quando nenhuma chave de API está configurada. Para remover:
1. Configure a chave de API: vulnx auth
2. Ou use a flag --silent para suprimir mensagens informativas
Sem resultados:
vulnx search "is_kev:true" --limit 1 # Testar com resultados conhecidos
vulnx healthcheck # Verificar conectividade
Conjuntos grandes de resultados:
vulnx search "apache" --limit 100 # Aumentar limite
vulnx search "apache" --offset 100 # Paginação
vulnx search --fields cve_id,severity "apache" # Menos campos
Problemas de conexão:
vulnx --timeout 60s search "apache" # Aumentar timeout
vulnx --proxy http://localhost:8080 search "apache" # Usar proxy
vulnx --debug search "apache" # Modo de depuração
Comandos de ajuda (nenhuma chave de API necessária):
vulnx --help # Visão geral de todos os comandos
vulnx search --help # Ajuda do comando search
vulnx id --help # Ajuda do comando id
vulnx filters --help # Ajuda do comando filters
vulnx analyze --help # Ajuda do comando analyze
vulnx version # Informações da versão com verificação de atualização
vulnx version --disable-update-check # Informações da versão sem verificação de atualização
Exploração de dados (sujeita a limites de taxa sem chave de API):
vulnx filters # Mostrar todos os campos pesquisáveis
vulnx search help # Campos de pesquisa detalhados
vulnx analyze help # Campos de análise disponíveis
⚠️ Nota Todos os comandos funcionam sem chave de API, mas estão sujeitos a limites de taxa. Configure uma chave de API com
vulnx authpara limites maiores e melhor desempenho.
vulnx search apachevulnx auth para uso intenso--disable-update-check para desabilitarvulnx filters para descobrir todos os campos de pesquisa disponíveis e sua sintaxe--json para scripts e automaçãoanalyze para entender padrões de dadosPara padrões de uso avançados e exemplos, veja USAGE.md.
Para configuração de desenvolvimento, verificações de qualidade de código e diretrizes de contribuição, veja DEVELOPMENT.md.
vulnx é distribuído sob a Licença MIT.
| Comando | Propósito | Exemplo |
|---|
search | Encontre vulnerabilidades com filtros avançados | vulnx search "apache && severity:high" |
id | Obtenha detalhes de um CVE específico | vulnx id CVE-2021-44228 |
filters | Liste todos os campos e filtros de pesquisa disponíveis | vulnx filters |
analyze | Agregue dados por campos | vulnx analyze -f severity |
auth | Configure o acesso à API | vulnx auth |
version | Mostre informações da versão e verifique atualizações | vulnx version |
update | Atualize o vulnx para a versão mais recente | vulnx update |
healthcheck | Teste a conectividade | vulnx healthcheck |
| Flag | Abrev. | Descrição | Exemplo |
|---|
--product | -p | Filtrar por produtos | --product apache,nginx |
--vendor | Filtrar por fornecedores | --vendor microsoft,oracle | |
--severity | -s | Filtrar por severidade | --severity critical,high |
--tags | Filtrar por tags | --tags rce,injection | |
--cvss-score | Filtrar por pontuação CVSS | --cvss-score ">8.0" | |
--epss-score | Filtrar por pontuação EPSS | --epss-score ">0.8" | |
--vuln-age | -a | Filtrar por idade | --vuln-age "<30" |
--vuln-type | Filtrar por tipo de vulnerabilidade | --vuln-type sql_injection | |
--kev | Apenas vulnerabilidades KEV | --kev | |
--template | -t | Possui templates Nuclei | --template |
--poc | Possui prova de conceito | --poc | |
--hackerone | Reportado no HackerOne | --hackerone | |
--remote-exploit | Explorável remotamente | --remote-exploit | |
--vuln-status | Filtrar por status da vulnerabilidade | --vuln-status confirmed |
| Flag | Abrev. | Descrição | Exemplo |
|---|
--detailed | Saída detalhada como 'id' | --detailed | |
--highlight | Ativar destaque na pesquisa | --highlight | |
--limit | -n | Número de resultados | --limit 50 |
--offset | Deslocamento de paginação | --offset 100 | |
--sort-asc | Ordenar ascendente | --sort-asc cvss_score | |
--sort-desc | Ordenar descendente | --sort-desc cve_created_at | |
--fields | Selecionar campos específicos | --fields cve_id,severity | |
--term-facets | Calcular facetas de termos | --term-facets severity=5 | |
--range-facets | Calcular facetas de intervalo | --range-facets numeric:cvss_score:high:8:10 | |
--facet-size | Contagem de buckets de facetas | --facet-size 20 |
| Campo | Descrição | Exemplos de Valores |
|---|
severity | Severidade da vulnerabilidade | low, medium, high, critical |
cvss_score | Pontuação CVSS (0-10) | 7.5, >8.0, <9.0 |
cve_id | Identificador CVE | CVE-2021-44228 |
is_remote | Explorável remotamente | true, false |
is_kev | Vulnerabilidade conhecida e explorada | true, false |
is_poc | Possui prova de conceito | true, false |
affected_products.vendor | Nome do fornecedor | apache, microsoft |
affected_products.product | Nome do produto | tomcat, windows |
cve_created_at | Data de publicação | >=2024, >2024-01-01, <2023 |
age_in_days | Dias desde a publicação | <30, >365, <=90 |