Zurück zu den Updates
New releaseAug 18, 2026

getsploit v3.0.1

Durchsuchen und Herunterladen öffentlicher Exploits aus der Vulners-Datenbank — online oder vollständig offline über einen lokalen SQLite-FTS5-Index.

Teilen

Getsploit

Öffentliche Exploits aus der Vulners-Datenbank suchen und herunterladen — online oder vollständig offline aus einem lokalen Index.

PyPI Python Downloads Stars CI CodeQL OpenSSF Scorecard Coverage Typed Ruff uv License: MIT

API-Schlüssel erhalten · Vulners-Suche · Changelog · Architektur · Sicherheitsrichtlinie

Getsploit sucht online, erstellt einen lokalen FTS5-Index und sucht und spiegelt dann offline


Warum Getsploit

  • 🔎 Eine Abfrage, jede Sammlung. Exploit-DB, Metasploit, Packet Storm, Zero Day Initiative, GitHub-Proof-of-Concepts und mehr, wie von Vulners indexiert.
  • 📴 Funktioniert ohne Netzwerk. Ein einziger --update-Aufruf erstellt einen lokalen SQLite-FTS5-Index des gesamten Exploit-Korpus; jede spätere Suche ist eine lokale Abfrage.
  • 🧠 Sucht nach dem, was du eingegeben hast. wordpress 4.7, CVE-2024-3094 und ms17-010 werden wörtlich abgeglichen, während ein bewusster Volltextausdruck weiterhin die volle FTS5-Syntax erhält.
  • 📊 Fortschritt, dem du vertrauen kannst. Jede Phase eines Updates meldet echte Zahlen, und die beiden Phasen, deren Größe nicht bekannt sein kann, sagen dies, anstatt einen Prozentsatz zu erfinden.
  • 🧾 Pipe-freundlich. JSON, JSON Lines und stabile tabulatorgetrennte Datensätze, wenn die Ausgabe umgeleitet wird. Keine Farbe oder Dekoration erreicht jemals ein Maschinenformat.
  • 💾 Behält die Quelle. --mirror schreibt jeden Exploit-Text in eine eigene Datei.
  • 🔐 Vorsichtig mit deinen Daten. Der Schlüssel ist nie ein Befehlszeilenargument, die Schlüsseldatei wird ohne das Folgen von Symlinks geöffnet, und heruntergeladene Inhalte werden nie ausgeführt.
  • 🧪 Verifiziert. 100 % Anweisungs- und Zweigabdeckung auf Python 3.11 bis 3.14, unter Linux, macOS und Windows.

Installation

Getsploit benötigt Python 3.11 oder neuer.

$ pipx install getsploit
$ uv tool install getsploit
$ python -m pip install getsploit

API-Schlüssel

Erstelle einen Schlüssel in deinem Vulners-Konto und gib ihn dann über die Umgebung an:

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

getsploit --set-key speichert einen Schlüssel über eine versteckte Bestätigungsaufforderung in einer privaten Datei im Getsploit-Homeverzeichnis. Die Umgebungsvariable hat Vorrang vor dieser Datei und ist die bessere Wahl für die Automatisierung. Es gibt keine --api-key-Option: Ein Schlüssel, der über die Befehlszeile übergeben wird, landet in der Shell-Historie und in der Prozessliste.

Online-Suche und --update benötigen einen Schlüssel. --local und --status nicht.

Verwendung

Online-Suche

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

Die Abfrage erreicht Vulners unverändert, sodass ihre Lucene-Syntax wie dokumentiert funktioniert:

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

--count über 100 wird transparent paginiert; eine einzelne API-Antwort enthält nie mehr als 100 Dokumente.

Offline-Suche

$ getsploit --update                 # Archiv herunterladen und FTS5-Index erstellen
$ getsploit --status                 # wo es ist, wie groß, wie viele Dokumente
$ getsploit --local wordpress 4.7

Gewöhnliche Suchwörter werden wörtlich abgeglichen, sodass Bezeichner und Versionsnummern wie eingegeben funktionieren: wordpress 4.7, CVE-2024-3094, ms17-010. Eine Abfrage, die Spaltenfilter, boolesche Operatoren, Anführungszeichen, Klammern, * oder ^ verwendet, wird als SQLite-FTS5-Ausdruck behandelt und meldet bei fehlerhafter Syntax einen eigenen Fehler:

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

Durchsuchbare Spalten sind id, title, published, description und source_data. Die alte Schreibweise sourceData: wird weiterhin akzeptiert.

Exploit-Quellen speichern

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

Die Dateien landen in einem aus der Abfrage abgeleiteten Verzeichnis, eine Datei pro Exploit, erstellt ohne dem Folgen von Symlinks und ohne jemals etwas zu überschreiben, das bereits existiert.

[!WARNING] Gespiegelte Dateien sind nicht vertrauenswürdiger Code von Drittanbietern. Lies sie, bevor du sie ausführst.

Maschinenlesbare Ausgabe

$ getsploit --format json CVE-2024-3094
$ getsploit --format jsonl wordpress | jq -r .id
$ getsploit wordpress > results.tsv       # umgeleitete Ausgabe ist tabulatorgetrennt

--json bleibt ein Alias für --format json.

Terminalsteuerung

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

Die Farbausgabe ist standardmäßig auf auto gesetzt. Ein breites Terminal erhält eine Tabelle, ein schmales gestapelte Datensätze, und ein umgeleiteter Stream erhält tabulatorgetrennte Werte — dieselben Daten in allen drei Fällen.

Führe getsploit --help aus, um die vollständige Optionsliste zu erhalten.

Die lokale Datenbank

Speicherort~/.getsploit/getsploit.db oder $GETSPLOIT_HOME
FormatSQLite mit einem FTS5-Index für externe Inhalte
Tokenizerunicode61 remove_diacritics 2
Größeungefähr 1,7 GB für den vollständigen Korpus
Updateatomar: Die neue Datenbank ersetzt die alte in einem einzigen Vorgang

Kategorien