pyTenable is intended to be a pythonic interface into the Tenable application APIs. Further by providing a common interface and a common structure between all of the various applications, we can ease the transition from the vastly different APIs between some of the products.
- Issue Tracker: https://github.com/tenable/pyTenable/issues
- Github Repository: https://github.com/tenable/pyTenable
To install the most recent published version to pypi, its simply a matter of installing via pip:
pip install pytenable
If you're looking for bleeding-edge, then feel free to install directly from the github repository like so:
pip install git+git://github.com/tenable/pytenable.git#egg=pytenable
Lets assume that we want to get the list of scans that have been run on our Tenable.io application. Performing this action is as simple as the following:
from tenable.io import TenableIO
tio = TenableIO('TIO_ACCESS_KEY', 'TIO_SECRET_KEY')
for scan in tio.scans.list():
print('{status}: {id}/{uuid} - {name}'.format(**scan))
Getting started with Tenable.sc is equally as easy:
from tenable.sc import TenableSC
sc = TenableSC('SECURITYCENTER_NETWORK_ADDRESS')
sc.login('SC_USERNAME', 'SC_PASSWORD')
for vuln in sc.analysis.vulns():
print('{ip}:{pluginID}:{pluginName}'.format(**vuln))
For more detailed information on whats available, please refer to the pyTenable Documentation
Enabling logging for pyTenable is a simple matter of enabling debug logs through the python logging package. An easy example is detailed here:
import logging
logging.basicConfig(level=logging.DEBUG)
The project is licensed under the MIT license.