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):
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:
- Dependabot erstellt PR
- CI-Pipeline läuft (Tests, Security Scan)
- Bei Erfolg: Automatische Genehmigung
- 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:
# 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 abDocker 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
| Ökosystem | Tool | Frequenz | Auto-Merge |
|---|---|---|---|
| NPM | Dependabot | Wöchentlich | Patch-Updates |
| NuGet | Dependabot | Wöchentlich | Patch-Updates |
| pip/Poetry | Dependabot | Wöchentlich | Patch-Updates |
| Docker | Dependabot + Base Image Monitor | Wöchentlich | Patch-Updates |
| GitHub Actions | Dependabot | Wöchentlich | Minor/Patch |
| Go Modules | Dependabot | Wöchentlich | Patch-Updates |
| Composer (PHP) | Dependabot | Wöchentlich | Patch-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