
Rechercher et télécharger des exploits publics depuis la base de données Vulners — en ligne, ou entièrement hors ligne à partir d'un index local SQLite FTS5.
Recherchez et téléchargez des exploits publics depuis la base de données Vulners — en ligne, ou entièrement hors ligne depuis un index local.
Obtenir une clé API · Recherche Vulners · Journal des modifications · Architecture · Politique de sécurité

--update construit un index SQLite FTS5 local de
l'ensemble du corpus d'exploits ; toute recherche ultérieure est une requête locale.wordpress 4.7, CVE-2024-3094 et ms17-010
correspondent littéralement, tandis qu'une expression full-text délibérée bénéficie toujours de toute la syntaxe FTS5.--mirror écrit le contenu de chaque exploit dans son propre fichier.Getsploit nécessite Python 3.11 ou plus récent.
$ pipx install getsploit
$ uv tool install getsploit
$ python -m pip install getsploit
Créez une clé dans votre compte Vulners, puis exposez-la via l'environnement :
$ export VULNERS_API_KEY="your-key" # pragma: allowlist secret
$env:VULNERS_API_KEY = "your-key" # pragma: allowlist secret
getsploit --set-key enregistre une clé via une invite de confirmation masquée, dans un fichier privé
situé dans le répertoire personnel de Getsploit. L'environnement a priorité sur ce fichier et constitue le
meilleur choix pour l'automatisation. Il n'existe pas d'option --api-key : une clé passée en ligne de commande
se retrouve dans l'historique du shell et dans la liste des processus.
La recherche en ligne et --update nécessitent une clé. --local et --status n'en nécessitent pas.
$ getsploit CVE-2024-3094
$ getsploit "wordpress 4.7 remote code execution" --count 25
La requête atteint Vulners sans modification, donc sa syntaxe Lucene fonctionne comme documenté :
$ getsploit 'title:wordpress AND description:"code execution"'
--count au-delà de 100 est paginé de manière transparente ; une réponse API unique ne transporte jamais plus de 100 documents.
$ getsploit --update # download the archive and build the FTS5 index
$ getsploit --status # where it is, how big, how many documents
$ getsploit --local wordpress 4.7
Les mots de recherche ordinaires sont mis en correspondance littéralement, donc les identifiants et les numéros
de version fonctionnent tels que saisis : wordpress 4.7, CVE-2024-3094, ms17-010. Une requête
qui utilise des filtres de colonnes, des opérateurs booléens, des guillemets, des parenthèses, * ou ^
est traitée comme une expression SQLite FTS5 et signale sa propre erreur
lorsqu'elle est mal formée :
$ getsploit --local 'title:eternalblue AND NOT description:metasploit'
Les colonnes interrogeables sont id, title, published, description et source_data.
L'ancienne orthographe sourceData: reste acceptée.
$ getsploit --mirror wordpress 4.7
$ getsploit --local --mirror eternalblue
Les fichiers sont placés dans un répertoire dérivé de la requête, un fichier par exploit, créés sans suivre les liens symboliques et sans jamais écraser un fichier existant.
[!WARNING] Les fichiers reflétés sont du code tiers non fiable. Lisez-les avant de les exécuter.
$ getsploit --format json CVE-2024-3094
$ getsploit --format jsonl wordpress | jq -r .id
$ getsploit wordpress > results.tsv # redirected output is tab-separated
--json reste un alias pour --format json.
$ getsploit --color always query | less -R
$ getsploit --color never query
La couleur est définie par défaut sur auto. Un terminal large affiche un tableau, un terminal étroit
affiche des enregistrements empilés, et un flux redirigé affiche des valeurs séparées par des tabulations —
les mêmes données dans les trois cas.
Exécutez getsploit --help pour la liste complète des options.
| Emplacement | ~/.getsploit/getsploit.db, ou $GETSPLOIT_HOME |
| Format | SQLite avec un index FTS5 à contenu externe |
| Tokenizer | unicode61 remove_diacritics 2 |
| Taille | environ 1,7 Go pour l'ensemble du corpus |
| Mise à jour | atomique : la nouvelle base remplace l'ancienne en une seule opération |