{"id":4153,"date":"2025-12-01T19:08:26","date_gmt":"2025-12-01T18:08:26","guid":{"rendered":"https:\/\/informatik.htwk-leipzig.de\/seminar\/?p=4153"},"modified":"2025-12-16T12:17:25","modified_gmt":"2025-12-16T11:17:25","slug":"dependency-track","status":"publish","type":"post","link":"https:\/\/informatik.htwk-leipzig.de\/seminar\/lehrveranstaltungen\/betriebliche-informationssysteme\/2025\/dependency-track\/","title":{"rendered":"Dependency Track"},"content":{"rendered":"<p>Dependency-Track ist eine Open-Source-Plattform von OWASP zur \u00dcberwachung und Analyse von Software-Abh\u00e4ngigkeiten. Sie nutzt CycloneDX-SBOMs und VEX-Dokumente, um Sicherheitsl\u00fccken, Lizenzrisiken und veraltete Komponenten fr\u00fchzeitig zu erkennen. Durch den Abgleich mit Datenquellen wie NVD, GitHub Advisories oder Snyk bietet das Werkzeug einen umfassenden \u00dcberblick \u00fcber Risiken in der Software-Lieferkette.<\/p>\n<p><!--more--><\/p>\n<h1>\u00dcbersicht<\/h1>\n<div>\n<div>Dependency-Track ist eine Open-Source-Plattform von OWASP, die Unternehmen dabei unterst\u00fctzt, Risiken in ihrer Software-Lieferkette fr\u00fchzeitig zu erkennen. Moderne Software besteht heute gr\u00f6\u00dftenteils aus externen Bibliotheken und Abh\u00e4ngigkeiten \u2013 sogenannte Third-Party-Dependencies. Jede dieser Komponenten kann potenzielle Sicherheitsl\u00fccken, Lizenzprobleme oder Integrationsrisiken mit sich bringen.<\/div>\n<div>Dependency-Track bietet eine zentrale L\u00f6sung, um diese Abh\u00e4ngigkeiten systematisch zu \u00fcberwachen. Daf\u00fcr 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 \u2013 ein zentraler Baustein f\u00fcr DevSecOps und Supply-Chain-Security.<\/div>\n<\/div>\n<div><\/div>\n<div>\n<div>\n<div>Dependency-Track verarbeitet und erzeugt zwei zentrale Dokumenttypen:<\/div>\n<\/div>\n<\/div>\n<div>\n<div>\n<div><strong>1. CycloneDX SBOM (Software Bill of Materials)<\/strong><\/div>\n<div>Dependency-Track kann SBOMs sowohl:<\/div>\n<div>&#8211; konsumieren (von CI-Pipelines, Build-Tools, Scannern)<\/div>\n<div>&#8211; selbst erzeugen<\/div>\n<div><\/div>\n<\/div>\n<div>\n<div>\n<div><strong>2. \u00a0CycloneDX VEX (Vulnerability Exploitability Exchange)<\/strong><\/div>\n<div>Ein VEX-Dokument gibt an, ob eine bekannte Schwachstelle in einer Software-Komponente f\u00fcr das konkrete Produkt wirklich ausnutzbar ist oder nicht.<\/div>\n<div>Dependency-Track nutzt VEX-Daten, um False Positives zu reduzieren und besser priorisieren zu k\u00f6nnen.<\/div>\n<\/div>\n<div>\n<div>\n<h4>\u00a0Welche Risiken identifiziert Dependency-Track?<\/h4>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<div>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\u00fccken, Fehlkonfigurationen oder veraltete Abh\u00e4ngigkeiten aufzusp\u00fcren. Zu diesen Quellen geh\u00f6ren unter anderem:<\/div>\n<div><\/div>\n<div>&#8211; National Vulnerability Database (NVD)<\/div>\n<div>&#8211; GitHub Security Advisories<\/div>\n<div>&#8211; Sonatype OSS Index<\/div>\n<div>&#8211; Snyk<\/div>\n<div>&#8211; Trivy<\/div>\n<div>&#8211; OSV<\/div>\n<div>&#8211; VulnDB<\/div>\n<div>\n<div>\n<div>Durch die Kombination dieser Quellen erh\u00e4lt Dependency-Track ein umfassendes Bild \u00fcber potenzielle Schwachstellen und kann Risiken fr\u00fchzeitig und zuverl\u00e4ssig sichtbar machen.<\/div>\n<div><\/div>\n<h4>Welche Technologien unterst\u00fctzt Dependency-Track?<\/h4>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<div>Dependency-Track ist gr\u00f6\u00dftenteils technologieunabh\u00e4ngig und unterst\u00fctzt eine Vielzahl g\u00e4ngiger Paket-\u00d6kosysteme direkt out of the box. Dank der integrierten Repository-Anbindung k\u00f6nnen Abh\u00e4ngigkeiten aus unterschiedlichen Programmiersprachen und Build-Systemen automatisch erkannt und verarbeitet werden. Unterst\u00fctzt werden unter anderem Cargo f\u00fcr Rust, Composer f\u00fcr PHP, Gems f\u00fcr Ruby, Hex f\u00fcr Erlang und Elixir, Maven f\u00fcr Java, NPM f\u00fcr JavaScript, NuGet f\u00fcr .NET sowie PyPI f\u00fcr Python. Weitere Paketquellen und \u00d6kosysteme befinden sich bereits in Entwicklung und werden k\u00fcnftig erg\u00e4nzt, sodass die Plattform langfristig eine noch breitere Abdeckung bieten wird.<\/div>\n<\/div>\n<h1>Was ist eine SBOM?<\/h1>\n<div>\n<div>Eine Software Bill of Materials (SBOM) ist eine detaillierte St\u00fcckliste aller Komponenten, aus denen eine Software besteht. So wie in der Hardwarewelt ein Ger\u00e4t eine Liste aller verbauten Teile besitzt, listet eine SBOM alle Bibliotheken, Abh\u00e4ngigkeiten und deren Versionen auf.<\/div>\n<div>typische Komponenten:<\/div>\n<ul>\n<li>SBOM-Meta-Informationen<\/li>\n<li>Lieferantenname<\/li>\n<li>Komponentenname<\/li>\n<li>Version der Komponente<\/li>\n<li>Andere eindeutige Identifikatoren (Common Platform Enumeration, SWID-Tags, &#8230;)<\/li>\n<li>Kryptografischer Hash<\/li>\n<li>Abh\u00e4ngigkeitsbeziehung<\/li>\n<li>Lizenzinformationen<\/li>\n<li>Copyright-Hinweis<\/li>\n<\/ul>\n<div>\n<h2>Standards<\/h2>\n<h3>CycloneDX (OWASP)<\/h3>\n<div>CycloneDX von OWASP wird von Dependency-Track nativ unterst\u00fctzt und ist stark auf Security, Risiken und Compliance ausgerichtet. Das Format kann sowohl in JSON als auch in XML verwendet werden und enth\u00e4lt typische Felder wie Komponenten, Services, Dependencies und Vulnerabilities.<\/div>\n<\/div>\n<\/div>\n<div>\n<div>\n<h3>SPDX (Linux Foundation)<\/h3>\n<p>SPDX hingegen, entwickelt von der Linux Foundation, entstand urspr\u00fcnglich f\u00fcr das Lizenzmanagement, wurde aber sp\u00e4ter um Sicherheitsaspekte erweitert. Es ist weit verbreitet in Open-Source-Projekten und dient heute als etabliertes Format f\u00fcr die Dokumentation von Softwarest\u00fccklisten und Compliance-Informationen.<\/p>\n<\/div>\n<\/div>\n<h1>Notwendigkeit eines SCA-Werkzeugs<\/h1>\n<p>Moderne Softwareprojekte bestehen zu einem erheblichen Teil aus Open-Source-Komponenten \u2013 oft zu 80 % oder mehr. Was Entwicklungszyklen beschleunigt, schafft gleichzeitig Abh\u00e4ngigkeiten, die weit \u00fcber den eigenen Code hinausreichen. Ein durchschnittliches Node.js-Projekt l\u00e4dt hunderte transitive Pakete in den <code>node_modules<\/code>-Ordner, von denen die wenigsten je manuell gepr\u00fcft werden.<\/p>\n<p>Software Composition Analysis (SCA) adressiert diese Intransparenz auf mehreren Ebenen: Sie identifiziert <strong>bekannte Schwachstellen<\/strong> in Abh\u00e4ngigkeiten, bevor diese ausgenutzt werden k\u00f6nnen, und deckt <strong>Lizenzkonflikte<\/strong> auf, die rechtliche Konsequenzen nach sich ziehen k\u00f6nnten. Mit dem EU Cyber Resilience Act und der NIS2-Richtlinie wird SCA zudem zum <strong>regulatorischen Muss<\/strong> \u2013 SBOM-Bereitstellung ist keine Option mehr, sondern Pflicht.<\/p>\n<p>Auch aus rein technischer Sicht \u00fcberzeugt der Einsatz: Verwaiste Pakete, veraltete Major-Versionen und deprecated Dependencies lassen sich systematisch erfassen und abbauen. Die nahtlose <strong>Integration in CI\/CD-Pipelines<\/strong> erm\u00f6glicht automatisierte Pr\u00fcfungen bei jedem Commit, w\u00e4hrend standardisierte SBOM-Exporte <strong>Kundenanforderungen im B2B-Kontext<\/strong> bedienen.<\/p>\n<p>Doch all diese Aspekte verblassen neben der vielleicht gravierendsten Bedrohung: <strong>Supply Chain Attacks<\/strong>. Hier werden nicht einzelne Schwachstellen ausgenutzt, sondern ganze Pakete kompromittiert \u2013 mit potenziell katastrophalen Kaskadeneffekten \u00fcber tausende Projekte hinweg.<\/p>\n<h2>Die Gefahr der Supply Chain Attacks<\/h2>\n<p>Software-Lieferketten sind zu einem prim\u00e4ren Angriffsvektor f\u00fcr Cyberkriminelle geworden. Anstatt Endanwendungen direkt anzugreifen, zielen Akteure zunehmend auf die Abh\u00e4ngigkeiten, die Entwickler t\u00e4glich in ihre Projekte integrieren. Ein kompromittiertes Paket kann sich innerhalb von Stunden \u00fcber tausende Downstream-Projekte verbreiten \u2013 oft unbemerkt, bis der Schaden bereits angerichtet ist.<\/p>\n<h3>Was ist eine Supply Chain Attack?<\/h3>\n<p>Bei der Entwicklung von Software wird h\u00e4ufig bereits existierender Quellcode von Dritten (in Form von Bibliotheken, Frameworks, etc.) genutzt um sich beim Entwickeln nicht auf bereits gel\u00f6ste Probleme zu konzentrieren, sondern sich ganz den spezifischen Anforderungen der neuentwickelten Software zu widmen. Solche eingebundenen Bibliotheken oder Frameworks werden als Abh\u00e4ngigkeiten (engl. Dependencies) zusammengefasst.<\/p>\n<p>Allerdings greifen h\u00e4ufig auch die Entwickler dieser Abh\u00e4ngigkeiten auf Quellcode von Dritten zur\u00fcck und sind dementsprechend von diesem Quellcode auch wieder abh\u00e4ngig. Im Folgendem werden erste Art von Abh\u00e4ngigkeit <strong>direkt<\/strong> und zweite Art als <strong>indirekt<\/strong> bezeichnet.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4211 size-large\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-1-1024x730.png\" alt=\"\" width=\"910\" height=\"649\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-1-1024x730.png 1024w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-1-300x214.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-1-768x547.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-1.png 1305w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><\/p>\n<p>Den \u00dcberblick \u00fcber alle Abh\u00e4ngigkeiten einer Software zu behalten ist sehr herausfordernd, insbesondere wenn die Anzahl der indirekten Abh\u00e4ngigkeiten hoch ist, bzw. sogar w\u00e4chst. Diese Abh\u00e4ngigkeiten sind nicht direkt mit den herk\u00f6mmlichen 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\u00e4ngigkeiten eingef\u00fchrt. Dies kann zum Beispiel durch die Infizierung eines beliebten Frameworks\/Bibliothek passieren. Es kann aber auch eine neue scheinbar harmlose Bibliothek ver\u00f6ffentlicht werden, welche dann von nichts ahnenden Entwicklern als Abh\u00e4ngigkeit genutzt wird. Die so eingef\u00fchrte Schadsoftware kann dann im schlimmsten Fall willk\u00fcrlich beliebigen Programmcode auf der Maschine eines Entwicklers oder sogar beim Kunden der Software ausf\u00fchren.<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4210 size-large\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-poisoned-1-1024x730.png\" alt=\"\" width=\"910\" height=\"649\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-poisoned-1-1024x730.png 1024w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-poisoned-1-300x214.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-poisoned-1-768x547.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/supply-chain-attack-poisoned-1.png 1305w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><\/strong><\/p>\n<h3>Sha1-Hulud: The Second Coming: Eine Supply Chain Attack im NPM-\u00d6kosystem<\/h3>\n<p>Am 24. November 2025 wurde das npm-\u00d6kosystem von einer der aggressivsten Supply Chain Attacken der letzten Jahre getroffen: Shai-Hulud 2.0 (auch &#8222;Sha1-Hulud: The Second Coming&#8220; genannt). Innerhalb weniger Stunden kompromittierte der selbstreplizierende Wurm<strong> ~700 npm-Pakete \u00fcber <\/strong><strong>~25.000 GitHub-Repositories <\/strong>hinweg! Zu den initial infizierten Paketen (Patient Zero) geh\u00f6ren popul\u00e4re Bibliotheken\/SDKs wie <code>posthog-js<\/code>, <code>@ensdomains\/ensjs<\/code> und <code>zapier-platform-core<\/code>.<\/p>\n<p>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 \u00fcber \u00f6ffentliche GitHub-Repositories nach dreifacher base64-Kodierung ver\u00f6ffentlicht. Dort konnten sie dann zu einem sp\u00e4teren Zeitpunkt von den Akteuren der Attacke &#8222;geerntet&#8220; werden.<\/p>\n<h3>Warum SBOMs Teil der L\u00f6sung sind<\/h3>\n<p>Gegen Supply Chain Attacks k\u00f6nnen vorrangig robuste Abh\u00e4ngigkeitsverwaltungssysteme mit SBOM-Generierung eingesetzt werden. Diese bieten aus mehreren Perspektiven einen Vorteil im Schutz gegen solche Attacken:<\/p>\n<p>1. <strong>Transparenz<\/strong>: Eine aktuelle Software Bill of Materials macht alle direkten und indirekten (transitiven) Abh\u00e4ngigkeiten sichtbar<br \/>\n2. <strong>Versionskontrolle<\/strong>: Pinning auf bekannte sichere Versionen verhindert das automatische Einschleusen kompromittierter Updates<br \/>\n3. <strong>Schnelle Reaktion<\/strong>: Bei Bekanntwerden einer Kompromittierung erm\u00f6glicht die SBOM die sofortige Identifikation betroffener Projekte<br \/>\n4. <strong>Audit Trail<\/strong>: Die dokumentierte Abh\u00e4ngigkeitskette unterst\u00fctzt forensische Analysen<\/p>\n<p>Die CISA empfiehlt in ihrem Advisory zum Shai-Hulud-Vorfall <em>(betrifft hier sogar schon Version 1 des Wurms vom September 2025)<\/em> explizit die Nutzung von SCA-Tools (Software Composition Analysis) und die Erstellung von SBOMs als pr\u00e4ventive Ma\u00dfnahme.<\/p>\n<h1>Integration<\/h1>\n<p data-pm-slice=\"0 0 []\">Dependency Track besteht im Kern aus einem API-Server. Zus\u00e4tzlich wird ein Frontend mitgeliefert, um die Funktionen des API-Servers zu nutzen und die Einrichtung leicht durchf\u00fchren zu k\u00f6nnen. Aufgrund des API-First-Designs bietet das Werkzeug verschiedene M\u00f6glichkeiten zur Integration in den Softwareentwicklungsablauf.<\/p>\n<p>Um Dependency Track verwenden zu k\u00f6nnen, gibt es zwei M\u00f6glichkeiten, es aufzusetzen. Zum einen mittels Docker Compose durch eine vorkonfigurierte <em>docker-compose.yaml<\/em> Datei. Damit kann Dependency Track einfach und schnell ausprobiert werden durch die beiden Befehle:<\/p>\n<div class=\"language-bash highlighter-rouge\">\n<div class=\"highlight\">\n<pre class=\"highlight\"><code><span class=\"c\"># Downloaded die neuste Docker Compose Datei<\/span>\r\ncurl <span class=\"nt\">-LO<\/span> https:\/\/dependencytrack.org\/docker-compose.yml\r\n\r\n<span class=\"c\"># Startet den Stack<\/span>\r\ndocker compose up <span class=\"nt\">-d<\/span>\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<p>Zum anderen kann es auf einem Kubernetes-Cluster deployed werden. Die Installation kann durch das Dependency-Track-Repository \u00fcber den Paketmanager <a class=\"qbe-widget\" href=\"http:\/\/Helm.sh\" target=\"_blank\" rel=\"noopener noreferrer\">Helm.sh<\/a> erfolgen. Dabei sollte die Resourcennutzung nicht vernachl\u00e4ssigt werden:<\/p>\n<p>&nbsp;<\/p>\n<p><strong>API Server:<\/strong><\/p>\n<table style=\"height: 92px\" width=\"948\">\n<tbody>\n<tr>\n<th>Minimum<\/th>\n<th>Empfohlen<\/th>\n<\/tr>\n<tr>\n<td>4,5 GB RAM<\/td>\n<td>16 GB RAM<\/td>\n<\/tr>\n<tr>\n<td>2 CPU Kerne<\/td>\n<td>4 CPU Kerne<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Frontend:<\/strong><\/p>\n<table style=\"height: 92px\" width=\"948\">\n<tbody>\n<tr>\n<th>Minimum<\/th>\n<th>Empfohlen<\/th>\n<\/tr>\n<tr>\n<td>512 MB RAM<\/td>\n<td>1 GB RAM<\/td>\n<\/tr>\n<tr>\n<td>1 CPU Kern<\/td>\n<td>2 CPU Kerne<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Im laufenden Betrieb kann Dependency Track neben der Integration mit verschiedenen CVE-Scannern f\u00fcr verschiedene Technologien auch mit bestimmten Nachrichtendiensten und CVE-Analyse Plattformen integriert werden. Erstere dienen der Benachrichtigung bei Auff\u00e4lligkeiten, etwa durch einen neuen CVE-Fund oder Regelverletzungen. Die Anbindung an CVE-Analyseplattformen wird durch ein eigenes Dateiformat, das Finding Packaging Format (FPF) erm\u00f6glicht. Dadurch k\u00f6nnen CVE-Funde noch tiefgehender oder anders analysiert werden, als das durch Dependency Track selbst m\u00f6glich ist. Die Dependency Track API ist durch den OpenAPI Standard spezifiziert, wodurch auch verschiedene Erweiterungen durch die Community m\u00f6glich sind und auch bereits bestehen.<\/p>\n<figure id=\"attachment_4177\" aria-describedby=\"caption-attachment-4177\" style=\"width: 491px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4177\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/integrations_dt-300x241.png\" alt=\"\" width=\"491\" height=\"394\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/integrations_dt-300x241.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/integrations_dt-1024x824.png 1024w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/integrations_dt-768x618.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/integrations_dt-1536x1236.png 1536w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/integrations_dt.png 1819w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><figcaption id=\"caption-attachment-4177\" class=\"wp-caption-text\">\u00dcbersicht des Dependency Track \u00d6kosystems<\/figcaption><\/figure>\n<h2>Manuelle Bedienung<\/h2>\n<p>Aufgrund des mitgelieferten Frontends kann Dependency Track rein dar\u00fcber genutzt werden. Etwa durch manuelles hochladen einzelner SBOMs und anschlie\u00dfende Auswertung der CVE-Funde und Lizenzen.<\/p>\n<figure id=\"attachment_4193\" aria-describedby=\"caption-attachment-4193\" style=\"width: 956px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4193 \" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.31.57-300x165.png\" alt=\"\" width=\"956\" height=\"526\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.31.57-300x165.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.31.57-1024x564.png 1024w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.31.57-768x423.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.31.57-1536x846.png 1536w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.31.57-2048x1128.png 2048w\" sizes=\"auto, (max-width: 956px) 100vw, 956px\" \/><figcaption id=\"caption-attachment-4193\" class=\"wp-caption-text\">\u00dcbersicht der Projekte<\/figcaption><\/figure>\n<figure id=\"attachment_4194\" aria-describedby=\"caption-attachment-4194\" style=\"width: 947px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4194 \" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.08-300x178.png\" alt=\"\" width=\"947\" height=\"562\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.08-300x178.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.08-1024x609.png 1024w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.08-768x457.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.08-2048x1218.png 2048w\" sizes=\"auto, (max-width: 947px) 100vw, 947px\" \/><figcaption id=\"caption-attachment-4194\" class=\"wp-caption-text\">\u00dcbersicht der Komponenten eines Projektes (\u00fcbernommen aus der SBOM)<\/figcaption><\/figure>\n<p>Weiterhin k\u00f6nnen \u00fcber 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.<\/p>\n<figure id=\"attachment_4196\" aria-describedby=\"caption-attachment-4196\" style=\"width: 948px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4196\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.36.07-300x164.png\" alt=\"\" width=\"948\" height=\"518\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.36.07-300x164.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.36.07-1024x560.png 1024w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.36.07-768x420.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.36.07-1536x840.png 1536w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.36.07-2048x1120.png 2048w\" sizes=\"auto, (max-width: 948px) 100vw, 948px\" \/><figcaption id=\"caption-attachment-4196\" class=\"wp-caption-text\">Erstellung von Regeln<\/figcaption><\/figure>\n<p>Regelverletzungen und CVE-Funde k\u00f6nnen weiterhin bewertet werden. Das erfolgt direkt an der Komponente. Es kann ein Status ausgew\u00e4hlt 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\u00e4tzlich kann ein Kommentar verfasst werden zur besseren Nachvollziehbarkeit.<\/p>\n<figure id=\"attachment_4197\" aria-describedby=\"caption-attachment-4197\" style=\"width: 947px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4197 \" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.45-300x178.png\" alt=\"\" width=\"947\" height=\"562\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.45-300x178.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.45-1024x609.png 1024w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.45-768x457.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/Bildschirmfoto-2025-12-07-um-22.34.45-2048x1218.png 2048w\" sizes=\"auto, (max-width: 947px) 100vw, 947px\" \/><figcaption id=\"caption-attachment-4197\" class=\"wp-caption-text\">Bewertungsansicht einer CVE<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<h2>Automatisierte Bedienung<\/h2>\n<p>Typischerweise wird jedoch der automatisierte Weg durch die Einbindung in die CI\/CD Pipeline gew\u00e4hlt. Dabei wird die SBOM, w\u00e4hrend des bauens des Codes, generiert und anschlie\u00dfend per API an Depndency Track gesendet. Dependency Track f\u00fchrt dann eine CVE-, sowie die Regelanalyse aus. \u00dcberschreitungen einzelner Regeln k\u00f6nnen automatisch Nachrichten an die konfigurierten Nachrichtendienste senden. Bei Bedarf kann diese Funktionen genutzt werden um das Team automatisch zu informieren. Anschlie\u00dfend k\u00f6nnen die Funde direkt in dem Dependency Track UI ausgewertet\/bewertet werden oder daf\u00fcr an ein externes Werkzeug weitergeleitet werden. In der folgenden Abbildung ist dieser automatisierte Prozess als BPMN-Diagramm dargestellt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4189\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/DT_Kompositionsanalyse_hell-300x209.png\" alt=\"\" width=\"952\" height=\"663\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/DT_Kompositionsanalyse_hell-300x209.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/DT_Kompositionsanalyse_hell-1024x713.png 1024w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/DT_Kompositionsanalyse_hell-768x535.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/12\/DT_Kompositionsanalyse_hell.png 1365w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<h1>Vergleich zu anderen Tools<\/h1>\n<table>\n<thead>\n<tr>\n<th>Kategorie<\/th>\n<th>SBOM Observer<\/th>\n<th>Dependency-Track<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Open Source?<\/td>\n<td>Kommerziell<\/td>\n<td>Open Source<\/td>\n<\/tr>\n<tr>\n<td>SBOM-Import (CycloneDX, SPDX, evtl. andere Formate)<\/td>\n<td>CycloneDX, SPDX, SLSA-Provenance, OpenVEX<\/td>\n<td>CycloneDX, SPDX-Unterst\u00fctzung<\/td>\n<\/tr>\n<tr>\n<td>Vulnerability-\/Security-Scan \/ Software Component Analysis<\/td>\n<td>Vulnerability-Analyse, Container\/OS\/Packages-Scans<\/td>\n<td>SCA + Vulnerability-Tracking + Lizenz\/Risk\/Policy Analyse<\/td>\n<\/tr>\n<tr>\n<td>Container \/ Image \/ OS-Package Unterst\u00fctzung<\/td>\n<td>Container-Vulnerabilities &amp; OS-Packages<\/td>\n<td>Component\/Package-Analyse, inklusive Container\/Packages<\/td>\n<\/tr>\n<tr>\n<td>CI\/CD \/ Automatisierung \/ API<\/td>\n<td>API-Vorhanden, CI\/CD integration m\u00f6glich<\/td>\n<td>API-first; gut f\u00fcr Automatisierung &amp; Pipelines<\/td>\n<\/tr>\n<tr>\n<td>Benutzeroberfl\u00e4che \/ Usability<\/td>\n<td>Web UI, Visualisierungen, Graphen, Diff-Ansichten<\/td>\n<td>Web UI + Dashboard<\/td>\n<\/tr>\n<tr>\n<td>Komplexit\u00e4t \/ Setup<\/td>\n<td>Niedrig-Mittel (kommerzielles Produkt; wird gehostet oder als Service genutzt)<\/td>\n<td>Hoch (vollwertige Plattform, ben\u00f6tigt Hosting\/DB\/etc.)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<thead>\n<tr>\n<th>Kategorie<\/th>\n<th>Syft + Grype<\/th>\n<th>Trivy<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Open Source?<\/td>\n<td>beide Open Source<\/td>\n<td>Open Source<\/td>\n<\/tr>\n<tr>\n<td>SBOM-Import (CycloneDX, SPDX, evtl. andere Formate)<\/td>\n<td>Syft erzeugt CycloneDX\/SPDX standard<\/td>\n<td>Kann SBOM erzeugen und SBOMs als Input nutzen (CycloneDX \/ SPDX)<\/td>\n<\/tr>\n<tr>\n<td>Vulnerability-\/Security-Scan \/ Software Component Analysis<\/td>\n<td>Container\/Filesystem\/SBOM analyse auf CVEs<\/td>\n<td>Scans f\u00fcr Container, OS-Packages, Repos und Misconfig-Checks<\/td>\n<\/tr>\n<tr>\n<td>Container \/ Image \/ OS-Package Unterst\u00fctzung<\/td>\n<td>Syft analysiert Images\/FS; Grype scannt CVEs<\/td>\n<td>Starker Fokus auf Container, Images, OS-Packages<\/td>\n<\/tr>\n<tr>\n<td>CI\/CD \/ Automatisierung \/ API<\/td>\n<td>CLI-basiert; sehr einfach in CI\/CD zu integrieren<\/td>\n<td>CLI-basiert; sehr einfach in CI\/CD zu integrieren<\/td>\n<\/tr>\n<tr>\n<td>Benutzeroberfl\u00e4che \/ Usability<\/td>\n<td>CLI (kein integriertes Dashboard)<\/td>\n<td>CLI (kein integriertes Dashboard)<\/td>\n<\/tr>\n<tr>\n<td>Komplexit\u00e4t \/ Setup<\/td>\n<td>Niedrig\u2013Mittel (leichtgewichtige CLI-Tools)<\/td>\n<td>Niedrig (single-binary CLI, schnell einsetzbar)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h1>Quellen<\/h1>\n<ul>\n<li><a href=\"https:\/\/sbom.observer\/comparison\/sbom-observer\/vs\/dependency-track\">https:\/\/sbom.observer\/comparison\/sbom-observer\/vs\/dependency-track<\/a><\/li>\n<li><a href=\"https:\/\/www.federalregister.gov\/documents\/2021\/05\/17\/2021-10460\/improving-the-nations-cybersecurity\">https:\/\/www.federalregister.gov\/documents\/2021\/05\/17\/2021-10460\/improving-the-nations-cybersecurity<\/a><\/li>\n<li><a href=\"https:\/\/cyber-resilience-act.de\/cra\/kapitel-2\/artikel-13\/\">https:\/\/cyber-resilience-act.de\/cra\/kapitel-2\/artikel-13\/<\/a><\/li>\n<li><a href=\"https:\/\/www.wiz.io\/blog\/shai-hulud-2-0-ongoing-supply-chain-attack\">https:\/\/www.wiz.io\/blog\/shai-hulud-2-0-ongoing-supply-chain-attack<\/a><\/li>\n<li><a href=\"https:\/\/helixguard.ai\/blog\/malicious-sha1hulud-2025-11-24\">https:\/\/helixguard.ai\/blog\/malicious-sha1hulud-2025-11-24<\/a><\/li>\n<li><a href=\"https:\/\/www.cisa.gov\/news-events\/alerts\/2025\/09\/23\/widespread-supply-chain-compromise-impacting-npm-ecosystem\">https:\/\/www.cisa.gov\/news-events\/alerts\/2025\/09\/23\/widespread-supply-chain-compromise-impacting-npm-ecosystem<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/anchore\/syft?tab=readme-ov-file\">https:\/\/github.com\/anchore\/syft?tab=readme-ov-file<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/anchore\/grype\">https:\/\/github.com\/anchore\/grype<\/a><\/li>\n<li><a href=\"https:\/\/owasp.org\/www-project-dependency-track\/\">https:\/\/owasp.org\/www-project-dependency-track\/<\/a><\/li>\n<li><a href=\"https:\/\/trivy.dev\/docs\/latest\/guide\/\">https:\/\/trivy.dev\/docs\/latest\/guide\/<\/a><\/li>\n<li><a href=\"https:\/\/docs.dependencytrack.org\/\">https:\/\/docs.dependencytrack.org\/<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/DependencyTrack\/dependency-track\">https:\/\/github.com\/DependencyTrack\/dependency-track<\/a><\/li>\n<li><a href=\"https:\/\/www.ibm.com\/de-de\/think\/topics\/sbom\">https:\/\/www.ibm.com\/de-de\/think\/topics\/sbom<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Dependency-Track ist eine Open-Source-Plattform von OWASP zur \u00dcberwachung und Analyse von Software-Abh\u00e4ngigkeiten. Sie nutzt CycloneDX-SBOMs und VEX-Dokumente, um Sicherheitsl\u00fccken, Lizenzrisiken<\/p>\n","protected":false},"author":212,"featured_media":4162,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-4153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-betriebliche-informationssysteme"],"_links":{"self":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts\/4153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/users\/212"}],"replies":[{"embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/comments?post=4153"}],"version-history":[{"count":42,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts\/4153\/revisions"}],"predecessor-version":[{"id":4227,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts\/4153\/revisions\/4227"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/media\/4162"}],"wp:attachment":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/media?parent=4153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/categories?post=4153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/tags?post=4153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}