
パッケージ/プロジェクトのセキュリティ脆弱性を非公開で開示するための最適なメカニズムを特定するツール。
Disclosure Check は、オープンソースプロジェクトの脆弱性開示メカニズムを特定するためのツールです。

Warning このプロジェクトはまだ開発中であり、多くのプロジェクトで正しく動作しない可能性があります。バグに遭遇した場合は、 issue を作成してください。できる限り対応します。プルリクエストも歓迎します!
ほとんどのオープンソースプロジェクトは、受信リクエストやバグレポートなどに公開イシュートラッカーを使用しています。これは新しい脆弱性の報告には適していないため、多くのプロジェクトではユーザーが機密性の高いレポートを送信するための別のメカニズムを用意しています。
残念ながら、特定のプロジェクトについてこれを発見するための広く使われている機械可読な方法は存在しません。代わりに、人間が SECURITY.md ファイルを探して(そして読み通して)、README.md を確認し、ソースリポジトリを通じて非公開の脆弱性報告メカニズムが利用可能かどうかを確認し、公開されたパッケージに関連付けられたメールアドレスがあるかどうかを確認する、といった作業が必要になる場合があります。
これは1つのプロジェクトでは時間がかかり、大規模に行う場合はさらに多くの時間を要します。
Disclosure Check の目的は、プロジェクトに脆弱性を報告する最善の方法を発見しようとする際に人間が行うことを自動化することです。その用途は、より標準化された報告メカニズムという目標とは直交しています。後者が実現すれば、このツールはもはや有用ではなくなります。
Disclosure Check は PyPI と Docker Hub から入手できます。PyPI からインストールする場合は、分析のためにパッケージの内容をダウンロードするために必要な OSS Gadget もインストールする必要があります。oss-download がパスに含まれていることを確認してください。
また、Disclosure Check がコード検索などのために GitHub API を使用できるようにするための GitHub トークンも必要です。トークンには特別な権限は必要なく、トークンなしでもツールは動作しますが、機能は低下します。
最新のインストール手順については、OSS Gadget のページを参照してください。
その後、PyPI から Disclosure Check をインストールできます:
pip install disclosurecheck
このようなパッケージは、インストールに他の依存関係が含まれるため、常に仮想環境でインストールする必要があります。
GitHub Container Registry から最新の Docker イメージをプルできます:
docker pull ghcr.io/scovetta/disclosurecheck:latest
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.
または Docker イメージを使用している場合:
docker run -e GITHUB_TOKEN=<YOUR GITHUB TOKEN> --rm -t ghcr.io/scovetta/disclosurecheck:latest pkg:npm/left-pad
Disclosure Check は、以下の場所で連絡先情報(メール、URL など)を探すことで動作します:
このツールは、優先度に基づいてこれらをスコアリングしようとします(0 が最も高く、100 が最も低い)。