implementing-vulnerability-management-with-greenbone
Implementing Vulnerability Management with Greenbone
Overview
Greenbone Vulnerability Management (GVM) is the open-source framework behind OpenVAS, providing comprehensive vulnerability scanning with over 100,000 Network Vulnerability Tests (NVTs). The python-gvm library provides a Python API to interact with GVM through the Greenbone Management Protocol (GMP), enabling programmatic creation of scan targets, task management, scan execution, and report retrieval. This skill covers connecting to GVM via Unix socket or TLS, authenticating, creating scan configs and targets, launching scans, and parsing XML-based vulnerability reports to produce actionable findings.
Prerequisites
- Greenbone Community Edition or Greenbone Enterprise Appliance installed
- Python 3.9+ with
python-gvm(pip install python-gvm) - GMP access credentials (username/password)
- Network connectivity to GVM daemon (Unix socket or TCP/TLS)
- Understanding of CVSS scoring and vulnerability classification
Steps
- Install python-gvm:
pip install python-gvm - Establish a GMP connection via
UnixSocketConnectionorTLSConnection - Authenticate with
gmp.authenticate(username, password) - Create a target with
gmp.create_target(name, hosts=[...], port_list_id=...) - Create a scan task with
gmp.create_task(name, config_id, target_id, scanner_id) - Start the scan with
gmp.start_task(task_id) - Monitor scan progress with
gmp.get_task(task_id) - Retrieve results with
gmp.get_report(report_id, report_format_id=...) - Parse the XML report for vulnerabilities, CVSS scores, and affected hosts
- Generate a JSON summary report with severity distribution and remediation priorities
Expected Output
A JSON report containing total vulnerabilities found, severity breakdown (critical/high/medium/low), per-host findings with CVE references and CVSS scores, and scan metadata including duration and NVT feed version.