
Strumento per identificare i migliori meccanismi per divulgare privatamente una vulnerabilità di sicurezza per un pacchetto/progetto.
Disclosure Check è uno strumento per identificare i meccanismi di divulgazione delle vulnerabilità per i progetti open source.

Attenzione Questo progetto è ancora in fase di sviluppo e potrebbe non funzionare correttamente per molti progetti diversi. Se incontri un bug, apri una issue e faremo del nostro meglio per risolverlo. Pull request benvenute!
La maggior parte dei progetti open source utilizza un issue tracker pubblico per le richieste in entrata, le segnalazioni di bug, ecc. Poiché questo non è appropriato per segnalare nuove vulnerabilità, molti progetti dispongono di altri meccanismi per consentire agli utenti di inviare segnalazioni sensibili.
Sfortunatamente, non esiste un modo ampiamente utilizzato e leggibile da una macchina per scoprirlo per un dato progetto. Al contrario, una persona potrebbe dover cercare un file SECURITY.md (e leggerlo), esaminare un README.md, verificare se è disponibile un meccanismo privato di segnalazione delle vulnerabilità attraverso il repository del codice sorgente, controllare se un indirizzo e-mail è associato al pacchetto pubblicato, ecc.
Questo richiede molto tempo per un singolo progetto, e ancora di più se fatto su larga scala.
Lo scopo di Disclosure Check è automatizzare ciò che farebbe una persona quando cerca di scoprire il modo migliore per segnalare una vulnerabilità a un progetto. Il suo utilizzo è ortogonale all'obiettivo di meccanismi di segnalazione più standardizzati; se e quando quest'ultimo diventerà realtà, questo strumento non sarà più utile.
Disclosure Check è disponibile tramite PyPI e Docker Hub. Se installi tramite PyPI, dovrai anche installare OSS Gadget, necessario per scaricare il contenuto del pacchetto da analizzare. Assicurati che oss-download sia nel tuo path.
Avrai anche bisogno di un token GitHub per consentire a Disclosure Check di utilizzare l'API di GitHub per cose come la ricerca nel codice. Il token non richiede permessi speciali, e lo strumento funzionerà anche senza di esso, sebbene con funzionalità ridotte.
Fai riferimento alla pagina OSS Gadget per le istruzioni di installazione aggiornate.
Puoi quindi installare Disclosure Check da PyPI:
pip install disclosurecheck
Dovresti sempre installare pacchetti come questo in un ambiente virtuale, poiché l'installazione includerà altre dipendenze.
Puoi scaricare l'immagine Docker più recente dal GitHub Container Registry:
docker pull ghcr.io/scovetta/disclosurecheck:latest
Per eseguire Disclosure Check:
disclosurecheck --help
usage: OpenSSF Vulnerability Disclosure Mechanism Detector [-h] [--verbose] [--json] package_url
positional arguments:
package_url Package URL for the project/package you want to analyze.
options:
-h, --help show this help message and exit
--verbose Show extra logging.
--json Output as JSON.
Oppure, se stai usando l'immagine Docker:
docker run -e GITHUB_TOKEN=<YOUR GITHUB TOKEN> --rm -t ghcr.io/scovetta/disclosurecheck:latest pkg:npm/left-pad
Disclosure Check funziona cercando informazioni di contatto (email, URL, ecc.) nei seguenti luoghi:
Lo strumento tenta di assegnare un punteggio a questi in base alla priorità (con 0 come priorità più alta e 100 come più bassa).