An optimized Python3 library to fetch the most recent exploit-database,
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyexploitdb-0.3.22.tar.gz.
File metadata
- Download URL: pyexploitdb-0.3.22.tar.gz
- Upload date:
- Size: 397.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca4d356aad6b39e777d7613adbd56de53b97975bd0760a19641ddce6d9379c49
|
|
| MD5 |
55955633c4ffbb4f92eb5da96ad060df
|
|
| BLAKE2b-256 |
1a96c4802e2fd7ae279e102ee971abd7e5b7ab6666d47a917a21146d5b8722f1
|
File details
Details for the file pyexploitdb-0.3.22-py3-none-any.whl.
File metadata
- Download URL: pyexploitdb-0.3.22-py3-none-any.whl
- Upload date:
- Size: 418.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3abc0bfc53326713699031474be4a402aad411502ad9c0d9e8bb03b470b88c06
|
|
| MD5 |
5473b15ac5adeef2768d8a96edd662ea
|
|
| BLAKE2b-256 |
1d5b8960dd08d00a71c0e8005c4e147bb11831563ce00db1ca6b897d90c2ee4a
|