Skip to main content

NOTICE

This is the new home of "pyexploitdb".

pyexploitdb (https://shanewilliamscott.com)

Python package Known Vulnerabilities

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.csv first 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.51

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyexploitdb 0.3.51
File Size Uploaded Provenance Actions
pyexploitdb-0.3.51.tar.gz 397.9 kB Without provenance Details for pyexploitdb-0.3.51.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyexploitdb 0.3.51
File Interpreter ABI Platform Actions
pyexploitdb-0.3.51-py3-none-any.whl Python 3 none any Details for pyexploitdb-0.3.51-py3-none-any.whl

Total release size: 816.7 kB

Release files / pyexploitdb-0.3.51.tar.gz

Download URL pyexploitdb-0.3.51.tar.gz
Size 397.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e595fbe002aeb94582c47f002cb427f1ea639ab97d13c909c882ef03868c9804
BLAKE2b-256 checksum
How to use checksums
a8d98761f11909fdc818930f10dc39443723d55838dd03ef4831e41f280d5bd8
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.51-py3-none-any.whl

Download URL pyexploitdb-0.3.51-py3-none-any.whl
Size 418.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56956c397150b25e75d9df18126f083ccaf562a50e880135c5598e3f91fd2875
BLAKE2b-256 checksum
How to use checksums
169229ba431616711c2ba7da31141d198ee477dd8ec5f933311cb8028f9eb769
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.51

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.

Release history Release notifications | RSS feed

This release

0.3.51 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page