View a markdown version of this page

패키지 URL이란? - Amazon Inspector –

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

패키지 URL이란?

패키지 URL 또는 PURL은 다양한 패키지 관리 시스템에서 소프트웨어 패키지, 구성 요소 및 라이브러리를 식별하는 데 사용되는 표준화된 형식입니다. 이 형식을 사용하면 소프트웨어 프로젝트에서 종속성을 추적, 분석 및 관리하기가 더 쉬워지며, 특히 소프트웨어 재료표(SBOM)를 생성할 때 유용합니다.

PURL 구조

PURL 구조는 URL과 유사하며 여러 구성 요소로 구성됩니다.

  • pkg - 리터럴 접두사

  • type - 패키지 유형

  • namespace - 그룹화

  • name - 패키지 이름

  • version - 패키지 버전

  • qualifiers - 추가 키-값 페어

  • subpath - 패키지의 파일 경로

예제 PURL

다음은 PURL이 어떻게 표시되는지 보여주는 예시입니다.

pkg:<type>/<namespace>/<name>@<version>?<qualifiers>#<subpath>

일반 PURL

일반 PURL은 npm, pypi 또는 maven과 같이 설정된 패키지 에코시스템에 맞지 않는 소프트웨어 패키지 및 구성 요소를 나타내는 데 사용됩니다. 소프트웨어 구성 요소를 식별하고 특정 패키지 관리 시스템과 일치하지 않을 수 있는 메타데이터를 캡처합니다. 일반 PURL은 컴파일된 바이너리부터 Apache 및 WordPress와 같은 플랫폼에 이르기까지 다양한 소프트웨어 프로젝트에 유용합니다. 이를 통해 컴파일된 바이너리, 웹 플랫폼, 사용자 지정 소프트웨어 배포 등 다양한 사용 사례에 적용할 수 있습니다.

주요 사용 사례

  • 컴파일된 바이너리를 지원하며 Go 및 Rust에 유용합니다.

  • 패키지가 기존 패키지 관리자와 연결되지 않을 수 있는 Apache 및 WordPress와 같은 웹 플랫폼을 지원합니다.

  • 조직이 내부적으로 개발된 소프트웨어 또는 공식 패키지가 없는 시스템을 참조할 수 있도록 하여 사용자 지정 레거시 소프트웨어를 지원합니다.

예제 형식

다음은 일반 PURL 형식의 예제입니다.

pkg:generic/<namespace>/<name>@<version>?<qualifiers>

일반 PURL 형식의 추가 예제

다음은 일반 PURL 형식의 추가 예제입니다.

컴파일된 Go 바이너리

다음은 Go로 컴파일된 inspector-sbomgen binary를 나타냅니다.

pkg:generic/inspector-sbomgen?go_toolchain=1.22.5
컴파일된 Rust 바이너리

다음은 Rust로 컴파일된 myrustapp 바이너리를 나타냅니다.

pkg:generic/myrustapp?rust_toolchain=1.71.0
Apache 프로젝트

다음은 Apache 네임스페이스 아래의 http 프로젝트를 나타냅니다.

pkg:generic/apache/httpd@1.0.0
WordPress 소프트웨어

다음은 코어 WordPress 소프트웨어를 나타냅니다.

pkg:generic/wordpress/core/wordpress@6.0.0
WordPress 테마

다음은 사용자 지정 WordPress 테마를 나타냅니다.

pkg:generic/wordpress/theme/mytheme@1.0.0
WordPress 플러그인

다음은 사용자 지정 WordPress 플러그인을 나타냅니다.

pkg:generic/wordpress/plugin/myplugin@1.0.0