프로젝트 소개

purlvalidator는 Package-URL(PURL)을 검증하는 Apache-2.0 라이선스의 Go 라이브러리입니다. 이 라이브러리는 완전히 오프라인으로 작동하여 에어갭 또는 제한된 환경에 적합하며, PURL이 나타내는 패키지가 실제로 존재하는지 확인합니다. 이 라이브러리는 MineCode가 수집한 알려진 Package-URL이 포함된 사전 구축된 Finite State Transducer(FST)와 함께 제공됩니다. 이 FST를 사용하여 조회를 수행하고 기본 PURL(버전, 한정자 또는 하위 경로가 없는 PURL)의 존재 여부를 확인합니다. 현재 지원되는 생태계에는 apk, cargo, composer, conan, cpan, cran, debian, maven, npm, nuget, pypi 및 swift가 포함됩니다. Validate 함수는 기본 PURL이 패키지 데이터에 존재하면 true를, 구문적으로는 유효하지만 알려지지 않은 경우 false를 반환하며, 입력값이 유효한 PURL이 아니거나 버전, 한정자 또는 하위 경로가 포함된 경우에는 에러를 반환합니다. 새로 수집된 패키지 URL로 생성된 최신 FST가 포함된 패치 릴리스가 매일 게시됩니다. 이 프로젝트에는 FST 빌드, 테스트 실행 및 린팅을 위한 make 타겟이 포함되어 있습니다.