Nessus File Reader (NFR)

raw JSON →
0.8.0 verified Mon Apr 27 auth: no python

A CLI tool and Python module for parsing Nessus scan result files (.nessus) from Tenable Nessus and Tenable Security Center. Current version 0.8.0, released April 2026. Active development with periodic releases.

pip install nessus-file-reader
error ModuleNotFoundError: No module named 'nessus_file_reader'
cause Package not installed or import name wrong.
fix
Run pip install nessus-file-reader and import using from nessus_file_reader import NessusParser.
error AttributeError: module 'nessus_file_reader' has no attribute 'NessusParser'
cause Incorrect import syntax.
fix
Use from nessus_file_reader import NessusParser.
gotcha The module name uses underscores (nessus_file_reader), not hyphens. Import with underscores.
fix Use `from nessus_file_reader import NessusParser`.
deprecated Python 3.7 support removed in v0.4.3.
fix Use Python 3.8 or later.
gotcha CLI output column names changed in v0.4.2 (e.g., 'nessus_scan_file' -> 'File name'). Scripts parsing CLI output may break.
fix Update scripts to use new column names.
breaking In v0.7.2, the scan function 'number_of_scanned_hosts_with_credentialed_checks_yes' could return None causing TypeError. Fixed in same version.
fix Upgrade to v0.7.2 or later.

Basic usage: parse a .nessus file and retrieve hosts and vulnerabilities.

from nessus_file_reader import NessusParser

# Parse a Nessus file
parser = NessusParser('scan.nessus')

# Get list of hosts
hosts = parser.hosts()
print(hosts)

# Get vulnerabilities for a host
vulns = parser.vulnerabilities('192.168.1.1')
print(vulns)