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.
Metadata
Release files for pyexploitdb 0.3.50
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyexploitdb-0.3.50.tar.gz | 397.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyexploitdb-0.3.50-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 816.6 kB
Release files / pyexploitdb-0.3.50.tar.gz
| Download URL | pyexploitdb-0.3.50.tar.gz |
|---|---|
| Size | 397.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
892bbcf9acf1865d1733b29d29af66ee5598aca0b67458ed655260cfda20d927
|
|
BLAKE2b-256 checksum How to use checksums |
9a84e165932fec155e0f0c8ea6f1f6781d84bf229c2af7451e11bf310ddff24b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / pyexploitdb-0.3.50-py3-none-any.whl
| Download URL | pyexploitdb-0.3.50-py3-none-any.whl |
|---|---|
| Size | 418.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
875d9f7df52ceef6890f5477fb6e21146e9f009e341ceb36dfcebe028f576855
|
|
BLAKE2b-256 checksum How to use checksums |
d0b0ea546624ced35bf55d2ba9f6f8c1d8acdbe5ac938b8b74c57a0e9d56d21a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Security for pyexploitdb 0.3.50
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.