View a markdown version of this page

O que é um URL de pacote? - Amazon Inspector

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O que é um URL de pacote?

Um URL de pacote ou PURL é um formato padronizado usado para identificar pacotes de software, componentes e bibliotecas em diferentes sistemas de gerenciamento de pacotes. O formato facilita o rastreamento, a análise e o gerenciamento de dependências em projetos de software, principalmente ao gerar uma lista de materiais de software (SBOMs).

Estrutura do PURL

A estrutura do PURL é semelhante a um URL e possui vários componentes:

  • pkg: o prefixo literal

  • type: o tipo de embalagem

  • namespace: o agrupamento

  • name: o nome do pacote

  • version: a versão do pacote

  • qualifiers: pares de chave-valor extras

  • subpath: o caminho do arquivo no pacote

Exemplo de PURL

Veja a seguir um exemplo de como pode ser um PURL.

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

O PURL genérico

Um PURL genérico é usado para representar pacotes e componentes de software que não se encaixam em ecossistemas de pacotes estabelecidos, como npm, pypi ou maven. Ele identifica componentes de software e captura metadados que podem não estar alinhados com sistemas específicos de gerenciamento de pacotes. Um PURL genérico é útil para uma variedade de projetos de software, desde binários compilados até plataformas, como e Apache e WordPress. Isso permite que ela seja aplicado em uma ampla variedade de casos de uso, incluindo binários compilados, plataformas da web e distribuições de software personalizadas.

Casos de uso principais

  • É compatível com binários compilados e é útil para Go e Rust

  • É compatível com plataformas da web, como Apache e WordPress, em que um pacote pode não estar associado aos gerenciadores de pacotes tradicionais.

  • É compatível com o software legado personalizado, permitindo que as organizações façam referência a softwares desenvolvidos internamente ou sistemas sem pacotes formais.

Exemplo de formato

Veja a seguir um exemplo de um formato PURL genérico.

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

Exemplos adicionais do formato PURL genérico

Veja a seguir exemplos adicionais do formato PURL genérico.

Binário compilado em Go

O seguinte representa o inspector-sbomgen binary compilado com um Go.

pkg:generic/inspector-sbomgen?go_toolchain=1.22.5
Binário compilado em Rust

O seguinte representa o binário myrustapp compilado com Rust.

pkg:generic/myrustapp?rust_toolchain=1.71.0
Apache projeto da

O seguinte se refere a um projeto http no namespace Apache.

pkg:generic/apache/httpd@1.0.0
Software do WordPress

O seguinte se refere a um software de núcleo do WordPress.

pkg:generic/wordpress/core/wordpress@6.0.0
Tema do WordPress

O seguinte se refere a um tema personalizado do WordPress.

pkg:generic/wordpress/theme/mytheme@1.0.0
Plug-in do WordPress

O seguinte se refere a um plug-in personalizado do WordPress.

pkg:generic/wordpress/plugin/myplugin@1.0.0