Skip to main content

A Python wrapper for the Qualys API.

Project description

QualysPy

A Python wrapper for the Qualys API. Qualys data can be interacted with using a Python model, loaded into a PostgreSQL database, and queryed from that database with the same model.

This is a work in progress. The currently supported API calls are:

  • VMDR
    • host_list_detection

Requirements

  • Python >= 3.10
  • A supported version of Linux (tested on Ubuntu 22.04)
  • A supported version of PostgreSQL, if you want to use the ORM classes.

Installation

python -m venv .venv
source .venv/bin/activate
pip install qualyspy

Then, create a config file to indicate the Qualys API URLS and credentials and, optionally, PostgreSQL database information. See config-example.ini for an example configuration file. By default, QualysPy will search for this file at ~/etc/qualyspy/config.ini, but a different file path can be supplied.

Usage

Documentation is located at https://qualyspy.readthedocs.io.

Each Qualys API has class subclassed from QualysAPIBase. For example, to connect to the VMDR API:

from qualyspy.vmdr import VmdrAPI

api = VmdrAPI()

The API object has methods corresponding to the Qualys API's endpoints.

host_vulns = api.host_list_detection(ids=12345)

To load the data into a database, use the ORM class corresponding to the API endpoint. For the host_list_detection endpoint:

from qualyspy.vmdr import HostListDetectionORM
# Tip: You can pass echo=True to an ORM class to write the SQL commands to stdout
orm = HostListDetectionORM()
orm.load() # This may take some time, depending on how much data there is to load.

Finally, the data can be queryed and will be outputted in the same form as with VmdrAPI.

from qualyspy.models.vmdr.host_list_vm_detection_orm import Host

# Get all hosts from the database
with orm.Session(vmdr_orm.engine) as session:
    stmt = session.query(Host)
    host_list = vmdr_orm.query(stmt)[0]
    host = host_list.host[0]

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

qualyspy-0.3.10.6.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

qualyspy-0.3.10.6-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file qualyspy-0.3.10.6.tar.gz.

File metadata

  • Download URL: qualyspy-0.3.10.6.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for qualyspy-0.3.10.6.tar.gz
Algorithm Hash digest
SHA256 e6a24c2314b5d38487f618105e69dd5a3f88d90dfc2850734ea0f4a263491645
MD5 290ab22a6e7a20eb0e14f0d0f499a949
BLAKE2b-256 69703010ff4f2514ceba55bfe86e365955c8366f7ba9192a664d1a20bc5673b3

See more details on using hashes here.

File details

Details for the file qualyspy-0.3.10.6-py3-none-any.whl.

File metadata

  • Download URL: qualyspy-0.3.10.6-py3-none-any.whl
  • Upload date:
  • Size: 32.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for qualyspy-0.3.10.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d41d1a7e945659f88c999fdc3a81d520210def0f065a71e8f6d8b700bfac79c1
MD5 a6e05ea7ce17395b1efc98de24435ee3
BLAKE2b-256 166d25e62f9ee9c5037e778db74bc990e0c120326b436b5e4a34c2e6d9738c08

See more details on using hashes here.

Supported by

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