Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
vexhub | Kitploit
도구/GitHubGitHub/aquasecurity/vexhub
Vulnerability AnalysisInformation GatheringDevSecOpsThreat IntelligenceSupply Chain Security
GitHubaquasecurity/vexhub

vexhub

저장소 보기
3965개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

VEX Hub Logo

VEX Hub는 다양한 오픈소스 소프트웨어 프로젝트의 취약점 악용 가능성 교환(VEX) 문서를 수집하고 관리하는 중앙 집중식 저장소입니다. 이는 취약점 정보를 위한 포괄적인 리소스로, 사용자와 보안 도구가 여러 프로젝트와 생태계에서 VEX 데이터에 효율적으로 접근하고 활용할 수 있도록 지원합니다.

VEX Hub는 등록된 프로젝트의 소스 저장소에서 VEX 문서를 자동으로 가져옵니다. 등록된 Package URL (PURL)에서 소스 저장소를 식별하여 VEX 문서를 복사하고 정리함으로써, 더 넓은 커뮤니티가 쉽게 접근할 수 있도록 합니다.

빠른 시작: VEX Hub에 VEX 문서 추가하기

  1. VEX 파일 생성
    1. VEX Hub는 OpenVEX 또는 CSAF 형식을 지원합니다.
    2. VEX 파일을 소스 코드 저장소의 루트에 있는 .vex/ 디렉토리에 저장하세요. 자세한 내용은 여기를 참조하세요.
    3. VEX Hub용 VEX 문서 작성에 대한 추가 지침은 여기를 참조하세요.
  2. VEX Hub에 패키지 등록
    1. 패키지의 PURL을 크롤링 대상 패키지 파일에 추가하는 Pull Request를 만드세요.

그게 전부입니다! VEX Hub가 자동으로 VEX 문서를 가져와 처리합니다.

VEX 크롤링

VEX Hub 크롤러는 등록된 패키지의 VEX 문서를 주기적으로 크롤링하여 VEX Hub에 유지 관리합니다. 등록된 패키지는 파일의 PURL 목록으로 정의되며, 누구나 Pull Request를 통해 업데이트할 수 있습니다.

PURL 등록, 지원되는 생태계 및 특정 요구 사항에 대한 자세한 내용은 VEX Hub 크롤러를 참조하세요.

소스 저장소 식별

패키지 파일은 크롤링할 패키지의 PURL만 지정하며, VEX Hub 크롤러는 VEX 파일이 있는 소스 코드 저장소를 자동으로 식별합니다. 소스 저장소를 식별하는 방법은 생태계에 따라 다릅니다. 다양한 패키지 유형에 대해 소스 저장소가 식별되고 크롤링되는 방법에 대한 자세한 내용은 vex-crawler 문서를 참조하세요.

VEX 문서 검색

소스 코드 저장소를 식별한 후 VEX Hub는 해당 저장소에서 VEX 문서를 자동으로 검색합니다. 검색 프로세스에는 다음과 같은 핵심 사항이 포함됩니다.

  • VEX 문서는 저장소 루트의 .vex/ 디렉토리에서 검색됩니다.
  • 지원되는 VEX 형식은 OpenVEX 및 CSAF입니다.
  • 특정 패턴(예: *.vex.json, *.csaf.json)과 일치하는 파일 이름이 고려됩니다.
  • VEX 문서의 제품 및 하위 구성 요소에는 PURL이 사용되어야 합니다.
  • 등록된 PURL과 일치하지 않는 VEX 문서는 무시됩니다.

검색 프로세스, 지원되는 생태계 및 특정 요구 사항에 대한 자세한 내용은 vex-crawler 문서를 참조하세요.

디렉토리 구조

VEX Hub는 version, qualifiers 및 subpath를 제외한 Package URL(PURL)을 기반으로 구성됩니다. 구조는 다음 규칙을 따릅니다.

  1. 디렉토리 계층 구조는 PURL의 scheme, type, namespace(있는 경우) 및 name 구성 요소에서 파생됩니다. oci의 경우 repository_url qualifier가 대신 사용됩니다.
  2. version과 qualifiers는 디렉토리 구조에서 생략됩니다. 이러한 요소는 VEX 문서의 products 필드에 지정되어야 합니다.
  3. PURL 구성 요소의 특수 문자에는 URL 인코딩이 적용됩니다.

디렉토리 구조 형성 예:

  • pkg:npm/express → /npm/express/
  • pkg:golang/github.com/gorilla/mux → /golang/github.com/gorilla/mux/
  • pkg:maven/org.apache.xmlgraphics/batik-anim → /maven/org.apache.xmlgraphics/batik-anim/
  • pkg:oci/trivy?repository_url=ghcr.io/aquasecurity/trivy → /oci/ghcr.io/aquasecurity/trivy/

특수 문자 인코딩 예:

  • pkg:npm/@angular/core → /npm/%40angular/core/

배포

VEX Hub는 VEX Repository Specification을 준수합니다. vex_repository.json 및 index.json 파일을 사용하여 VEX Hub의 VEX 문서에 프로그래밍 방식으로 접근할 수 있습니다.

PURL당 여러 VEX 문서

VEX Hub는 소스 저장소에서 일치하는 모든 VEX 문서를 복사하므로 단일 PURL에 대해 여러 VEX 문서를 저장할 수 있습니다. 그러나 VEX Repository Specification은 PURL당 하나의 VEX 문서만 허용합니다. 이 사양을 준수하기 위해 VEX Hub는 다음과 같은 배포 전략을 구현합니다.

  • 단일 PURL에 대해 여러 VEX 파일이 존재하는 경우 VEX Hub는 사전식 순서로 첫 번째 파일을 선택합니다.
  • 선택된 파일을 배포를 위해 index.json에 기록합니다.

VEX Hub용 VEX 문서 작성

VEX Hub는 PURL당 하나의 VEX 파일만 배포하므로, 동일한 PURL에 대한 VEX 문을 여러 파일로 분할하는 것은 혼란을 방지하고 일관성을 보장하기 위해 권장되지 않습니다.

권장되는 방법은 다음과 같습니다.

  1. 소스 저장소에서 관리하는 모든 제품에 대한 VEX 문을 단일 파일로 통합합니다.
  2. VEX 문서를 PURL별로 분할합니다.

예시 시나리오: Go 모듈과 OCI 이미지라는 두 제품을 유지 관리하는 소스 저장소 https://github.com/org/repo를 고려해 보세요.

첫 번째 방법은 두 제품 모두에 대한 VEX 문이 포함된 단일 VEX 파일 vex.json을 만드는 것입니다.

  • openvex.json: PURL pkg:golang/github.com/org/repo, pkg:oci/repo?repository_url=docker.io/org/repo 및 pkg:oci/repo?repository_url=ghcr.io/org/repo를 가진 두 제품 모두에 대한 파일

두 번째 방법은 각 제품에 대해 별도의 VEX 파일을 만드는 것입니다.

  • golang.vex: PURL pkg:golang/github.com/org/repo를 가진 Go 모듈용
  • oci.vex: PURL pkg:oci/repo?repository_url=docker.io/org/repo 및 pkg:oci/repo?repository_url=ghcr.io/org/repo를 가진 OCI 이미지용

다음 구조는 권장되지 않습니다.

  • v1.vex: PURL pkg:golang/github.com/org/[email protected]을 가진 Go 모듈용
  • v2.vex: PURL pkg:golang/github.com/org/[email protected]을 가진 Go 모듈용

이 예에서 v1.vex가 배포용으로 선택되고 v2.vex는 무시됩니다. 두 파일은 여러 버전과 qualifiers가 포함된 단일 VEX 파일 golang.vex로 결합되어야 합니다.

VEX HUB 신뢰 모델

VEX Hub(그리고 일반적으로 VEX)는 잠재적으로 보안 검사 결과를 보강할 수 있으므로, 소비하는 VEX 문서의 정확성을 면밀히 검토하는 것이 타당합니다. 다른 취약점 교환 피드나 VEX 지원 보안 권고 피드와 달리, VEX Hub는 VEX 문의 데이터 소스가 아닙니다. VEX Hub는 기존 VEX 문서를 집계하여 중앙의 편리한 저장소로 정리할 뿐입니다.

VEX Hub에 표시되려면 VEX 문서가 먼저 기본 패키지의 소스 코드 저장소에 커밋되어야 합니다. 이 접근 방식은 사용자가 이미 사용 중인 패키지와, 따라서 유지 관리자, 거버넌스 및 그들이 사용하는 프로세스를 신뢰해야 한다는 사실에 기반합니다. 각 프로젝트에는 자체 거버넌스 시스템과 소스 코드 저장소에 커밋하는 자체 프로세스가 있습니다. 패키지 코드를 사용자의 눈에 신뢰할 수 있게 유지하는 시스템과 프로세스는 VEX 문서를 신뢰할 수 있게 유지하는 것과 동일한 시스템과 프로세스입니다. VEX Hub를 사용자가 선택한 패키지보다 더 신뢰해서는 안 됩니다.

VEX Hub는 보유한 VEX 문서 또는 해당 문서가 설명하는 패키지의 내용에 대해 어떠한 책임이나 지식도 없습니다. VEX Hub 유지 관리자는 VEX 문서의 내용을 검토하거나 검증하지 않으며, 정보의 정확성과 올바름에 대한 책임은 원본 패키지 유지 관리자에게 있습니다. 사용자는 다른 취약점을 분류할 때와 마찬가지로 억제된 취약점을 수동으로 분류할 것을 권장합니다.

문제 해결

등록된 PURL의 소스 저장소에 있는 VEX 문서가 VEX Hub에서 제대로 업데이트되지 않는 경우 다음 사항을 확인하세요.

  1. VEX 문서가 올바른 위치(저장소 루트의 .vex/ 디렉토리)에 있는지 확인합니다.
  2. VEX 문서가 지원되는 파일 명명 규칙 중 하나를 사용하는지 확인합니다.
  3. VEX 문서의 PURL이 VEX Hub에 등록된 PURL과 일치하는지 확인합니다.
  4. vexhub-crawler 문서를 검토하여 크롤링을 위한 모든 사양이 충족되는지 확인합니다.

이러한 사항을 확인한 후에도 문제가 지속되면 추가 지원을 위해 VEX Hub 저장소에 이슈를 열어 주세요.

기여

VEX Hub 개선을 위한 기여를 환영합니다! 패키지 목록 및 관련 코드는 VEX Hub 크롤러 저장소에서 유지 관리됩니다. 이 저장소에 VEX 문서를 직접 추가하는 Pull Request는 권장되지 않습니다. 이 프로젝트와 참여하는 모든 사람은 Aqua Security Code of Conduct를 따릅니다.

도구 다운로드