Disclosure Check 是一款用于识别开源项目漏洞披露机制的工具。

警告 该项目仍在开发中,可能无法在许多不同的项目上正常工作。如果你遇到 bug, 请提交 issue,我们会尽力解决。欢迎提交 pull request!
大多数开源项目使用公共 issue 跟踪器来处理入站请求、bug 报告等。由于这种方式不适合 报告新的漏洞,许多项目为用户提供了其他机制来提交敏感报告。
遗憾的是,目前没有广泛使用的、机器可读的方式来发现某个项目的这类机制。相反,人类可能 需要查找 SECURITY.md 文件(并通读它)、查看 README.md、检查源代码仓库是否提供私有漏洞 报告机制、检查是否有电子邮件地址与已发布的包关联,等等。
对单个项目来说这很耗时,大规模进行时更是如此。
Disclosure Check 的目的是自动化人类在尝试发现向项目报告漏洞的最佳方式时所做的工作。它的 用途与更标准化的报告机制这一目标并不冲突;如果将来后者成为现实,这个工具将不再有用。
Disclosure Check 可通过 PyPI 和 Docker Hub 获取。如果你通过 PyPI 安装,还需要安装 OSS Gadget,这是下载包内容以进行分析所必需的。 确保 oss-download 在你的 PATH 中。
你还需要一个 GitHub token,以便 Disclosure Check 使用 GitHub API 进行代码搜索等操作。该 token 不需要任何特殊权限,工具在没有它的情况下也能运行,但功能会有所降低。
请参阅 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 为最低优先级)。