Sobre o projeto

purlvalidator é uma biblioteca Go licenciada sob Apache-2.0 que valida Package-URLs (PURLs). Ela opera totalmente offline, tornando-a adequada para ambientes air-gapped ou restritos, e verifica se o pacote representado por um PURL realmente existe. A biblioteca é fornecida com um Finite State Transducer (FST) pré-construído contendo Package-URLs conhecidos minerados pelo MineCode. Ela utiliza este FST para realizar buscas e confirmar se um PURL base (um PURL sem versão, qualificadores ou subcaminho) existe. Os ecossistemas suportados atualmente incluem apk, cargo, composer, conan, cpan, cran, debian, maven, npm, nuget, pypi e swift. A função Validate retorna true quando o PURL base existe nos dados empacotados, false quando é sintaticamente válido, mas desconhecido, e um erro quando a entrada não é um PURL válido ou contém versão, qualificadores ou subcaminho. Uma versão de patch é publicada diariamente com o FST mais recente gerado a partir de URLs de pacotes recém-minerados. O projeto inclui alvos make para construir o FST, executar testes e realizar linting.