Dieses Dokument befindet sich in aktiver Entwicklung und ist noch nicht finalisiert.
Skip to content

3.2 Dependency Monitoring

Übersicht

Dependency Monitoring überwacht kontinuierlich alle Abhängigkeiten in unseren Repositories und erstellt automatisch Pull Requests bei verfügbaren Sicherheitsupdates.

Tools

GitHub Dependabot

Dependabot ist in allen Repositories aktiviert und übernimmt:

  • Security Updates: Automatische PRs bei bekannten Schwachstellen
  • Version Updates: Regelmäßige PRs für verfügbare Updates (konfigurierbar)
  • Alerts: GitHub Security Alerts bei neuen CVEs

Konfiguration (.github/dependabot.yml):

yaml
version: 2
updates:
  # Beispiel: NPM
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    labels:
      - "dependencies"
      - "security"

  # Beispiel: Docker
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
    labels:
      - "dependencies"
      - "docker"

  # Beispiel: GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    labels:
      - "dependencies"
      - "ci"

Dependabot Auto-Merge

Für unkritische Updates (Patch-Updates von vertrauenswürdigen Packages) wird der bestehende Auto-Merge-Workflow (docker-maintenance-dependabot.yml) genutzt:

  1. Dependabot erstellt PR
  2. CI-Pipeline läuft (Tests, Security Scan)
  3. Bei Erfolg: Automatische Genehmigung
  4. Automatischer Merge (Squash)

WICHTIG

Auto-Merge ist nur für Patch-Updates und vertrauenswürdige Ökosysteme aktiviert. Major- und Minor-Updates erfordern manuelle Prüfung.

GitHub Security Alerts

GitHub Security Alerts sind für alle Repositories aktiviert:

  • Automatische Benachrichtigung bei neuen CVEs in Abhängigkeiten
  • Zuordnung zu spezifischen Manifest-Dateien
  • Severity-Klassifizierung (Critical, High, Medium, Low)
  • Fix-Vorschläge mit Dependabot Security Updates

Trivy Container Scanning

Für Container-Images wird zusätzlich Trivy im CI/CD eingesetzt:

yaml
# Automatischer Scan bei jedem Build
- name: Trivy Vulnerability Scan
  uses: aquasecurity/trivy-action@master
  with:
    image-ref: ${{ env.IMAGE }}
    severity: CRITICAL,HIGH
    exit-code: 1    # Build bricht bei Findings ab

Docker Base Image Monitor

Der bestehende Workflow modules-docker-base-image-monitor.yml überwacht Base Images:

  • Erkennung neuer Base-Image-Versionen
  • Automatischer PR bei verfügbarem Update
  • Sicherstellung aktueller OS-Pakete

Monitoring-Matrix

ÖkosystemToolFrequenzAuto-Merge
NPMDependabotWöchentlichPatch-Updates
NuGetDependabotWöchentlichPatch-Updates
pip/PoetryDependabotWöchentlichPatch-Updates
DockerDependabot + Base Image MonitorWöchentlichPatch-Updates
GitHub ActionsDependabotWöchentlichMinor/Patch
Go ModulesDependabotWöchentlichPatch-Updates
Composer (PHP)DependabotWöchentlichPatch-Updates

Eskalationsprozess

Dependabot/Trivy erkennt CVE

    ├── Low/Medium Severity
    │   └── PR erstellt → Review im nächsten Sprint

    ├── High Severity
    │   └── PR erstellt → Review innerhalb 24h → Patch-Release

    └── Critical Severity
        └── PR erstellt → Sofortige Bearbeitung
            ├── Teams-Notification an Security Lead
            ├── Prüfe: Aktiv ausgenutzt?
            │   ├── Ja → ENISA-Meldeprozess (24h)
            │   └── Nein → Patch innerhalb 48h
            └── Hotfix-Release

Dokumentation lizenziert unter CC BY-NC 4.0 · Code lizenziert unter MIT