
Cerca e scarica exploit pubblici dal database Vulners — online, oppure completamente offline da un indice locale SQLite FTS5.
Cerca e scarica exploit pubblici dal database Vulners — online, o completamente offline da un indice locale.
Ottieni una chiave API · Ricerca Vulners · Changelog · Architettura · Politica di sicurezza

--update costruisce un indice SQLite FTS5
locale dell'intero corpus di exploit; ogni ricerca successiva è una query locale.wordpress 4.7, CVE-2024-3094 e ms17-010
corrispondono letteralmente, mentre un'espressione full-text intenzionale riceve comunque la
sintassi FTS5 completa.--mirror scrive il corpo di ogni exploit in un proprio file.Getsploit richiede Python 3.11 o successivo.
$ pipx install getsploit
$ uv tool install getsploit
$ python -m pip install getsploit
Crea una chiave nel tuo account Vulners, poi esponila tramite l'ambiente:
$ export VULNERS_API_KEY="your-key" # pragma: allowlist secret
$env:VULNERS_API_KEY = "your-key" # pragma: allowlist secret
getsploit --set-key salva una chiave tramite un prompt di conferma nascosto, in un file
privato nella home di Getsploit. L'ambiente ha la precedenza su quel file ed è la scelta
migliore per l'automazione. Non esiste l'opzione --api-key: una chiave passata sulla riga
di comando finisce nella cronologia della shell e nell'elenco dei processi.
La ricerca online e --update richiedono una chiave. --local e --status no.
$ getsploit CVE-2024-3094
$ getsploit "wordpress 4.7 remote code execution" --count 25
La query arriva a Vulners invariata, quindi la sua sintassi Lucene funziona come documentato:
$ getsploit 'title:wordpress AND description:"code execution"'
--count oltre 100 viene impaginato in modo trasparente; una singola risposta API non
contiene mai più di 100 documenti.
$ getsploit --update # scarica l'archivio e costruisce l'indice FTS5
$ getsploit --status # dov'è, quanto è grande, quanti documenti contiene
$ getsploit --local wordpress 4.7
Le parole di ricerca ordinarie vengono confrontate letteralmente, quindi identificatori e
numeri di versione funzionano come digitati: wordpress 4.7, CVE-2024-3094,
ms17-010. Una query che usa filtri di colonna, operatori booleani, virgolette,
parentesi, * o ^ viene trattata come una
espressione SQLite FTS5 e segnala un proprio errore
quando è malformata:
$ getsploit --local 'title:eternalblue AND NOT description:metasploit'
Le colonne ricercabili sono id, title, published, description e source_data. È
ancora accettata la grafia legacy sourceData:.
$ getsploit --mirror wordpress 4.7
$ getsploit --local --mirror eternalblue
I file finiscono in una directory derivata dalla query, un file per exploit, creati senza seguire symlink e senza mai sovrascrivere nulla che esista già.
[!WARNING] I file replicati sono codice di terze parti non affidabile. Leggili prima di eseguirli.
$ getsploit --format json CVE-2024-3094
$ getsploit --format jsonl wordpress | jq -r .id
$ getsploit wordpress > results.tsv # l'output reindirizzato è separato da tabulazioni
--json resta un alias per --format json.
$ getsploit --color always query | less -R
$ getsploit --color never query
Il colore predefinito è auto. Un terminale largo ottiene una tabella, uno stretto record
impilati e un flusso reindirizzato valori separati da tabulazione — gli stessi dati in
tutti e tre i casi.
Esegui getsploit --help per l'elenco completo delle opzioni.
| Posizione | ~/.getsploit/getsploit.db, oppure $GETSPLOIT_HOME |
| Formato | SQLite con indice FTS5 a contenuto esterno |
| Tokenizer | unicode61 remove_diacritics 2 |
| Dimensioni | circa 1,7 GB per l'intero corpus |
| Aggiornamento | atomico: il nuovo database sostituisce il vecchio con una singola operazione |
Un aggiornamento scarica l'archivio tramite otto connessioni di intervallo parallele, lo decomprime e lo converte accanto alla destinazione, lo verifica e solo allora esegue il commit. L'uso della memoria non dipende dalla dimensione dell'archivio. Una ricerca già in esecuzione sul vecchio database termina su di esso senza interferenze.