
Outil pour identifier les meilleurs mécanismes de divulgation privée d'une vulnérabilité de sécurité pour un paquet/projet.
Disclosure Check est un outil permettant d'identifier les mécanismes de divulgation de vulnérabilités pour les projets open source.

Avertissement Ce projet est encore en cours de développement et peut ne pas fonctionner correctement pour de nombreux projets différents. Si vous rencontrez un bug, veuillez ouvrir un ticket et nous ferons de notre mieux pour le corriger. Les pull requests sont les bienvenues !
La plupart des projets open source utilisent un gestionnaire de tickets public pour les demandes entrantes, les rapports de bugs, etc. Comme cela n'est pas approprié pour signaler de nouvelles vulnérabilités, de nombreux projets disposent d'autres mécanismes permettant aux utilisateurs de soumettre des rapports sensibles.
Malheureusement, il n'existe pas de moyen largement répandu et lisible par machine de découvrir cela pour un projet donné. À la place, une personne pourrait devoir chercher un fichier SECURITY.md (et le lire en entier), parcourir un README.md, vérifier si un mécanisme de signalement privé de vulnérabilités est disponible via le dépôt source, vérifier si une adresse e-mail est associée au paquet publié, etc.
Cela prend du temps pour un seul projet, et bien plus encore lorsqu'on le fait à grande échelle.
Le but de Disclosure Check est d'automatiser ce qu'une personne ferait en essayant de découvrir la meilleure façon de signaler une vulnérabilité à un projet. Son utilisation est orthogonale à l'objectif de mécanismes de signalement plus standardisés ; si et quand ces derniers deviendront une réalité, cet outil ne sera plus utile.
Disclosure Check est disponible via PyPI et Docker Hub. Si vous l'installez via PyPI, vous devrez également installer OSS Gadget, qui est nécessaire pour télécharger le contenu du paquet à analyser. Assurez-vous que oss-download est dans votre PATH.
Vous aurez également besoin d'un token GitHub pour permettre à Disclosure Check d'utiliser l'API GitHub pour des choses comme la recherche de code. Le token ne nécessite aucune permission spéciale, et l'outil fonctionnera sans lui, bien qu'avec des fonctionnalités dégradées.
Reportez-vous à la page OSS Gadget pour les instructions d'installation à jour.
Vous pouvez ensuite installer Disclosure Check depuis PyPI :
pip install disclosurecheck
Vous devriez toujours installer des paquets comme celui-ci dans un environnement virtuel, car l'installation inclura d'autres dépendances.
Vous pouvez récupérer la dernière image Docker depuis le GitHub Container Registry :
docker pull ghcr.io/scovetta/disclosurecheck:latest
Pour exécuter 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.
Ou si vous utilisez l'image Docker :
docker run -e GITHUB_TOKEN=<YOUR GITHUB TOKEN> --rm -t ghcr.io/scovetta/disclosurecheck:latest pkg:npm/left-pad
Disclosure Check fonctionne en recherchant des informations de contact (e-mail, URL, etc.) dans les endroits suivants :
L'outil tente de les classer en fonction de la priorité (0 étant la priorité la plus élevée et 100 la plus faible).