Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
getsploit — Ищите и скачивайте публичные эксплойты из базы данных Vulners — онлайн или полностью офлайн, из локального индекса SQLite FTS5. | Kitploit
Инструменты/GitHubGitHub/vulnerscom/getsploit
Фреймворки для эксплойтовАнализ уязвимостейСбор информацииУтилиты и фреймворки
GitHubvulnerscom/getsploit

getsploit

Ищите и скачивайте публичные эксплойты из базы данных Vulners — онлайн или полностью офлайн, из локального индекса SQLite FTS5.

Репозиторий
1.8k247722 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
<div align="center">

# Getsploit

**Поиск и загрузка публичных эксплойтов из базы [Vulners](https://vulners.com) —
онлайн или полностью офлайн по локальному индексу.**

[![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)

[Получить API-ключ](https://vulners.com/userinfo) ·
[Поиск Vulners](https://vulners.com/search) ·
[Журнал изменений](https://github.com/vulnerscom/getsploit/blob/master/CHANGELOG.md) ·
[Архитектура](https://github.com/vulnerscom/getsploit/blob/master/ARCHITECTURE.md) ·
[Политика безопасности](https://github.com/vulnerscom/getsploit/blob/master/SECURITY.md)

<img src="https://assets.kitploit.com/production/public/readmes/1237/6911a453ad43c32e26b89a2a3895cd81e60e83924db87967199871d7b07089e9.gif"
     alt="Getsploit выполняет онлайн-поиск, создаёт локальный FTS5-индекс, затем ищет и зеркалирует офлайн"
     width="900">

</div>

---

## Почему Getsploit

- 🔎 **Один запрос — все коллекции.** Exploit-DB, Metasploit, Packet Storm, Zero Day
  Initiative, GitHub proof-of-concept и другие, проиндексированные Vulners.
- 📴 **Работает без сети.** Одна команда `--update` создаёт локальный SQLite FTS5-индекс
  всего корпуса эксплойтов; каждый последующий поиск выполняется локально.
- 🧠 **Ищет то, что вы ввели.** `wordpress 4.7`, `CVE-2024-3094` и `ms17-010`
  сопоставляются буквально, а осознанное полнотекстовое выражение по-прежнему получает
  полный синтаксис FTS5.
- 📊 **Прогресс, которому можно доверять.** Каждый этап обновления сообщает реальные
  цифры, а два этапа, чей объём заранее неизвестен, честно говорят об этом, вместо того
  чтобы выдумывать проценты.
- 🧾 **Удобно для конвейеров.** JSON, JSON Lines и стабильные записи, разделённые
  табуляцией, при перенаправлении вывода. Никакой цвет или оформление не попадает
  в машинный формат.
- 💾 **Сохраняет исходники.** `--mirror` записывает тело каждого эксплойта в отдельный
  файл.
- 🔐 **Бережно относится к вашим данным.** Ключ никогда не передаётся как аргумент
  командной строки, файл ключа открывается без перехода по символическим ссылкам,
  а загруженное содержимое никогда не выполняется.
- 🧪 **Проверено.** 100% покрытие операторов и ветвлений на Python 3.11–3.14,
  в Linux, macOS и Windows.

---

## Установка

Для Getsploit требуется Python 3.11 или новее.

```console
$ pipx install getsploit
```

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

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

## API-ключ

Создайте ключ в [вашем аккаунте Vulners](https://vulners.com/userinfo), затем укажите его
через переменную окружения:

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

```powershell
$env:VULNERS_API_KEY = "your-key"  # pragma: allowlist secret
```

`getsploit --set-key` сохраняет ключ через скрытый запрос подтверждения в приватном
файле в домашнем каталоге Getsploit. Переменная окружения имеет приоритет над этим
файлом и лучше подходит для автоматизации. Опции `--api-key` не существует: ключ,
переданный в командной строке, попадает в историю shell и в список процессов.

Для онлайн-поиска и `--update` нужен ключ. Для `--local` и `--status` — нет.

## Использование

### Онлайн-поиск

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

Запрос передаётся в Vulners без изменений, поэтому его
[синтаксис Lucene](https://vulners.com/docs) работает как описано в документации:

```console
$ getsploit 'title:wordpress AND description:"code execution"'
```

`--count` больше 100 прозрачно разбивается на страницы; один ответ API никогда
не содержит более 100 документов.

### Офлайн-поиск

```console
$ getsploit --update                 # скачать архив и построить FTS5-индекс
$ getsploit --status                 # где находится, размер, количество документов
$ getsploit --local wordpress 4.7
```

Обычные поисковые слова сопоставляются буквально, поэтому идентификаторы и номера
версий работают как введённые: `wordpress 4.7`, `CVE-2024-3094`, `ms17-010`. Запрос,
использующий фильтры по колонкам, логические операторы, кавычки, скобки, `*` или `^`,
обрабатывается как [выражение SQLite FTS5](https://www.sqlite.org/fts5.html)
и при некорректном синтаксисе сообщает собственную ошибку:

```console
$ getsploit --local 'title:eternalblue AND NOT description:metasploit'
```

Поисковые колонки: `id`, `title`, `published`, `description` и `source_data`.
Устаревшее написание `sourceData:` по-прежнему принимается.

### Сохранение исходников эксплойтов

```console
$ getsploit --mirror wordpress 4.7
$ getsploit --local --mirror eternalblue
```

Файлы сохраняются в каталог, определяемый запросом, по одному файлу на эксплойт;
каталог создаётся без перехода по символическим ссылкам и никогда не перезаписывает
уже существующие файлы.

> [!WARNING]
> Зеркалированные файлы — это недоверенный сторонний код. Прочитайте их перед запуском.

### Машиночитаемый вывод

```console
$ getsploit --format json CVE-2024-3094
$ getsploit --format jsonl wordpress | jq -r .id
$ getsploit wordpress > results.tsv       # при перенаправлении вывод разделён табуляцией
```

`--json` остаётся псевдонимом для `--format json`.

### Управление терминалом

```console
$ getsploit --color always query | less -R
$ getsploit --color never query
```

Цвет по умолчанию — `auto`. На широком терминале выводится таблица, на узком — записи
друг под другом, а при перенаправлении потока — значения, разделённые табуляцией:
в любом случае это одни и те же данные.

Выполните `getsploit --help`, чтобы увидеть полный список опций.

## Локальная база данных

| | |
| --- | --- |
| Расположение | `~/.getsploit/getsploit.db` или `$GETSPLOIT_HOME` |
| Формат | SQLite с индексом FTS5 для внешнего содержимого |
| Токенизатор | `unicode61 remove_diacritics 2` |
| Размер | примерно 1.7 ГБ для полного корпуса |
| Обновление | атомарно: новая база заменяет старую одной операцией |

При обновлении архив скачивается по восьми параллельным range-соединениям,
распаковывается и конвертируется рядом с целевым расположением, проверяется и только
затем фиксируется. Использование памяти не зависит от размера архива. Уже запущенный
поиск по старой базе продолжает работать с ней без помех.

Базы, созданные Getsploit 2.x, остаются доступными для поиска; следующая команда
`--update` перенесёт их с FTS4 на FTS5. Проксимити-выражения FTS4, такие как
`one NEAR/5 two`, необходимо переписать в форму `NEAR(...)` FTS5.

## Совместимость

| | |
| --- | --- |
| Python | 3.11, 3.12, 3.13, 3.14 |
| Операционные системы | Linux, macOS, Windows |
| Vulners SDK | 4.1 и новее 4.x |
| Зависимости времени выполнения | `click`, `rich`, `vulners` |

## Разработка

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

| Команда | Назначение |
| --- | --- |
| `make format` | Форматирование и автоисправление исходных файлов |
| `make lint` | Проверка форматирования, линтера и типов |
| `make test` | Запуск тестов параллельно |
| `make coverage` | Обеспечение 100% покрытия операторов и ветвлений |
| `make leaks` | Поиск секретов в отслеживаемых файлах |
| `make build` | Сборка wheel и исходного дистрибутива |
| `make release` | Запуск всех проверок и валидация обоих дистрибутивов |
| `make check` | Все вышеперечисленное, что блокирует merge |

[CONTRIBUTING.md](https://github.com/vulnerscom/getsploit/blob/master/CONTRIBUTING.md) содержит правила внесения вклада,
а [ARCHITECTURE.md](https://github.com/vulnerscom/getsploit/blob/master/ARCHITECTURE.md) — границы модулей и инварианты базы данных.

Релиз — это запушенный тег `v<version>`. Затем
[пайплайн релиза](https://github.com/vulnerscom/getsploit/blob/master/.github/workflows/release.yml) повторно прогоняет все проверки
на тегированном коммите, публикует пакет в PyPI через trusted publishing и создаёт
релиз GitHub на основе журнала изменений. Никакого PyPI-токена, который мог бы
утечь, не существует.

## Безопасность

Файлы исходников эксплойтов — недоверенное содержимое: просматривайте их перед
открытием или запуском. Сам Getsploit никогда не выполняет загруженное.

Релизы публикуются из GitHub Actions через trusted publishing PyPI, поэтому
не существует долгоживущего API-токена, который мог бы утечь, а каждый артефакт
содержит подтверждение происхождения сборки. Чтобы сообщить об уязвимости
в Getsploit, следуйте инструкциям в [SECURITY.md](https://github.com/vulnerscom/getsploit/blob/master/SECURITY.md).

## Лицензия

[MIT](https://github.com/vulnerscom/getsploit/blob/master/LICENSE) © Vulners Team и участники проекта.
Скачать инструмент