Skip to main content

Akademische Webanwendung · Vulnerability Management

PatchStash

~2 Min. Lesezeit
Full-Stack-Entwicklung, Datenmodell, Sicherheitskontrollen
Akademische Webanwendung

Eine Symfony-Anwendung zur strukturierten Verwaltung von Software-Assets, Schwachstellen, Verantwortlichkeiten und Patch-Zyklen.

SymfonyPHPDoctrineVulnerability Management
GitHub preview for the PatchStash vulnerability tracking application

Remediation-Workflow

Findings mit Maßnahmen verbinden

  1. 1

    Asset Inventory

    Produkt, Version, Ownership

  2. 2

    CIRCL CVE Scan

    Query und Version Matching

  3. 3

    Normalisieren und deduplizieren

    CVE, CVSS, Severity

  4. 4

    Rollenbasierte Remediation

    Triage, Assignment, Patch Cycle

  5. 5

    Report und Verifikation

    Export, Review, Abschluss

Horizontal wischen →

Implementierungsübersicht

Framework

Symfony 7.3 · PHP 8.2

Intelligence

CIRCL CVE API Ingestion

Scoring

CVSS v3.1, v3.0 und v2

Access Model

4 operative Rollen

Problemstellung

Eine Vulnerability-Liste ist noch kein Remediation-Prozess. PatchStash hält Findings mit betroffener Software, Verantwortlichen, Patch-Zyklus, Reports und Abschlussstatus verbunden.

Domain Model

Doctrine-Entitäten erhalten die Beziehungen von Inventory bis Closure.

  • Projects liefern Business Context für Assets und Reports
  • Assets und Software Modules beschreiben Produkt und Version
  • Vulnerabilities speichern CVE, Severity, Evidenz und Remediation State
  • Patch Cycles gruppieren geplante Korrekturen
  • Users, Permissions, Reports und Exporte unterstützen Ownership und Review

CVE Discovery und Normalisierung

Ein Console Scanner fragt für inventarisierte Produkte die CIRCL CVE API ab. Er verarbeitet verschiedene Response Shapes, gleicht Versionen mit strukturierten CNA-Daten und Textbereichen ab, extrahiert CVSS 3.1, 3.0 oder 2.0, ordnet Severity Bands zu und dedupliziert nach CVE und Asset.

Autorisierungsmodell

Symfony Security übernimmt Login, Password Hashing, CSRF-Schutz und Route Boundaries. Admin, Project Manager, Operator und Auditor erhalten eigene Dashboards; ein Permission Service löst feingranulare Aktionen auf und Admin Controller erzwingen ROLE_ADMIN.

Implementierung und Trade-offs

PHP 8.2, Symfony 7.3, Doctrine Migrations, Twig, UX Turbo, Stimulus, Validation und PHPUnit bilden den Stack. Der wiederholbare Scan Command bleibt beobachtbar und planbar; Timeout- und Fehlerbehandlung verhindern, dass ein externer Feed den Inventory Workflow blockiert.