Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
getsploit — Pesquise e baixe exploits públicos do banco de dados Vulners — online ou totalmente offline a partir de um índice local SQLite FTS5. | Kitploit
Ferramentas/GitHubGitHub/vulnerscom/getsploit
Frameworks de ExploraçãoAnálise de VulnerabilidadesColeta de InformaçõesUtilitários e Frameworks
GitHubvulnerscom/getsploit

getsploit

Pesquise e baixe exploits públicos do banco de dados Vulners — online ou totalmente offline a partir de um índice local SQLite FTS5.

Ver Repositório
1.8k24772há 2 mesesRevisado pelo Kitploit

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
<div align="center">

# Getsploit

**Pesquise e baixe exploits públicos do banco de dados [Vulners](https://vulners.com) —
online ou totalmente offline a partir de um índice local.**

[![PyPI](https://img.shields.io/badge/pypi-v3.0.1-0073b7?logo=pypi&logoColor=white)](https://pypi.org/project/getsploit/)
[![Python](https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-0073b7?logo=python&logoColor=white)](https://pypi.org/project/getsploit/)
[![Downloads](https://img.shields.io/pepy/dt/getsploit?logo=python&logoColor=white&label=downloads&color=0073b7)](https://pepy.tech/project/getsploit)
[![Stars](https://img.shields.io/github/stars/vulnersCom/getsploit?logo=github&logoColor=white)](https://github.com/vulnersCom/getsploit/stargazers)
[![CI](https://github.com/vulnersCom/getsploit/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/vulnersCom/getsploit/actions/workflows/ci.yml)
[![CodeQL](https://github.com/vulnersCom/getsploit/actions/workflows/codeql.yml/badge.svg?branch=master)](https://github.com/vulnersCom/getsploit/actions/workflows/codeql.yml)
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/vulnersCom/getsploit/badge)](https://scorecard.dev/viewer/?uri=github.com/vulnersCom/getsploit)
[![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen)](https://github.com/vulnersCom/getsploit/actions/workflows/ci.yml)
[![Typed](https://img.shields.io/badge/typing-PEP%20561-brightgreen)](https://peps.python.org/pep-0561/)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

[Obtenha uma chave de API](https://vulners.com/userinfo) ·
[Busca no Vulners](https://vulners.com/search) ·
[Changelog](https://github.com/vulnerscom/getsploit/blob/master/CHANGELOG.md) ·
[Arquitetura](https://github.com/vulnerscom/getsploit/blob/master/ARCHITECTURE.md) ·
[Política de segurança](https://github.com/vulnerscom/getsploit/blob/master/SECURITY.md)

<img src="https://assets.kitploit.com/production/public/readmes/1237/6911a453ad43c32e26b89a2a3895cd81e60e83924db87967199871d7b07089e9.gif"
     alt="Getsploit pesquisando online, construindo um índice FTS5 local e depois pesquisando e espelhando offline"
     width="900">

</div>

---

## Por que Getsploit

- 🔎 **Uma consulta, todas as coleções.** Exploit-DB, Metasploit, Packet Storm, Zero Day
  Initiative, proof-of-concepts do GitHub e mais, conforme indexados pelo Vulners.
- 📴 **Funciona com a rede desligada.** Um único `--update` cria um índice local SQLite FTS5 de
  todo o corpus de exploits; toda busca posterior é uma consulta local.
- 🧠 **Busca o que você digitou.** `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.
- 📊 **Progresso em que você pode confiar.** Cada etapa de uma atualização relata números reais, e as
  duas etapas cujo tamanho não pode ser conhecido dizem isso em vez de inventar uma porcentagem.
- 🧾 **Amigável para pipes.** JSON, JSON Lines e registros estáveis separados por tabulação quando a
  saída é redirecionada. Nenhuma cor ou decoração chega a um formato de máquina.
- 💾 **Mantém a fonte.** `--mirror` grava cada corpo de exploit em seu próprio arquivo.
- 🔐 **Cuidado com seus dados.** A chave nunca é um argumento de linha de comando, o arquivo
  de chave é aberto sem seguir symlinks e o conteúdo baixado nunca é executado.
- 🧪 **Verificado.** 100% de cobertura de statements e branches no Python 3.11 até 3.14, em
  Linux, macOS e Windows.

---

## Instalação

O Getsploit requer Python 3.11 ou mais recente.

```console
$ pipx install getsploit
```

```console
$ uv tool install getsploit
```

```console
$ python -m pip install getsploit
```

## Chave de API

Crie uma chave na sua [conta Vulners](https://vulners.com/userinfo) e então exponha-a
por meio do ambiente:

```console
$ export VULNERS_API_KEY="your-key"  # pragma: allowlist secret
```

```powershell
$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.

## Uso

### Busca online

```console
$ getsploit CVE-2024-3094
$ getsploit "wordpress 4.7 remote code execution" --count 25
```

A consulta chega ao Vulners inalterada, portanto sua
[sintaxe Lucene](https://vulners.com/docs) funciona como documentado:

```console
$ 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.

### Busca offline

```console
$ 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](https://www.sqlite.org/fts5.html) e relata seu próprio erro
quando malformada:

```console
$ 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.

### Salvando fontes de exploits

```console
$ 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.

### Saída legível por máquina

```console
$ 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`.

### Controle do terminal

```console
$ 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.

## O banco de dados local

| | |
| --- | --- |
| 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.

Bancos de dados criados pelo Getsploit 2.x permanecem pesquisáveis; o próximo `--update` os migra
de FTS4 para FTS5. Expressões de proximidade FTS4, como `one NEAR/5 two`, devem ser reescritas
na forma FTS5 `NEAR(...)`.

## Compatibilidade

| | |
| --- | --- |
| Python | 3.11, 3.12, 3.13, 3.14 |
| Sistemas operacionais | Linux, macOS, Windows |
| SDK do Vulners | 4.1 e 4.x mais recentes |
| Dependências de runtime | `click`, `rich`, `vulners` |

## Desenvolvimento

```console
$ git clone https://github.com/vulnersCom/getsploit.git
$ cd getsploit
$ uv sync --all-groups
$ make check
```

| Comando | Finalidade |
| --- | --- |
| `make format` | Formatar e corrigir automaticamente os arquivos-fonte |
| `make lint` | Verificar formatação, lint e tipos |
| `make test` | Executar testes em paralelo |
| `make coverage` | Garantir 100% de cobertura de statements e branches |
| `make leaks` | Verificar segredos em arquivos rastreados |
| `make build` | Criar a wheel e a distribuição de código-fonte |
| `make release` | Executar todos os portões e validar ambas as distribuições |
| `make check` | Tudo acima que bloqueia um merge |

[CONTRIBUTING.md](https://github.com/vulnerscom/getsploit/blob/master/CONTRIBUTING.md) contém as regras de contribuição e
[ARCHITECTURE.md](https://github.com/vulnerscom/getsploit/blob/master/ARCHITECTURE.md) os limites dos módulos e as invariantes do banco de dados.

Um release é uma tag `v<versão>` enviada ao repositório. A partir dela,
[o workflow de release](https://github.com/vulnerscom/getsploit/blob/master/.github/workflows/release.yml) reexecuta o portão completo no commit
marcado, publica no PyPI por meio de trusted publishing e grava o release no GitHub
a partir do changelog. Não existe token PyPI para vazar.

## Segurança

Arquivos-fonte de exploits são conteúdo não confiável: revise-os antes de abrir ou executar.
O Getsploit em si nunca executa o que baixa.

Releases são publicados a partir do GitHub Actions por meio de trusted publishing do PyPI, portanto não
existe token de API de longa duração para vazar, e todo artefato carrega uma atestação de
proveniência de build. Para relatar uma vulnerabilidade no Getsploit, siga [SECURITY.md](https://github.com/vulnerscom/getsploit/blob/master/SECURITY.md).

## Licença

[MIT](https://github.com/vulnerscom/getsploit/blob/master/LICENSE) © Vulners Team e colaboradores.
Baixar ferramenta