Skip to main content

A tool to convert OpenVAS XML into reports.

Project description

OpenVAS Reporting:

GitHub version License Docs Known Vulnerabilities codecov Requirements Status PyPI - Format PyPI - Python Version

A tool to convert OpenVAS XML into reports.

Report example screenshot

Read the full documentation at

I forked OpenVAS2Report since it didn't manage to convert all reports I threw at it and because I wanted to learn how to use Python for working with XML and creating Excel files.
Also, OpenVAS mixes their own threat levels with the CVSS scoring, the latter of which I prefer to use in my reports.

Looking for a fix and providing an actual fix through a pull request would have been too much work, so I chose to fork the repo and try my own thing.
I reorganised some of the files, removed some functionality and added some extra, and rewrote some functions.

At this moment in time, the script only output .xlsx documents in one format, this may (not) change in the future.



# install requirements
apt(-get) install python3 python3-pip # Debian, Ubuntu
yum -y install python3 python3-pip    # CentOS
dnf install python3 python3-pip       # Fedora
pip3 install -r requirements.txt
# clone repo
git clone


python3 -m openvasreporting -i [OpenVAS xml file(s)] [-o [Output file]] [-f [Output format]] [-l [minimal threat level (n, l, m, h, c)]]


Short param Long param Description Required Default value
-i --input Input file(s) YES n/a
-o --output Output filename No openvas_report
-f --format Output format No xlsx
-l --level Minimal level No n


Create Excel report from 1 OpenVAS XML report using default settings

python3 -m openvasreporting -i openvasreport.xml -f xlsx

Create Excel report from multiple OpenVAS reports using default settings

# wildcard select
python3 -m openvasreporting -i *.xml -f xlsx
# selective
python3 -m openvasreporting -i openvasreport1.xml -i openvasreport2.xml -f xlsx

Create Excel report from multiple OpenVAS reports, reporting only threat level high and up

python3 -m openvasreporting -i *.xml -o excelreport -f xlsx -l h


The final report (in Excel format) will then look something like this:

Report example screenshot - Summary Report example screenshot - ToC Report example screenshot - Vuln desc

Worksheets are sorted according to CVSS score and are colored according to the vulnerability level.


Some of the ideas I still have for future functionality:

  • list vulnerabilities per host
  • make pip installer
  • filter by host (scope/exclude) as in OpenVAS2Report
  • export to other formats (CSV, PDF)
  • select threat levels individually (e.g. none and low; but not med, high and crit)

Project details

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
OpenVAS_Reporting-1.3.0-py3-none-any.whl (6.3 kB) Copy SHA256 hash SHA256 Wheel py3 Sep 20, 2018
OpenVAS Reporting-1.3.0.tar.gz (36.6 MB) Copy SHA256 hash SHA256 Source None Sep 20, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page