
Herramienta para identificar los mejores mecanismos para divulgar de forma privada una vulnerabilidad de seguridad de un paquete/proyecto.
Disclosure Check es una herramienta para identificar mecanismos de divulgación de vulnerabilidades en proyectos de código abierto.

Advertencia Este proyecto aún está en desarrollo y puede no funcionar correctamente para muchos proyectos diferentes. Si encuentras un error, por favor abre un issue e intentaremos solucionarlo lo mejor posible. ¡Se aceptan pull requests!
La mayoría de los proyectos de código abierto utilizan un rastreador de issues público para solicitudes entrantes, informes de errores, etc. Dado que esto es inapropiado para reportar nuevas vulnerabilidades, muchos proyectos tienen otros mecanismos para que los usuarios envíen informes confidenciales.
Desafortunadamente, no existe una forma ampliamente utilizada y legible por máquina de descubrir esto para un proyecto determinado. En su lugar, una persona podría necesitar buscar un archivo SECURITY.md (y leerlo), revisar un README.md, comprobar si hay un mecanismo privado de reporte de vulnerabilidades disponible a través del repositorio de código fuente, comprobar si hay una dirección de correo electrónico asociada con el paquete publicado, etc.
Esto consume mucho tiempo para un solo proyecto, y mucho más cuando se hace a escala.
El propósito de Disclosure Check es automatizar lo que haría una persona al intentar descubrir la mejor manera de reportar una vulnerabilidad a un proyecto. Su uso es ortogonal al objetivo de mecanismos de reporte más estandarizados; si y cuando esto último se convierta en realidad, esta herramienta dejará de ser útil.
Disclosure Check está disponible a través de PyPI y Docker Hub. Si instalas a través de PyPI, también necesitarás instalar OSS Gadget, que es necesario para descargar el contenido del paquete para su análisis. Asegúrate de que oss-download esté en tu PATH.
También necesitarás un token de GitHub para permitir que Disclosure Check use la API de GitHub para cosas como la búsqueda de código. El token no requiere permisos especiales, y la herramienta funcionará sin él, aunque con funcionalidad degradada.
Consulta la página de OSS Gadget para obtener instrucciones de instalación actualizadas.
Luego puedes instalar Disclosure Check desde PyPI:
pip install disclosurecheck
Siempre deberías instalar paquetes como este en un entorno virtual, ya que la instalación incluirá otras dependencias.
Puedes obtener la última imagen de Docker desde el GitHub Container Registry:
docker pull ghcr.io/scovetta/disclosurecheck:latest
Para ejecutar 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.
O si estás usando la imagen de Docker:
docker run -e GITHUB_TOKEN=<YOUR GITHUB TOKEN> --rm -t ghcr.io/scovetta/disclosurecheck:latest pkg:npm/left-pad
Disclosure Check funciona buscando información de contacto (correo electrónico, URLs, etc.) en los siguientes lugares:
La herramienta intenta puntuar estos según la prioridad (siendo 0 la prioridad más alta y 100 la más baja).