NOTICE
This is the new home of "pyexploitdb".
pyexploitdb (https://shanewilliamscott.com)
Authors:
Shane William Scott
About pyexploitdb
pyexploitdb builds and maintains local CVE↔EDB indexes from the official exploit-db repository with a focus on resilience and observability.
Highlights
- Validates on-disk caches and normalises mappings to keep indexes trustworthy.
- Rebuilds quickly by parsing
files_exploits.csvfirst and only scraping missing CVEs with bounded concurrency. - Ships with a practical smoke-test suite (
python -m tests.smoke_test) so releases can be verified before publishing.
Upcoming features
CPE database, indexes and mappings
Installation
pip install pyexploitdb
Note: This assumes pip is for your python3 environment. Use pip3 if pip is for your python2 environment.
Example Usage
from pyexploitdb import PyExploitDb
exploit_db = PyExploitDb()
exploit_db.debug = False
exploit_db.open_file()
results = exploit_db.search_cve("CVE-2018-14592")
for exploit in results:
print(f"{exploit['id']} -> {exploit['file']}")
search_cve returns a list of dictionaries (one per matching exploit). The library raises pyexploitdb.PyExploitDbError when required data is missing or network/git operations fail after retrying.
To rebuild the CVE caches from scratch without hammering exploit-db, metadata is extracted from files_exploits.csv first and any missing CVEs fall back to concurrent (throttled) scraping:
from pyexploitdb import PyExploitDb
with PyExploitDb() as exploit_db:
exploit_db.update_db(workers=6) # adjust workers to control parallel HTTP fetches
Tests
Run the practical smoke tests before publishing to PyPI:
python -m tests.smoke_test
Example debug/verbose output
CVE-2018-1459 Found Exploit DB Id: 45447 File: ./exploit-database/exploits/php/webapps/45447.txt Date: 2018-09-24 Author: Haboob Team Platform: webapps Type: php Port: 80 {'edbid': '45447', 'exploit': './exploit-database/exploits/php/webapps/45447.txt', 'date': '2018-09-24', 'author': 'Haboob Team', 'platform': 'webapps', 'type': 'php', 'port': '80'}
Credits
Based on fork from https://github.com/GoVanguard/pyExploitDb by Shane Scott. Originally based on fork of cve_searchsploit by Andrea Fioraldi.
Release files for pyexploitdb 0.3.45
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyexploitdb-0.3.45.tar.gz | 397.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyexploitdb-0.3.45-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 816.7 kB
Release files / pyexploitdb-0.3.45.tar.gz
| Download URL | pyexploitdb-0.3.45.tar.gz |
|---|---|
| Size | 397.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a5e70a5bab6888e4b53f48fa7855a4ef04d2efe985fa7a3f111867c0d392dae
|
|
BLAKE2b-256 checksum How to use checksums |
7272add4633c738bd1deaf68a12b2b498e9f454fc7f2e5d15d60ed02b7fae67f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / pyexploitdb-0.3.45-py3-none-any.whl
| Download URL | pyexploitdb-0.3.45-py3-none-any.whl |
|---|---|
| Size | 418.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a766d7b59d53b14d049c9311bf3281a61b519acbfa79d8ac3b94e7ac109e811
|
|
BLAKE2b-256 checksum How to use checksums |
6d79221e62b8cab911f8af754a4cd9b7e9821aca747026ab3ae3ccfefb39cab7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|