Dependency Track

Dependency-Track ist eine Open-Source-Plattform von OWASP zur Überwachung und Analyse von Software-Abhängigkeiten. Sie nutzt CycloneDX-SBOMs und VEX-Dokumente, um Sicherheitslücken, Lizenzrisiken und veraltete Komponenten frühzeitig zu erkennen. Durch den Abgleich mit Datenquellen wie NVD, GitHub Advisories oder Snyk bietet das Werkzeug einen umfassenden Überblick über Risiken in der Software-Lieferkette.

Übersicht

Dependency-Track ist eine Open-Source-Plattform von OWASP, die Unternehmen dabei unterstützt, Risiken in ihrer Software-Lieferkette frühzeitig zu erkennen. Moderne Software besteht heute größtenteils aus externen Bibliotheken und Abhängigkeiten – sogenannte Third-Party-Dependencies. Jede dieser Komponenten kann potenzielle Sicherheitslücken, Lizenzprobleme oder Integrationsrisiken mit sich bringen.
Dependency-Track bietet eine zentrale Lösung, um diese Abhängigkeiten systematisch zu überwachen. Dafür nutzt das Tool moderne Standards wie CycloneDX (SBOM und VEX), analysiert bekannte Schwachstellen, bewertet Risiken und liefert klare Handlungsempfehlungen. Ziel ist es, Sicherheitsprobleme zu finden, bevor Software ausgeliefert wird – ein zentraler Baustein für DevSecOps und Supply-Chain-Security.
Dependency-Track verarbeitet und erzeugt zwei zentrale Dokumenttypen:
1. CycloneDX SBOM (Software Bill of Materials)
Dependency-Track kann SBOMs sowohl:
– konsumieren (von CI-Pipelines, Build-Tools, Scannern)
– selbst erzeugen
2.  CycloneDX VEX (Vulnerability Exploitability Exchange)
Ein VEX-Dokument gibt an, ob eine bekannte Schwachstelle in einer Software-Komponente für das konkrete Produkt wirklich ausnutzbar ist oder nicht.
Dependency-Track nutzt VEX-Daten, um False Positives zu reduzieren und besser priorisieren zu können.

 Welche Risiken identifiziert Dependency-Track?

Dependency-Track identifiziert Risiken, indem es die in einem Softwareprojekt verwendeten Komponenten automatisch mit einer Vielzahl an Schwachstellendatenbanken und Security-Feeds abgleicht. Dabei nutzt die Plattform verschiedene renommierte Datenquellen, um bekannte Sicherheitslücken, Fehlkonfigurationen oder veraltete Abhängigkeiten aufzuspüren. Zu diesen Quellen gehören unter anderem:
– National Vulnerability Database (NVD)
– GitHub Security Advisories
– Sonatype OSS Index
– Snyk
– Trivy
– OSV
– VulnDB
Durch die Kombination dieser Quellen erhält Dependency-Track ein umfassendes Bild über potenzielle Schwachstellen und kann Risiken frühzeitig und zuverlässig sichtbar machen.

Welche Technologien unterstützt Dependency-Track?

Dependency-Track ist größtenteils technologieunabhängig und unterstützt eine Vielzahl gängiger Paket-Ökosysteme direkt out of the box. Dank der integrierten Repository-Anbindung können Abhängigkeiten aus unterschiedlichen Programmiersprachen und Build-Systemen automatisch erkannt und verarbeitet werden. Unterstützt werden unter anderem Cargo für Rust, Composer für PHP, Gems für Ruby, Hex für Erlang und Elixir, Maven für Java, NPM für JavaScript, NuGet für .NET sowie PyPI für Python. Weitere Paketquellen und Ökosysteme befinden sich bereits in Entwicklung und werden künftig ergänzt, sodass die Plattform langfristig eine noch breitere Abdeckung bieten wird.

Was ist eine SBOM?

Eine Software Bill of Materials (SBOM) ist eine detaillierte Stückliste aller Komponenten, aus denen eine Software besteht. So wie in der Hardwarewelt ein Gerät eine Liste aller verbauten Teile besitzt, listet eine SBOM alle Bibliotheken, Abhängigkeiten und deren Versionen auf.
typische Komponenten:
  • SBOM-Meta-Informationen
  • Lieferantenname
  • Komponentenname
  • Version der Komponente
  • Andere eindeutige Identifikatoren (Common Platform Enumeration, SWID-Tags, …)
  • Kryptografischer Hash
  • Abhängigkeitsbeziehung
  • Lizenzinformationen
  • Copyright-Hinweis

Standards

CycloneDX (OWASP)

CycloneDX von OWASP wird von Dependency-Track nativ unterstützt und ist stark auf Security, Risiken und Compliance ausgerichtet. Das Format kann sowohl in JSON als auch in XML verwendet werden und enthält typische Felder wie Komponenten, Services, Dependencies und Vulnerabilities.

SPDX (Linux Foundation)

SPDX hingegen, entwickelt von der Linux Foundation, entstand ursprünglich für das Lizenzmanagement, wurde aber später um Sicherheitsaspekte erweitert. Es ist weit verbreitet in Open-Source-Projekten und dient heute als etabliertes Format für die Dokumentation von Softwarestücklisten und Compliance-Informationen.

Notwendigkeit eines SCA-Werkzeugs

Moderne Softwareprojekte bestehen zu einem erheblichen Teil aus Open-Source-Komponenten – oft zu 80 % oder mehr. Was Entwicklungszyklen beschleunigt, schafft gleichzeitig Abhängigkeiten, die weit über den eigenen Code hinausreichen. Ein durchschnittliches Node.js-Projekt lädt hunderte transitive Pakete in den node_modules-Ordner, von denen die wenigsten je manuell geprüft werden.

Software Composition Analysis (SCA) adressiert diese Intransparenz auf mehreren Ebenen: Sie identifiziert bekannte Schwachstellen in Abhängigkeiten, bevor diese ausgenutzt werden können, und deckt Lizenzkonflikte auf, die rechtliche Konsequenzen nach sich ziehen könnten. Mit dem EU Cyber Resilience Act und der NIS2-Richtlinie wird SCA zudem zum regulatorischen Muss – SBOM-Bereitstellung ist keine Option mehr, sondern Pflicht.

Auch aus rein technischer Sicht überzeugt der Einsatz: Verwaiste Pakete, veraltete Major-Versionen und deprecated Dependencies lassen sich systematisch erfassen und abbauen. Die nahtlose Integration in CI/CD-Pipelines ermöglicht automatisierte Prüfungen bei jedem Commit, während standardisierte SBOM-Exporte Kundenanforderungen im B2B-Kontext bedienen.

Doch all diese Aspekte verblassen neben der vielleicht gravierendsten Bedrohung: Supply Chain Attacks. Hier werden nicht einzelne Schwachstellen ausgenutzt, sondern ganze Pakete kompromittiert – mit potenziell katastrophalen Kaskadeneffekten über tausende Projekte hinweg.

Die Gefahr der Supply Chain Attacks

Software-Lieferketten sind zu einem primären Angriffsvektor für Cyberkriminelle geworden. Anstatt Endanwendungen direkt anzugreifen, zielen Akteure zunehmend auf die Abhängigkeiten, die Entwickler täglich in ihre Projekte integrieren. Ein kompromittiertes Paket kann sich innerhalb von Stunden über tausende Downstream-Projekte verbreiten – oft unbemerkt, bis der Schaden bereits angerichtet ist.

Was ist eine Supply Chain Attack?

Bei der Entwicklung von Software wird häufig bereits existierender Quellcode von Dritten (in Form von Bibliotheken, Frameworks, etc.) genutzt um sich beim Entwickeln nicht auf bereits gelöste Probleme zu konzentrieren, sondern sich ganz den spezifischen Anforderungen der neuentwickelten Software zu widmen. Solche eingebundenen Bibliotheken oder Frameworks werden als Abhängigkeiten (engl. Dependencies) zusammengefasst.

Allerdings greifen häufig auch die Entwickler dieser Abhängigkeiten auf Quellcode von Dritten zurück und sind dementsprechend von diesem Quellcode auch wieder abhängig. Im Folgendem werden erste Art von Abhängigkeit direkt und zweite Art als indirekt bezeichnet.

Den Überblick über alle Abhängigkeiten einer Software zu behalten ist sehr herausfordernd, insbesondere wenn die Anzahl der indirekten Abhängigkeiten hoch ist, bzw. sogar wächst. Diese Abhängigkeiten sind nicht direkt mit den herkömmlichen Werkzeugen (z.B. Paketmanagern wie npm) einsehbar. Bei einer Supply Chain Attack wird genau dieses Problem ausgenutzt. Es wird Schadsoftware an einer Stelle in die Abhängigkeiten eingeführt. Dies kann zum Beispiel durch die Infizierung eines beliebten Frameworks/Bibliothek passieren. Es kann aber auch eine neue scheinbar harmlose Bibliothek veröffentlicht werden, welche dann von nichts ahnenden Entwicklern als Abhängigkeit genutzt wird. Die so eingeführte Schadsoftware kann dann im schlimmsten Fall willkürlich beliebigen Programmcode auf der Maschine eines Entwicklers oder sogar beim Kunden der Software ausführen.

Sha1-Hulud: The Second Coming: Eine Supply Chain Attack im NPM-Ökosystem

Am 24. November 2025 wurde das npm-Ökosystem von einer der aggressivsten Supply Chain Attacken der letzten Jahre getroffen: Shai-Hulud 2.0 (auch „Sha1-Hulud: The Second Coming“ genannt). Innerhalb weniger Stunden kompromittierte der selbstreplizierende Wurm ~700 npm-Pakete über ~25.000 GitHub-Repositories hinweg! Zu den initial infizierten Paketen (Patient Zero) gehören populäre Bibliotheken/SDKs wie posthog-js, @ensdomains/ensjs und zapier-platform-core.

Die Malware hat Umgebungsvariablen und Konfigurationsdateien in lokalen Entwicklungsumgebungen nach GitHub-PATs, npm-Tokens sowie AWS-, GCP- und Azure-Credentials durchsucht. Diese wurden dann clever über öffentliche GitHub-Repositories nach dreifacher base64-Kodierung veröffentlicht. Dort konnten sie dann zu einem späteren Zeitpunkt von den Akteuren der Attacke „geerntet“ werden.

Warum SBOMs Teil der Lösung sind

Gegen Supply Chain Attacks können vorrangig robuste Abhängigkeitsverwaltungssysteme mit SBOM-Generierung eingesetzt werden. Diese bieten aus mehreren Perspektiven einen Vorteil im Schutz gegen solche Attacken:

1. Transparenz: Eine aktuelle Software Bill of Materials macht alle direkten und indirekten (transitiven) Abhängigkeiten sichtbar
2. Versionskontrolle: Pinning auf bekannte sichere Versionen verhindert das automatische Einschleusen kompromittierter Updates
3. Schnelle Reaktion: Bei Bekanntwerden einer Kompromittierung ermöglicht die SBOM die sofortige Identifikation betroffener Projekte
4. Audit Trail: Die dokumentierte Abhängigkeitskette unterstützt forensische Analysen

Die CISA empfiehlt in ihrem Advisory zum Shai-Hulud-Vorfall (betrifft hier sogar schon Version 1 des Wurms vom September 2025) explizit die Nutzung von SCA-Tools (Software Composition Analysis) und die Erstellung von SBOMs als präventive Maßnahme.

Integration

Dependency Track besteht im Kern aus einem API-Server. Zusätzlich wird ein Frontend mitgeliefert, um die Funktionen des API-Servers zu nutzen und die Einrichtung leicht durchführen zu können. Aufgrund des API-First-Designs bietet das Werkzeug verschiedene Möglichkeiten zur Integration in den Softwareentwicklungsablauf.

Um Dependency Track verwenden zu können, gibt es zwei Möglichkeiten, es aufzusetzen. Zum einen mittels Docker Compose durch eine vorkonfigurierte docker-compose.yaml Datei. Damit kann Dependency Track einfach und schnell ausprobiert werden durch die beiden Befehle:

# Downloaded die neuste Docker Compose Datei
curl -LO https://dependencytrack.org/docker-compose.yml

# Startet den Stack
docker compose up -d

Zum anderen kann es auf einem Kubernetes-Cluster deployed werden. Die Installation kann durch das Dependency-Track-Repository über den Paketmanager Helm.sh erfolgen. Dabei sollte die Resourcennutzung nicht vernachlässigt werden:

 

API Server:

Minimum Empfohlen
4,5 GB RAM 16 GB RAM
2 CPU Kerne 4 CPU Kerne

Frontend:

Minimum Empfohlen
512 MB RAM 1 GB RAM
1 CPU Kern 2 CPU Kerne

 

Im laufenden Betrieb kann Dependency Track neben der Integration mit verschiedenen CVE-Scannern für verschiedene Technologien auch mit bestimmten Nachrichtendiensten und CVE-Analyse Plattformen integriert werden. Erstere dienen der Benachrichtigung bei Auffälligkeiten, etwa durch einen neuen CVE-Fund oder Regelverletzungen. Die Anbindung an CVE-Analyseplattformen wird durch ein eigenes Dateiformat, das Finding Packaging Format (FPF) ermöglicht. Dadurch können CVE-Funde noch tiefgehender oder anders analysiert werden, als das durch Dependency Track selbst möglich ist. Die Dependency Track API ist durch den OpenAPI Standard spezifiziert, wodurch auch verschiedene Erweiterungen durch die Community möglich sind und auch bereits bestehen.

Übersicht des Dependency Track Ökosystems

Manuelle Bedienung

Aufgrund des mitgelieferten Frontends kann Dependency Track rein darüber genutzt werden. Etwa durch manuelles hochladen einzelner SBOMs und anschließende Auswertung der CVE-Funde und Lizenzen.

Übersicht der Projekte
Übersicht der Komponenten eines Projektes (übernommen aus der SBOM)

Weiterhin können über das UI Regeln konfiguriert werden. Regeln enthalten Bedingungen zu erlaubten (oder verbotenen) Lizenzen, zu CVSS-Werten, ab welchen eine CVE als relevant angesehen wird, sowie zu erlaubten Komponenten. Bei einer Regelverletzung wird die betroffene Komponente in dem UI markiert und gegebenenfalls eine Benachrichtigung an das Entwicklungsteam gesendet.

Erstellung von Regeln

Regelverletzungen und CVE-Funde können weiterhin bewertet werden. Das erfolgt direkt an der Komponente. Es kann ein Status ausgewählt werden, welcher beispielsweise aussagt ob eine Komponente wirklich betroffen ist, der CVE-Fund ein falsch-positiver Fund ist oder ob die CVE-schon behoben ist. Zusätzlich kann ein Kommentar verfasst werden zur besseren Nachvollziehbarkeit.

Bewertungsansicht einer CVE

 

Automatisierte Bedienung

Typischerweise wird jedoch der automatisierte Weg durch die Einbindung in die CI/CD Pipeline gewählt. Dabei wird die SBOM, während des bauens des Codes, generiert und anschließend per API an Depndency Track gesendet. Dependency Track führt dann eine CVE-, sowie die Regelanalyse aus. Überschreitungen einzelner Regeln können automatisch Nachrichten an die konfigurierten Nachrichtendienste senden. Bei Bedarf kann diese Funktionen genutzt werden um das Team automatisch zu informieren. Anschließend können die Funde direkt in dem Dependency Track UI ausgewertet/bewertet werden oder dafür an ein externes Werkzeug weitergeleitet werden. In der folgenden Abbildung ist dieser automatisierte Prozess als BPMN-Diagramm dargestellt.

Vergleich zu anderen Tools

Kategorie SBOM Observer Dependency-Track
Open Source? Kommerziell Open Source
SBOM-Import (CycloneDX, SPDX, evtl. andere Formate) CycloneDX, SPDX, SLSA-Provenance, OpenVEX CycloneDX, SPDX-Unterstützung
Vulnerability-/Security-Scan / Software Component Analysis Vulnerability-Analyse, Container/OS/Packages-Scans SCA + Vulnerability-Tracking + Lizenz/Risk/Policy Analyse
Container / Image / OS-Package Unterstützung Container-Vulnerabilities & OS-Packages Component/Package-Analyse, inklusive Container/Packages
CI/CD / Automatisierung / API API-Vorhanden, CI/CD integration möglich API-first; gut für Automatisierung & Pipelines
Benutzeroberfläche / Usability Web UI, Visualisierungen, Graphen, Diff-Ansichten Web UI + Dashboard
Komplexität / Setup Niedrig-Mittel (kommerzielles Produkt; wird gehostet oder als Service genutzt) Hoch (vollwertige Plattform, benötigt Hosting/DB/etc.)
Kategorie Syft + Grype Trivy
Open Source? beide Open Source Open Source
SBOM-Import (CycloneDX, SPDX, evtl. andere Formate) Syft erzeugt CycloneDX/SPDX standard Kann SBOM erzeugen und SBOMs als Input nutzen (CycloneDX / SPDX)
Vulnerability-/Security-Scan / Software Component Analysis Container/Filesystem/SBOM analyse auf CVEs Scans für Container, OS-Packages, Repos und Misconfig-Checks
Container / Image / OS-Package Unterstützung Syft analysiert Images/FS; Grype scannt CVEs Starker Fokus auf Container, Images, OS-Packages
CI/CD / Automatisierung / API CLI-basiert; sehr einfach in CI/CD zu integrieren CLI-basiert; sehr einfach in CI/CD zu integrieren
Benutzeroberfläche / Usability CLI (kein integriertes Dashboard) CLI (kein integriertes Dashboard)
Komplexität / Setup Niedrig–Mittel (leichtgewichtige CLI-Tools) Niedrig (single-binary CLI, schnell einsetzbar)

Quellen