SecurityDash

System for Vulnerability Management on Greenbone

Spring 2025, Heidelberg

This project was realized within the advanced internship programme at Heidelberg University along two friends. Both are linked in the ressource section.

Project Idea

(1) Web Interface
(2) Grafana Dashboard

Greenbone is a widely used open-source vulnerability management system that provides comprehensive security analyses for IT environments. The resulting XML-based security reports form the foundation of SecDash—so we begin with a brief introduction to their structure.

This project follows a standardized, native XML schema. At a high level, they contain:

  • Top level: a <report> element with metadata (e.g., task, scan start/end, status) and aggregated sections.
  • Results: <results><result>…</result>…</results> containing the individual findings.
  • Host context: a <host> element (IP address, optional DNS/hostname) and, where available, optional <asset> metadata.
  • Port/service: a <port> string (e.g., 443/tcp or a generic entry for non-port-specific checks).
  • Vulnerability test (VT): a <nvt oid="…"> element with fields such as <name>, <family>, <cvss_base>, <cvss_base_vector>, <cves>, <refs>, and <tags>.
  • Severity: <severity> as a numeric (CVSS-based) value and <threat> as a categorical label (e.g., Log, Low, Medium, High, Critical)

XML is the canonical, machine-friendly format. The aim of this project is to build an infrastructure that makes the essential contents of these reports intuitively accessible and readable for humans. To achieve this, we chose a Docker-based deployment and Grafana dashboards for visualization.

Architectural Concept

(1) PostgresDB
(2) XML-Parser

Internal Security

(1) In-process pre-parser

  • Defusion of specific attack vectors
  • Diables Xinclude / XSLT processing
  • Size, depth, and timeout guards

(2) Antivirus kit on dedicated environment

  • Signature + heuristic scan
  • Runs in isolated Debian container
  • Macro / script engines

(3) Nginx reverse-proxy

  • Rate limits / connection caps
  • Restricts routing to API

Upload Queue

Highly esteemed friend involved in this project

Associated Ressources