Skip to main content

EPSS API Python Client

Project description

https://badge.fury.io/py/epss-api.svg https://img.shields.io/pypi/dw/epss-api?style=flat https://github.com/kannkyo/epss-api/actions/workflows/python-ci.yml/badge.svg https://codecov.io/gh/kannkyo/epss-api/branch/main/graph/badge.svg?token=R40FT0KITO https://github.com/kannkyo/epss-api/actions/workflows/scorecards.yml/badge.svg

EPSS(Exploit Prediction Scoring System) API client.

EPSS is the one of famous vulnerability score developed by FIRST (the Forum of Incident Response and Security Teams).

EPSS’s definition:

The Exploit Prediction Scoring System (EPSS) is an open, data-driven effort for estimating the likelihood (probability) that a software vulnerability will be exploited in the wild. Our goal is to assist network defenders to better prioritize vulnerability remediation efforts. While other industry standards have been useful for capturing innate characteristics of a vulnerability and provide measures of severity, they are limited in their ability to assess threat. EPSS fills that gap because it uses current threat information from CVE and real-world exploit data. The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

https://www.first.org/epss/

This package is most easiest and efficient EPSS api client.

Usage

EPSS has some methods.

>>> from epss_api import EPSS
>>>
>>> client = EPSS()

>>> print(client.scores()[0])
{'cve': 'CVE-1999-0013', 'epss': 0.00042, 'percentile': 0.05071}

>>> print(client.score('CVE-2024-0001'))
{'cve': 'CVE-2024-0001', 'epss': 0.00091, 'percentile': 0.4063}

>>> print(client.csv()[1])
cve,epss,percentile

>>> print(client.epss('CVE-2024-0001'))
0.00091

>>> print(client.epss_ge(0.50003)[0])
{'cve': 'CVE-2022-0651', 'epss': 0.50003, 'percentile': 0.97652}

>>> print(client.epss_gt(0.50003)[0])
{'cve': 'CVE-2018-0851', 'epss': 0.50036, 'percentile': 0.97653}

>>> print(client.epss_le(0.49982)[-1])
{'cve': 'CVE-2014-8074', 'epss': 0.49982, 'percentile': 0.97651}

>>> print(client.epss_lt(0.49982)[-1])
{'cve': 'CVE-2018-8011', 'epss': 0.49981, 'percentile': 0.97651}

>>> print(client.percentile('CVE-2024-0001'))
0.4063

>>> print(client.percentile_ge(0.5)[0])
{'cve': 'CVE-2019-5426', 'epss': 0.00137, 'percentile': 0.5}

>>> print(client.percentile_gt(0.5)[0])
{'cve': 'CVE-2021-43464', 'epss': 0.00137, 'percentile': 0.50004}

>>> print(client.percentile_le(0.5)[-1])
{'cve': 'CVE-2022-27777', 'epss': 0.00137, 'percentile': 0.5}

>>> print(client.percentile_lt(0.5)[-1])
{'cve': 'CVE-2021-1625', 'epss': 0.00137, 'percentile': 0.49999}

If you call either one method, EPSS client cache all CVE’s score in memory. After caching, you can get all data very fast.

Project details


Download files

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

Source Distribution

epss_api-1.3.9.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

epss_api-1.3.9-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file epss_api-1.3.9.tar.gz.

File metadata

  • Download URL: epss_api-1.3.9.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for epss_api-1.3.9.tar.gz
Algorithm Hash digest
SHA256 439f2d146617890e6a4d1c3f4d5f254013a007a14fa9a5a30c3fc307ed21cf60
MD5 edf518b27e43a148e3956b86a94f0099
BLAKE2b-256 35dddd20595c98ef9f7a67767ad09e0df1ece01d1538b6eb2343b43020532894

See more details on using hashes here.

File details

Details for the file epss_api-1.3.9-py3-none-any.whl.

File metadata

  • Download URL: epss_api-1.3.9-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for epss_api-1.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 be6ba6ea467b82b9226567b3da9fabddb10dc570da7e8a8f2782c28f4283cb39
MD5 f457740344242e48b365877eb8ce35dd
BLAKE2b-256 4ffbd58333f94b50d013a3d8333612799fbef090d42870ed0c06715a31f668c6

See more details on using hashes here.

Supported by

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