
getsploit v3.0.1
Durchsuchen und Herunterladen öffentlicher Exploits aus der Vulners-Datenbank — online oder vollständig offline über einen lokalen SQLite-FTS5-Index.
Getsploit
Öffentliche Exploits aus der Vulners-Datenbank suchen und herunterladen — online oder vollständig offline aus einem lokalen Index.
API-Schlüssel erhalten · Vulners-Suche · Changelog · Architektur · Sicherheitsrichtlinie

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-3094undms17-010werden 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.
--mirrorschreibt 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 |
| Format | SQLite mit einem FTS5-Index für externe Inhalte |
| Tokenizer | unicode61 remove_diacritics 2 |
| Größe | ungefähr 1,7 GB für den vollständigen Korpus |
| Update | atomar: Die neue Datenbank ersetzt die alte in einem einzigen Vorgang |