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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyexploitdb-0.3.39.tar.gz (397.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyexploitdb-0.3.39-py3-none-any.whl (418.8 kB view details)

Uploaded Python 3

File details

Details for the file pyexploitdb-0.3.39.tar.gz.

File metadata

  • Download URL: pyexploitdb-0.3.39.tar.gz
  • Upload date:
  • Size: 397.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for pyexploitdb-0.3.39.tar.gz
Algorithm Hash digest
SHA256 2cda15cb023f4090cd17d5b84f4699041b94601d54b0822e38fe4ce0785b2b04
MD5 16e2d01322c83742cf4994acbd367c45
BLAKE2b-256 e1b6b5c15e2bc0f9261ceff6cee58adc5a003474b3232890ee8ea88c83c93240

See more details on using hashes here.

File details

Details for the file pyexploitdb-0.3.39-py3-none-any.whl.

File metadata

  • Download URL: pyexploitdb-0.3.39-py3-none-any.whl
  • Upload date:
  • Size: 418.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for pyexploitdb-0.3.39-py3-none-any.whl
Algorithm Hash digest
SHA256 bc7862911bd07b693573e4be69f3cd263079f974d0651f2474cd01fb53b2b06b
MD5 91490d882206dddf55bf9d7d77c0f9bc
BLAKE2b-256 da5ac26abc30ddaca4dd2d35fb7773f872355ac08c2b3d10de163a406cae9000

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page