Le dipendenze private sono coperte
Alcuni tester open source dipendevano da repository privati senza saperlo. ORT Server supporta i repository privati, quindi anche queste dipendenze vengono analizzate.
Toolkit OCCTET
Che cosa ha trovato la toolchain OCCTET su tutti i progetti della Eclipse Foundation, su 96 progetti open source popolari in dieci ecosistemi e su prodotti reali di PMI, come riportato nel deliverable D3.3.
Tutti i progetti della Eclipse Foundation sono stati analizzati con il toolkit OCCTET. L’istanza ORT Server di OCCTET registra ogni progetto con i suoi repository GitHub e GitLab e consolida i dati su repository, pacchetti e vulnerabilità in un’unica vista operativa dell’intero portafoglio. La stessa toolchain open source e gratuita che una PMI può installare si estende così al portafoglio di una fondazione open source.
Un volume da gestire per priorità
46.211 rilevazioni di vulnerabilità sono ancora da risolvere nell’intero portafoglio. Sapere quali affrontare per prime rende gestibile questo volume: è il compito dell’OCCTET Curator e delle dichiarazioni VEX.
In ciascuno di dieci ecosistemi di linguaggi sono stati selezionati una decina dei repository più scaricati e più adottati: C/C++, C#, Swift, Rust, Ruby, Python, Go, PHP, JavaScript e la JVM. ORT Server ha risolto il grafo completo delle dipendenze transitive di ogni progetto e verificato ogni pacchetto nei database di advisory OSV e VulnerableCode.
Tutte le analisi sono state completate. 74 esecuzioni si sono concluse senza problemi; 22 hanno segnalato problemi, per lo più sottoprogetti che non è stato possibile risolvere, spesso indice di pratiche di build da migliorare nel progetto stesso.
| Pacchetto | Trovato in | Gravità | Punteggio | ID advisory | Corretto in |
|---|---|---|---|---|---|
axios@1.12.2 | boostorg/boost | Critica | 10,0 | 19 | ≥ 1.13.5 |
bcprov-jdk18on@1.79 | qt/qtbase | Critica | 10,0 | 4 | ≥ 1.84 |
minimist@0.0.8 | mxcl/PromiseKit | Critica | 9,8 | 5 | ≥ 1.2.6 |
flatted@3.3.1 | rails/rails | Critica | 9,8 | 4 | ≥ 3.4.0 |
openssl@0.10.71 (crate Rust) | openssl/openssl | Alta | 9,3 | 10 | ≥ 0.10.78 |
Come vengono contate le rilevazioni
Ogni rilevazione è un advisory associato a una versione di pacchetto del grafo delle dipendenze. Se un advisory riguarda cinque pacchetti, conta cinque volte: i totali misurano il volume da esaminare, non il numero di advisory distinti.
Cinque progetti noti ospitati su GitHub sono stati analizzati con ORT Server e confrontati con il grafo delle dipendenze di GitHub. ORT Server esegue i gestori di pacchetti del progetto stesso, quindi vede le dipendenze così come le risolve la build, comprese quelle transitive, senza alcuna modifica al progetto.
| Progetto | ORT Server | GitHub | Vulnerabilità (ORT Server) | Cosa spiega la differenza |
|---|---|---|---|---|
| Apache Kafka | 96 | 74 | 51 | ORT Server trova le dipendenze Python dichiarate con ~= (64 contro 25) e le dipendenze Maven di uno scope non standard (32 contro 10). GitHub elenca inoltre 39 GitHub Actions. |
| Apache Tomcat | 40 | 51 | 45 | Le stesse 40 dipendenze Maven; le 11 voci in più su GitHub sono GitHub Actions. |
| Eclipse Jetty | 725 | 5.396 | 104 | GitHub conta come pacchetti anche i plugin Maven e i moduli del progetto stesso; ORT Server considera ciò che viene distribuito con il prodotto. |
| Apache Hadoop | 1.677 | 4.142 | 1.103 | Le dipendenze Maven sono contate in modo diverso. GitHub non vede le dipendenze Python transitive (1 contro 21) né Bower (27); ORT Server non è riuscito ad analizzare i progetti NuGet. |
| Eclipse Mosquitto | – | 34 | 0 | C/C++ senza gestore di pacchetti: nessuno dei due strumenti può risolvere le dipendenze, e GitHub elenca solo GitHub Actions. ORT Server accetta dipendenze dichiarate a mano, per esempio in SPDX. |
| Grafo delle dipendenze di GitHub | ORT Server | |
|---|---|---|
| Fonte degli advisory | Il GitHub Advisory Database. | OSV e VulnerableCode, tramite i plugin advisor di ORT; si possono collegare altre fonti. |
| Risoluzione delle dipendenze | Legge soprattutto i file manifest e di lock supportati del repository. | Esegue i gestori di pacchetti della build e risolve il grafo transitivo completo, senza modificare il progetto. |
| Copertura | Include i workflow di GitHub Actions. | Più gestori di pacchetti; le GitHub Actions non vengono analizzate. |
| Ambito | Un repository alla volta. | Organizzazioni, prodotti e repository, con dashboard a ogni livello. |
| Elementi per la valutazione | Avvisi di sicurezza del repository. | ID advisory, gravità, versioni interessate, riferimenti e versioni corrette minime per pacchetto, oltre a SBOM SPDX e CycloneDX. |
| Costi e hosting | Le funzioni di Advanced Security possono richiedere un piano a pagamento per i repository privati. | Gratuito e open source (Eclipse Apoapsis), installato in proprio o sull’istanza OCCTET. |
A parte le GitHub Actions, ORT Server offre in genere un quadro più completo di ciò che viene distribuito con il prodotto: trova le dipendenze transitive e non standard e distingue i plugin di build dai componenti distribuiti.
L’ampia copertura tecnologica non è solo teorica. Cinque PMI tester hanno configurato nove casi d’uso con i loro prodotti e modelli di distribuzione reali: prodotti software, servizi SaaS e dispositivi IoT. Altri quattro tester sono in fase di attivazione.
8 supportati 1 non supportato 89%
Il caso non supportato si basa su strumenti di build datati (Visual Studio Build Tools VC2017 e CMake 3.17.3). Il supporto di versioni precedenti dei sistemi di build esula dall’ambito del progetto.
Alcuni tester open source dipendevano da repository privati senza saperlo. ORT Server supporta i repository privati, quindi anche queste dipendenze vengono analizzate.
Il supporto per Yocto, usato da uno dei tester, è stato introdotto nel 2026 e continua a crescere grazie al suo feedback.
I sistemi di build datati non supportati vengono individuati fin dall’inizio, il che facilita la pianificazione dell’adozione.
Perché il monitoraggio continuo è importante
Su ReductStore, una prima esecuzione ha trovato 116 rilevazioni di vulnerabilità. Una seconda, senza alcuna modifica al codice, ne ha trovate 121: nel frattempo erano state pubblicate cinque nuove vulnerabilità per le sue dipendenze transitive. Le esecuzioni pianificate le individuano senza attendere il rilascio successivo.
Le rilevazioni sono solo il punto di partenza. L’OCCTET Curator recupera i risultati di ORT Server tramite la sua API e aggiunge revisione, arricchimento ed esportazione, per arrivare a una documentazione di sicurezza verificabile.
Il Curator è stato convalidato con PMI tester, su ReductStore di ReductSoftware e su Sirius Web di Obeo, dove ha rilevato 1.148 componenti e 48 vulnerabilità e generato la SBOM. È stato inoltre usato su progetti open source in .NET, Python, Swift, Go, Ruby, JVM e JavaScript, e su progetti iconici come Adoptium, l’IDE Eclipse, Eclipse Mosquitto, Apache Tomcat e Apache Kafka.
Gli strumenti sono open source. Usa le istanze ospitate da OCCTET come tester, oppure installali tu stesso.
Prima volta con la toolchain?
La guida ai primi passi ti accompagna passo dopo passo, dal primo progetto a prove revisionate.