Private Abhängigkeiten sind abgedeckt
Einige Open-Source-Tester hingen von privaten Repositories ab, ohne es zu wissen. ORT Server unterstützt private Repositories, sodass auch diese Abhängigkeiten analysiert werden.
OCCTET-Toolkit
Was die OCCTET-Toolchain bei allen Projekten der Eclipse Foundation, bei 96 populären Open-Source-Projekten in zehn Ökosystemen und bei realen KMU-Produkten gefunden hat, wie im Ergebnis D3.3 dokumentiert.
Sämtliche Projekte der Eclipse Foundation wurden mit dem OCCTET-Toolkit analysiert. Die OCCTET-Instanz von ORT Server führt jedes Projekt mit seinen GitHub- und GitLab-Repositories und bündelt die Daten zu Repositories, Paketen und Schwachstellen in einer einzigen operativen Sicht auf das gesamte Portfolio. Dieselbe kostenlose Open-Source-Toolchain, die ein KMU einsetzen kann, skaliert damit auf das Portfolio einer Open-Source-Stiftung.
Ein Rückstand, der Prioritäten braucht
46.211 Schwachstellenbefunde sind im gesamten Portfolio noch offen. Zu wissen, welche zuerst zu bearbeiten sind, macht diese Menge beherrschbar: Dafür gibt es den OCCTET Curator und VEX-Erklärungen.
In jedem von zehn Sprach-Ökosystemen wurden rund zehn der am häufigsten heruntergeladenen und am weitesten verbreiteten Repositories ausgewählt: C/C++, C#, Swift, Rust, Ruby, Python, Go, PHP, JavaScript und die JVM. ORT Server hat für jedes Projekt den vollständigen Graphen der transitiven Abhängigkeiten aufgelöst und jedes Paket mit den Advisory-Datenbanken OSV und VulnerableCode abgeglichen.
Jede Analyse wurde abgeschlossen. 74 Läufe verliefen ohne Probleme; 22 meldeten Probleme, meist nicht auflösbare Teilprojekte, was oft auf verbesserungswürdige Build-Praktiken im Projekt selbst hinweist.
| Paket | Gefunden in | Schweregrad | Score | Advisory-IDs | Behoben in |
|---|---|---|---|---|---|
axios@1.12.2 | boostorg/boost | Kritisch | 10,0 | 19 | ≥ 1.13.5 |
bcprov-jdk18on@1.79 | qt/qtbase | Kritisch | 10,0 | 4 | ≥ 1.84 |
minimist@0.0.8 | mxcl/PromiseKit | Kritisch | 9,8 | 5 | ≥ 1.2.6 |
flatted@3.3.1 | rails/rails | Kritisch | 9,8 | 4 | ≥ 3.4.0 |
openssl@0.10.71 (Rust-Crate) | openssl/openssl | Hoch | 9,3 | 10 | ≥ 0.10.78 |
Wie Befunde gezählt werden
Jeder Befund ist ein Advisory, das einer Paketversion im Abhängigkeitsgraphen zugeordnet wurde. Betrifft ein Advisory fünf Pakete, zählt es fünfmal: Die Summen messen die zu sichtende Menge, nicht die Zahl unterschiedlicher Advisories.
Fünf bekannte, auf GitHub gehostete Projekte wurden mit ORT Server analysiert und mit dem Abhängigkeitsgraphen von GitHub verglichen. ORT Server führt die Paketmanager des Projekts selbst aus und sieht die Abhängigkeiten daher so, wie der Build sie auflöst, einschließlich der transitiven, ohne jede Änderung am Projekt.
| Projekt | ORT Server | GitHub | Schwachstellen (ORT Server) | Was den Unterschied erklärt |
|---|---|---|---|---|
| Apache Kafka | 96 | 74 | 51 | ORT Server findet die mit ~= deklarierten Python-Abhängigkeiten (64 gegenüber 25) und die Maven-Abhängigkeiten eines nicht standardmäßigen Scopes (32 gegenüber 10). GitHub listet zusätzlich 39 GitHub Actions. |
| Apache Tomcat | 40 | 51 | 45 | Dieselben 40 Maven-Abhängigkeiten; die 11 zusätzlichen Einträge auf GitHub sind GitHub Actions. |
| Eclipse Jetty | 725 | 5.396 | 104 | GitHub zählt auch Maven-Plugins und die eigenen Module des Projekts als Pakete; ORT Server berücksichtigt, was mit dem Produkt ausgeliefert wird. |
| Apache Hadoop | 1.677 | 4.142 | 1.103 | Maven-Abhängigkeiten werden unterschiedlich gezählt. GitHub übersieht die transitiven Python-Abhängigkeiten (1 gegenüber 21) und Bower (27); ORT Server konnte die NuGet-Projekte nicht analysieren. |
| Eclipse Mosquitto | – | 34 | 0 | C/C++ ohne Paketmanager: Keines der beiden Werkzeuge kann die Abhängigkeiten auflösen, und GitHub listet nur GitHub Actions. ORT Server akzeptiert von Hand deklarierte Abhängigkeiten, etwa in SPDX. |
| GitHub-Abhängigkeitsgraph | ORT Server | |
|---|---|---|
| Advisory-Quelle | Die GitHub Advisory Database. | OSV und VulnerableCode über die Advisor-Plugins von ORT; weitere Quellen lassen sich anbinden. |
| Auflösung der Abhängigkeiten | Liest vor allem die unterstützten Manifest- und Lock-Dateien des Repositorys. | Führt die Paketmanager des Builds aus und löst den vollständigen transitiven Graphen auf, ohne das Projekt zu ändern. |
| Abdeckung | Bezieht GitHub-Actions-Workflows ein. | Mehr Paketmanager; GitHub Actions werden nicht analysiert. |
| Umfang | Jeweils ein Repository. | Organisationen, Produkte und Repositories, mit Dashboards auf jeder Ebene. |
| Belege für die Sichtung | Sicherheitswarnungen des Repositorys. | Advisory-IDs, Schweregrad, betroffene Versionen, Referenzen und kleinste korrigierte Versionen pro Paket, dazu SBOMs in SPDX und CycloneDX. |
| Kosten und Hosting | Funktionen von Advanced Security können für private Repositories einen kostenpflichtigen Tarif erfordern. | Kostenlos und Open Source (Eclipse Apoapsis), selbst betrieben oder auf der OCCTET-Instanz. |
Abgesehen von GitHub Actions zeichnet ORT Server in der Regel ein vollständigeres Bild dessen, was mit dem Produkt ausgeliefert wird: Transitive und nicht standardmäßige Abhängigkeiten werden gefunden, und Build-Plugins werden von ausgelieferten Komponenten unterschieden.
Die breite technologische Abdeckung ist nicht nur theoretisch. Fünf KMU-Tester haben neun Anwendungsfälle mit ihren realen Produkten und Liefermodellen eingerichtet: Softwareprodukte, SaaS-Angebote und IoT-Geräte. Vier weitere Tester werden derzeit eingebunden.
8 unterstützt 1 nicht unterstützt 89 %
Der nicht unterstützte Fall beruht auf veralteten Build-Werkzeugen (Visual Studio Build Tools VC2017 und CMake 3.17.3). Die Unterstützung älterer Versionen von Build-Systemen liegt außerhalb des Projektumfangs.
Einige Open-Source-Tester hingen von privaten Repositories ab, ohne es zu wissen. ORT Server unterstützt private Repositories, sodass auch diese Abhängigkeiten analysiert werden.
Die Unterstützung für Yocto, das ein Tester einsetzt, wurde 2026 eingeführt und wächst mit dessen Feedback weiter.
Nicht unterstützte, veraltete Build-Systeme werden von Anfang an erkannt, was die Einführungsplanung erleichtert.
Warum kontinuierliche Überwachung zählt
Bei ReductStore fand ein erster Lauf 116 Schwachstellenbefunde. Ein zweiter Lauf ganz ohne Codeänderung fand 121: Für die transitiven Abhängigkeiten waren in der Zwischenzeit fünf neue Schwachstellen veröffentlicht worden. Geplante Läufe erkennen sie, ohne auf das nächste Release zu warten.
Befunde sind erst der Anfang. Der OCCTET Curator ruft die Ergebnisse von ORT Server über dessen API ab und ergänzt Prüfung, Anreicherung und Export, sodass am Ende eine prüffähige Sicherheitsdokumentation steht.
Der Curator wurde mit KMU-Testern validiert, an ReductStore von ReductSoftware und an Sirius Web von Obeo, wo er 1.148 Komponenten und 48 Schwachstellen erkannte und die SBOM erzeugte. Er wurde außerdem auf Open-Source-Projekte in .NET, Python, Swift, Go, Ruby, JVM und JavaScript angewendet sowie auf herausragende Projekte wie Adoptium, die Eclipse IDE, Eclipse Mosquitto, Apache Tomcat und Apache Kafka.
Die Werkzeuge sind Open Source. Nutzen Sie die gehosteten OCCTET-Instanzen als Tester, oder betreiben Sie sie selbst.
Neu in der Toolchain?
Der Einstiegsleitfaden führt Sie Schritt für Schritt von Ihrem ersten Projekt zu geprüften Nachweisen.