Skip to content

[Epic] Dependency-Track (SBoM)

Warum?

Für eine dauerhafte, stetige Analyse der im Projekt eingesetzten Bibliotheken auf bekannte Schwachstellen braucht es automatisierte Maßnahmen zur Überwachung der eingesetzten Bibliotheken, z.B. so etwas wie https://dependencytrack.org/.

Relevante Links und Bemerkungen

Informationsquellen

Tools

Etablierte SBoM-Formate

  • Software Package Data eXchange (SPDX)
  • CycloneDX
  • Software Identification (SWID) Tags

Akzeptanzkriterien

  1. Es besteht ein Überblick über alle eingesetzten Bibliotheken in Form eines Software Bill of Materials (SBOM) in einem etablierten SBoM-Format (z.B. CycloneDX) inkl. Informationen zu bekannten CVEs.
  2. Das SBOM erfüllt die Anforderungen aus BSI TR-03183-2: Cyber-Resilienz-Anforderungen an Hersteller und Produkte - Teil 2: Software Bill of Materials (SBOM)
  3. Benachrichtigung der jeweiligen zuständigen (Komponenten) Teams (z.B. mittels Matrix-Bot (oder MS Teams Integration))
  4. Es werden automatisierte Merge-Request bei neuen Dependency-Versionen erstellt. Wird durch Rennovate vorgenommen.
  5. Die Lösung ist wiederverwendbar für verschiedene Repos (Pipeline-Templates!)
  6. Die Lösung erfasst auch JS-Dependencies des Self-Service-Portals
  7. Lösung ist für alle Software-Artefakte umgesetzt
    • Self-Service-Portal
    • OAuth-Dienst (Überwachung der Versionssnummer des Connect2ID-Servers an sich ist ausreichend) -> #417
    • Token Validator
    • Zustelldienst
    • Routingdienst TBD 02.06.2025
    • fitconnect-tools (python)
    • SDKs
    • Entwicklungsportal TBD -> Folge-Ticket
    • Alle Docusaurus-Instanzen + im Docusaurus-template (siehe #406 (closed)) -> Folge-Ticket
  8. Die Nutzung der Lösung ist im Betriebshandbuch ( #157) dokumentiert. -> 10.
  9. Umgebungen im Dashboard sind mit jeweiligen Komponentenversionen dargestellt
  10. In der Betriebsdokumentation erfasst

Durchführungsplan (vom Entwickler bei Storyplanung auszufüllen)

  1. Talk: "Dependency-Management für faule Software-Entwickler" auf der GPN20 schauen
  2. Neue Kriterien sammeln die erfüllt werden müssen
  3. Prüfen welche Kriterien Dependency Track abdecken kann
  4. Tools für Kriterien evalueieren, die nicht von DT abgedeckt werden
  5. Dependency Track konfigurieren
  6. Alternative Tools konfigurieren
  7. Testing
  8. Abnahme
  9. Definition of Done wurde geprüft
Edited by Maik Böttner