
Ferramenta para identificar os melhores mecanismos para divulgar de forma privada uma vulnerabilidade de segurança de um pacote/projeto.
Disclosure Check é uma ferramenta para identificar mecanismos de divulgação de vulnerabilidades em projetos de código aberto.

Aviso Este projeto ainda está em desenvolvimento e pode não funcionar corretamente para muitos projetos diferentes. Se você encontrar um bug, por favor abra uma issue e faremos o possível para resolvê-lo. Pull requests são bem-vindos!
A maioria dos projetos de código aberto usa um rastreador público de issues para solicitações recebidas, relatórios de bugs, etc. Como isso é inadequado para relatar novas vulnerabilidades, muitos projetos têm outros mecanismos para que os usuários enviem relatórios sensíveis.
Infelizmente, não há uma forma amplamente utilizada e legível por máquina de descobrir isso para um determinado projeto. Em vez disso, uma pessoa pode precisar procurar um arquivo SECURITY.md (e lê-lo), revisar um README.md, verificar se um mecanismo privado de relato de vulnerabilidades está disponível através do repositório de código-fonte, verificar se um endereço de e-mail está associado ao pacote publicado, etc.
Isso consome tempo para um único projeto, e muito mais quando feito em escala.
O objetivo do Disclosure Check é automatizar o que uma pessoa faria ao tentar descobrir a melhor forma de relatar uma vulnerabilidade a um projeto. Seu uso é ortogonal ao objetivo de mecanismos de relato mais padronizados; se e quando isso se tornar realidade, esta ferramenta não será mais útil.
O Disclosure Check está disponível através do PyPI e do Docker Hub. Se você instalar através do PyPI, também precisará instalar o OSS Gadget, que é necessário para baixar o conteúdo do pacote para análise. Certifique-se de que o oss-download esteja no seu PATH.
Você também precisará de um token do GitHub para permitir que o Disclosure Check use a API do GitHub para coisas como busca de código. O token não requer nenhuma permissão especial, e a ferramenta funcionará sem ele, embora com funcionalidade degradada.
Consulte a página do OSS Gadget para instruções de instalação atualizadas.
Você pode então instalar o Disclosure Check a partir do PyPI:
pip install disclosurecheck
Você deve sempre instalar pacotes como este em um ambiente virtual, pois a instalação incluirá outras dependências.
Você pode baixar a imagem Docker mais recente do GitHub Container Registry:
docker pull ghcr.io/scovetta/disclosurecheck:latest
Para executar o 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, se você estiver usando a imagem Docker:
docker run -e GITHUB_TOKEN=<YOUR GITHUB TOKEN> --rm -t ghcr.io/scovetta/disclosurecheck:latest pkg:npm/left-pad
O Disclosure Check funciona procurando informações de contato (e-mail, URLs, etc.) nos seguintes locais:
A ferramenta tenta pontuar esses itens com base na prioridade (sendo 0 a prioridade mais alta e 100 a mais baixa).