
Pesquise e baixe exploits públicos do banco de dados Vulners — online ou totalmente offline a partir de um índice local SQLite FTS5.
Pesquise e baixe exploits públicos do banco de dados Vulners — online ou totalmente offline a partir de um índice local.
Obtenha uma chave de API · Busca no Vulners · Changelog · Arquitetura · Política de segurança

--update cria um índice local SQLite FTS5 de
todo o corpus de exploits; toda busca posterior é uma consulta local.wordpress 4.7, CVE-2024-3094 e ms17-010
correspondem literalmente, enquanto uma expressão de texto completo deliberada ainda recebe a sintaxe FTS5 completa.--mirror grava cada corpo de exploit em seu próprio arquivo.O Getsploit requer Python 3.11 ou mais recente.
$ pipx install getsploit
$ uv tool install getsploit
$ python -m pip install getsploit
Crie uma chave na sua conta Vulners e então exponha-a por meio do ambiente:
$ export VULNERS_API_KEY="your-key" # pragma: allowlist secret
$env:VULNERS_API_KEY = "your-key" # pragma: allowlist secret
getsploit --set-key armazena uma chave por meio de um prompt de confirmação oculto, em um arquivo
privado dentro do diretório inicial do Getsploit. A variável de ambiente tem precedência sobre esse arquivo e é
a melhor escolha para automação. Não existe uma opção --api-key: uma chave passada na
linha de comando acaba no histórico do shell e na lista de processos.
A busca online e --update precisam de uma chave. --local e --status não precisam.
$ getsploit CVE-2024-3094
$ getsploit "wordpress 4.7 remote code execution" --count 25
A consulta chega ao Vulners inalterada, portanto sua sintaxe Lucene funciona como documentado:
$ getsploit 'title:wordpress AND description:"code execution"'
--count acima de 100 é paginado de forma transparente; uma única resposta da API nunca carrega mais
de 100 documentos.
$ getsploit --update # baixa o arquivo e constrói o índice FTS5
$ getsploit --status # onde está, tamanho, quantos documentos
$ getsploit --local wordpress 4.7
Palavras de busca comuns são correspondidas literalmente, portanto identificadores e números de versão funcionam como
digitados: wordpress 4.7, CVE-2024-3094, ms17-010. Uma consulta que usa filtros de coluna,
operadores booleanos, aspas, parênteses, * ou ^ é tratada como uma
expressão SQLite FTS5 e relata seu próprio erro
quando malformada:
$ getsploit --local 'title:eternalblue AND NOT description:metasploit'
As colunas pesquisáveis são id, title, published, description e source_data. A
grafia legada sourceData: ainda é aceita.
$ getsploit --mirror wordpress 4.7
$ getsploit --local --mirror eternalblue
Os arquivos são gravados em um diretório derivado da consulta, um arquivo por exploit, criados sem seguir symlinks e nunca sobrescrevendo nada que já exista.
[!WARNING] Arquivos espelhados são código de terceiros não confiável. Leia-os antes de executá-los.
$ getsploit --format json CVE-2024-3094
$ getsploit --format jsonl wordpress | jq -r .id
$ getsploit wordpress > results.tsv # saída redirecionada é separada por tabulação
--json continua sendo um alias para --format json.
$ getsploit --color always query | less -R
$ getsploit --color never query
A cor padrão é auto. Um terminal largo recebe uma tabela, um estreito recebe registros
empilhados e um fluxo redirecionado recebe valores separados por tabulação — os mesmos dados nos três casos.
Execute getsploit --help para a lista completa de opções.
| Localização | ~/.getsploit/getsploit.db, ou $GETSPLOIT_HOME |
| Formato | SQLite com índice FTS5 de conteúdo externo |
| Tokenizador | unicode61 remove_diacritics 2 |
| Tamanho | aproximadamente 1,7 GB para o corpus completo |
| Atualização | atômica: o novo banco de dados substitui o antigo em uma única operação |
Uma atualização baixa o arquivo por oito conexões paralelas de range, descompacta e converte-o ao lado do destino, verifica-o e só então faz o commit. O uso de memória não depende do tamanho do arquivo. Uma busca já em execução contra o banco de dados antigo termina contra ele sem interferência.