Updated Jul 15, 2026

Vulnerabilities

Query Exploit-DB for published exploits by CVE or scan

Offline CLI search across the local Exploit-DB archive of exploits and shellcodes.

Agent

overview

What searchsploit does

searchsploit is the CLI for Exploit-DB. Pass a search term, a CVE via --cve, or Nmap XML via --nmap, and it returns matching exploits and shellcodes from a local archive copy.

Default matching is flexible. --title and --exact narrow titles, --strict turns off fuzzy version ranges, and --exclude drops pipe-separated noise. --json emits structured records for downstream parsing.

Use it after service detection when you need candidate exploit code, not a live vulnerability probe. Pair with nuclei or a scanner to confirm what still works against the target.

source gitlab.com/exploit-database/exploitdb

use cases

Where searchsploit fits

Map a service version to exploits

Feed an Nmap XML scan with --nmap so every detected service and version is checked against Exploit-DB, turning a port scan into a candidate-exploit list.

Look up exploits by CVE

Use --cve to search the archive directly for a Common Vulnerabilities and Exposures id and pull any published exploit code.

Narrow a broad search

Combine --title and --exact to find precise software-and-version entries, avoiding loose hits that a default fuzzy search returns.

Emit structured results

Set --json so each result becomes a record that a downstream node can parse, filter, and route into reporting.

reference

searchsploit inputs and flags

15 inputs
NameTypeFlagDescription
termSTRING·Search term.
cveBOOLEAN--cveSearch for a Common Vulnerabilities and Exposures (CVE) value.
nmapFILE--nmapCheck all results against an Nmap XML output with service versions.
jsonBOOLEAN--jsonShow results in JSON format.
titleBOOLEAN--titleSearch only the exploit title (default matches title and file path).
exactBOOLEAN--exactPerform an exact, ordered match on the exploit title.
strictBOOLEAN--strictStrict search, disabling fuzzy matching for version ranges.
excludeSTRING--excludeRemove values from results, chaining multiple with a pipe.

Showing key inputs. searchsploit exposes 15 inputs in total.

Full flag reference (15 inputs)
NameTypeFlagDescription
idBOOLEAN--idDisplay the EDB-ID value rather than local path
cveBOOLEAN--cveSearch for Common Vulnerabilities and Exposures (CVE) value
wwwBOOLEAN--wwwShow URLs to Exploit-DB.com rather than the local path
caseBOOLEAN--casePerform a case-sensitive search (Default is inSEnsITiVe)
jsonBOOLEAN--jsonShow result in JSON format
nmapFILE--nmapChecks all results in Nmap's XML output with service version
pathBOOLEAN--pathShow the full path to an exploit (and also copies the path to the clipboard if possible)
termSTRING·Search term
exactBOOLEAN--exactPerform an EXACT & order match on exploit title (Default is an AND match on each term) [Implies "--title"] (e.g. "WordPress 4.1" would not be detect "WordPress Core 4.1")
titleBOOLEAN--titleSearch JUST the exploit title (Default is title AND the file's path)
strictBOOLEAN--strictPerform a strict search, so input values must exist, disabling fuzzy search for version range (e.g. "1.1" would not be detected in "1.0 < 1.3")
excludeSTRING--excludeRemove values from results. By using "|" to separate, you can chain multiple values (e.g. "term1|term2|term3")
verboseBOOLEAN--verboseDisplay more information in output
overflowBOOLEAN--overflowExploit titles are allowed to overflow their columns
disable-colourBOOLEAN--disable-colourDisable colour highlighting in search results

example

Run searchsploit

searchsploit · command
# title-only search with JSON outputsearchsploit --title --json apache 2.4
sample output
---------------------------------------------------------------------------------------- Exploit Title                               |  Path----------------------------------------------------------------------------------------Apache HTTP Server 2.4.49 - Path Traversal   |  linux/remote/50383.shApache 2.4.49 - Path Traversal / RCE         |  multiple/webapps/50406.rbApache 2.4.50 - Path Traversal / RCE         |  multiple/webapps/50850.pyApache mod_proxy - Reverse Proxy Exposure    |  linux/remote/20421.c----------------------------------------------------------------------------------------

guidance

Choosing searchsploit

Reach for searchsploit when you have software, a version, or a CVE and want published Exploit-DB entries. It searches an offline archive rather than testing live targets, so confirm exploitability with nuclei or a direct scanner.

nuclei

Tests live targets against templates rather than searching an offline exploit archive.

nmap

Produces the service-version XML that searchsploit consumes with --nmap.

metasploit

Framework of working exploit modules for confirmed execution against targets.

faq

searchsploit questions

From a local copy of the Exploit-DB archive. Searches run offline against that on-disk index.

Run searchsploit yourself

An Nmap XML scan feeds SearchSploit, which checks every detected service version against Exploit-DB and writes the matching exploits as a queryable output.

Facts on this page come from the live Trickest tool library.