
패키지/프로젝트의 보안 취약점을 비공개로 공개하기 위한 최적의 메커니즘을 식별하는 도구입니다.
Disclosure Check는 오픈 소스 프로젝트의 취약점 공개 메커니즘을 식별하기 위한 도구입니다.

경고 이 프로젝트는 아직 개발 중이며, 많은 프로젝트에서 제대로 작동하지 않을 수 있습니다. 버그를 발견하면 이슈를 열어주시면 최선을 다해 해결하도록 하겠습니다. 풀 리퀘스트를 환영합니다!
대부분의 오픈 소스 프로젝트는 인바운드 요청, 버그 리포트 등을 위해 공개 이슈 트래커를 사용합니다. 이는 새로운 취약점을 보고하기에 적합하지 않기 때문에, 많은 프로젝트에서 사용자가 민감한 보고서를 제출할 수 있는 다른 메커니즘을 가지고 있습니다.
안타깝게도, 주어진 프로젝트에 대해 이를 발견할 수 있는 널리 사용되는 기계 판독 가능한 방법은 없습니다. 대신 사람이 직접 SECURITY.md 파일을 찾아 읽고, README.md를 검토하고, 소스 저장소를 통해 비공개 취약점 보고 메커니즘이 사용 가능한지 확인하고, 게시된 패키지에 연결된 이메일 주소가 있는지 확인하는 등의 작업이 필요할 수 있습니다.
이는 프로젝트 하나에 대해서도 시간이 많이 소요되며, 대규모로 수행할 때는 훨씬 더 그렇습니다.
Disclosure Check의 목적은 프로젝트에 취약점을 보고하는 최선의 방법을 찾으려 할 때 사람이 수행할 작업을 자동화하는 것입니다. 이 도구의 용도는 보다 표준화된 보고 메커니즘이라는 목표와는 별개입니다. 후자가 현실화되면 이 도구는 더 이상 유용하지 않게 될 것입니다.
Disclosure Check는 PyPI와 Docker Hub를 통해 사용할 수 있습니다. PyPI를 통해 설치하는 경우, 분석을 위해 패키지 내용을 다운로드하는 데 필요한 OSS Gadget도 설치해야 합니다. oss-download가 PATH에 있는지 확인하세요.
또한 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이 가장 낮은 우선순위입니다).